Я новичок в VHDL, и у меня возникли проблемы с определением, какие типы данных подходят для использования и где. Если я правильно понимаю, для синтеза все порты сущностей верхнего уровня должны быть объявлены либо std_logic_vector, либо std_logic, и никогда какой-либо другой тип.
Но std_logic_vector не делает ' t поддерживает арифметику, как мне с этим справиться?
Моя интуиция подсказывает мне, что я должен просто использовать std_logic_vector на верхнем уровне, а затем преобразовать его в интегральные типы данных и обратно при передаче его другим объектам. Это правильно?
И какой интегральный тип данных (целочисленный, беззнаковый, знаковый) и где следует использовать? Я понимаю разницу между подписанным и неподписанным, но когда мне следует использовать целое число?