Господа, столкнулся с некоторым неудобством при работе с "безразличными" значениями.
В VHDL есть так называемые безразличные значения, которые дают подсказку синтезатору, что нам все-равно какое значение у сигнала, что позволяет более корректно описать поведение схемы, и дает больше свободы для синтезатора, например:
Код
...
constant dont_care : std_logic_vector(31 downto 0) := (others => '-');
signal a : std_logic;
signal b : std_logic_vector(31 downto 0);
signal c : natural range 0 to 511;
...
a <= '-'; -- Присваиваем сигналу а безразличное значение.
b <= (others => '-'); -- Присваиваем вектору b безразличное значение.
c <= to_integer(unsigned(dont_care)); -- Присваиваем числу c безразличное значение.
...
Но неудобство возникает, когда есть сигнал типа integer/natural.
Т.к для того, чтобы ему присвоить безразличное значение приходится объявлять константу, содержащую безразличное значение. И через преобразования типов присваивать эту константу. Жить конечно можно. Но не очень удобно.
А по-другому никак не присвоить такое значение для типа integer. Во всяком случае у меня не получается...
Как можно по-другому присвоить безразличное значение для integer ?