Цитата(Jenya7 @ Sep 25 2018, 11:02)
поэтому если Вы запишите sig <= X"003"; строгий VHDL Вас поправит. то же самое может быть с любой записью. любой С компайлер контролирует типы данных.
Ну Вы сами и ответили
В случае если:
Код
signal sig : std_logic_vector(7 downto 0);
То действительно выражение sig <= X"003" выдаст ошибу, ибо вы "впихиваете невпихуемое"
Примерно то же и с sig <= 3. Ибо сколько разрядов у Вас - знаете только Вы.
Напишите вот так:
Код
sig <= std_logic_vector(to_unsigned(3,8));
Т.е явно укажите разрядность при конвертации типа стандартными библиотеками - то VHDL вас поймет.