aleshanoff 0 25 июня, 2016 Опубликовано 25 июня, 2016 · Жалоба Здравствуйте. Подскажите, пожалуйста, есть ли на VHDL автоматические конструкции присвоения значений выводам шины или необходимо прописывать каждый вывод отдельно? Например. Энному выводу присваиваем '0', а остальным '1'. read_fifo(n) <= '0'; read_fifo(not n) <='1'; Или всем выводам присвоить единицы, но ширина шины - это изменяемый параметр. например read_fifo <= "11111111"; Нужно чтобы количество единиц зависело от ширины шины и автоматически изменялось при изменении параметра. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_su 1 25 июня, 2016 Опубликовано 25 июня, 2016 (изменено) · Жалоба Добрый день. read_fifo <= (others => '0'); read_fifo <= (others => '1'); Изменено 25 июня, 2016 пользователем Herz Избыточное цитирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aleshanoff 0 25 июня, 2016 Опубликовано 25 июня, 2016 · Жалоба спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 25 июня, 2016 Опубликовано 25 июня, 2016 · Жалоба read_fifo <= (others => '0'); read_fifo <= (others => '1'); Энному выводу присваиваем '0', а остальным '1' = ((все "1") AND ("0" )) сдвинутые на "n" позиций циклически) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 25 июня, 2016 Опубликовано 25 июня, 2016 · Жалоба Здравствуйте. Подскажите, пожалуйста, есть ли на VHDL автоматические конструкции присвоения значений выводам шины или необходимо прописывать каждый вывод отдельно? Например. Энному выводу присваиваем '0', а остальным '1'. read_fifo(n) <= '0'; read_fifo(not n) <='1'; Если n -- константа, то read_fifo <= (n = > '0', others => '1'); Если n -- изменяется во времени, то через целое. 1 в n-ом разряде -- это 2**n. read_fifo <= std_logic_vector (to_unsigned (2 ** n, read_fifo'length)); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Александр77 1 25 июня, 2016 Опубликовано 25 июня, 2016 · Жалоба Нужно чтобы количество единиц зависело от ширины шины и автоматически изменялось при изменении параметра. Пишу так, предварительно объявив параметр именем dwidth. ieee.numeric_std.all; Entity device is generic( dwidth:natural:=16 ); port( ... dout:out std_logic_vector(dwidth-1 downto 0) ); end entity; ... dout<=std_logic_vector(to_signed(-1,dwidth)); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться