Когда мне следует использовать std_logic_vector, а когда следует использовать другие типы данных?

Я новичок в VHDL, и у меня возникли проблемы с определением, какие типы данных подходят для использования и где. Если я правильно понимаю, для синтеза все порты сущностей верхнего уровня должны быть объявлены либо std_logic_vector, либо std_logic, и никогда какой-либо другой тип.

Но std_logic_vector не делает ' t поддерживает арифметику, как мне с этим справиться?

Моя интуиция подсказывает мне, что я должен просто использовать std_logic_vector на верхнем уровне, а затем преобразовать его в интегральные типы данных и обратно при передаче его другим объектам. Это правильно?

И какой интегральный тип данных (целочисленный, беззнаковый, знаковый) и где следует использовать? Я понимаю разницу между подписанным и неподписанным, но когда мне следует использовать целое число?

14
задан Emil Eriksson 27 May 2011 в 17:23
поделиться