_alex__ 0 13 марта, 2017 Опубликовано 13 марта, 2017 · Жалоба Имеется комбинационное устройство: entity New1 is port( x1,x2,x3,x4,x5 : in bit; y1,y10,y11,y12,y13,y14,y15,y16,y17,y18,y19,y2,y20,y21,y22,y23,y24,y25,y26,y 27,y28,y29,y3,y30,y31,y32,y4,y5,y6,y7,y8,y9 : out bit ); end New1; architecture New1_functional of New1 is begin y1 <= x1 and x2 and x3 and x4 and x5; y10 <= (not x1) and x2 and x3 and x4 and (not x5); y11 <= (not x1) and x2 and x3 and (not x4) and x5; y12 <= x1 and x2 and x3 and x4 and (not x5); y13 <= (not x1) and x2 and x3 and (not x4) and (not x5); y14 <= (not x1) and x2 and (not x3) and x4 and x5; y15 <= (not x1) and x2 and (not x3) and x4 and (not x5); y16 <= (not x1) and x2 and (not x3) and (not x4) and x5; y17 <= (not x1) and x2 and (not x3) and (not x4) and (not x5); y18 <= (not x1) and (not x2) and x3 and x4 and x5; y19 <= (not x1) and (not x2) and x3 and x4 and (not x5); y2 <= x1 and (not x2) and x3 and x4 and (not x5); y20 <= (not x1) and (not x2) and x3 and (not x4) and x5; y21 <= (not x1) and (not x2) and x3 and (not x4) and (not x5); y22 <= (not x1) and (not x2) and (not x3) and x4 and x5; y23 <= x1 and x2 and x3 and (not x4) and x5; y24 <= (not x1) and (not x2) and (not x3) and x4 and (not x5); y25 <= (not x1) and (not x2) and (not x3) and (not x4) and x5; y26 <= (not x1) and (not x2) and (not x3) and (not x4) and (not x5); y27 <= x1 and x2 and x3 and (not x4) and (not x5); y28 <= x1 and x2 and (not x3) and x4 and x5; y29 <= x1 and x2 and (not x3) and x4 and (not x5); y3 <= x1 and (not x2) and x3 and (not x4) and x5; y30 <= x1 and x2 and (not x3) and (not x4) and x5; y31 <= x1 and x2 and (not x3) and (not x4) and (not x5); y32 <= x1 and (not x2) and x3 and x4 and x5; y4 <= x1 and (not x2) and x3 and (not x4) and (not x5); y5 <= x1 and (not x2) and (not x3) and x4 and x5; y6 <= x1 and (not x2) and (not x3) and x4 and (not x5); y7 <= x1 and (not x2) and (not x3) and (not x4) and x5; y8 <= x1 and (not x2) and (not x3) and (not x4) and (not x5); y9 <= (not x1) and x2 and x3 and x4 and x5; end New1_functional; Как в Modelsim от Mentor вывести таблицу истинности для всех возможных значений на входе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tausinov 0 13 марта, 2017 Опубликовано 13 марта, 2017 · Жалоба Имеется комбинационное устройство. Как в Modelsim от Mentor вывести таблицу истинности для всех возможных значений на входе? Либо подать на вход счетчик, потом ловить выход, либо создать тестовый файл, содержащий полный набор входных значений. В последнем случае можно туда же добавить ожидаемый отклик и сравнивать результаты - будет подобие автоматического тестирования. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_alex__ 0 18 марта, 2017 Опубликовано 18 марта, 2017 · Жалоба а тестовый файл здесь задается? тестовый файл тоже на vhdl нужно писать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hsoft 0 18 марта, 2017 Опубликовано 18 марта, 2017 (изменено) · Жалоба Тестовый файл это обычный текстовый файл состоящий из строк вида 1111 0101 1010 И так далее, затем функциями Modelsim затаскиваете его в дизайн и подаете на вход DUT. Почитайте как вектора вытащить из файла и подать на вход тестируемого устройства, руководств валом... Изменено 18 марта, 2017 пользователем hsoft Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_alex__ 0 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба Тестовый файл это обычный текстовый файл состоящий из строк вида 1111 0101 1010 И так далее, затем функциями Modelsim затаскиваете его в дизайн и подаете на вход DUT. Почитайте как вектора вытащить из файла и подать на вход тестируемого устройства, руководств валом... я правильно понимаю, что в самом файле с вышеуказанным vhdl кодом это все задается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 21 марта, 2017 Опубликовано 21 марта, 2017 · Жалоба вам надо сделать файл верхнего уровня в него воткнуть ваш модуль New1 к нему подключить провода X и Y, создать файл со всеми вариантам входов, в файле верхнего уровня этот файл прочесть и на входы подать, информацию с выходов снять и в файл сохранить. можно полный перебор вариантов сделать просто тупо счетчиком, тогда входной файл не нужен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_alex__ 0 25 марта, 2017 Опубликовано 25 марта, 2017 (изменено) · Жалоба пытался повторить вот это: http://we.easyelectronics.ru/plis/modelsim...ego-nachat.html не получается. vhdl файлы скомпилировались. симуляция не работает. ошибку выдает error loading design. Объесните как в этой программе сделать это: вам надо сделать файл верхнего уровня в него воткнуть ваш модуль New1 у меня по всей видимости модуль верхнего уровня не видит модуль нижнего уровня. Изменено 26 марта, 2017 пользователем _alex__ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 25 марта, 2017 Опубликовано 25 марта, 2017 · Жалоба уже неделю разобраться не могу. library IEEE; use IEEE.STD_LOGIC_1164.ALL; --use IEEE.STD_LOGIC_ARITH.ALL; --use IEEE.STD_LOGIC_UNSIGNED.ALL; use ieee.numeric_std.all; entity New1 is port( CLK : in std_logic; y1,y10,y11,y12,y13,y14,y15,y16,y17,y18,y19,y2,y20,y21,y22,y23,y24,y25,y26 : out std_logic; y27,y28,y29,y3,y30,y31,y32,y4,y5,y6,y7,y8,y9 : out std_logic ); end New1; architecture New1_functional of New1 is signal x : std_logic_vector(4 downto 0) := "00000"; signal x1,x2,x3,x4,x5 : std_logic; begin y1 <= x1 and x2 and x3 and x4 and x5; y10 <= (not x1) and x2 and x3 and x4 and (not x5); y11 <= (not x1) and x2 and x3 and (not x4) and x5; y12 <= x1 and x2 and x3 and x4 and (not x5); y13 <= (not x1) and x2 and x3 and (not x4) and (not x5); y14 <= (not x1) and x2 and (not x3) and x4 and x5; y15 <= (not x1) and x2 and (not x3) and x4 and (not x5); y16 <= (not x1) and x2 and (not x3) and (not x4) and x5; y17 <= (not x1) and x2 and (not x3) and (not x4) and (not x5); y18 <= (not x1) and (not x2) and x3 and x4 and x5; y19 <= (not x1) and (not x2) and x3 and x4 and (not x5); y2 <= x1 and (not x2) and x3 and x4 and (not x5); y20 <= (not x1) and (not x2) and x3 and (not x4) and x5; y21 <= (not x1) and (not x2) and x3 and (not x4) and (not x5); y22 <= (not x1) and (not x2) and (not x3) and x4 and x5; y23 <= x1 and x2 and x3 and (not x4) and x5; y24 <= (not x1) and (not x2) and (not x3) and x4 and (not x5); y25 <= (not x1) and (not x2) and (not x3) and (not x4) and x5; y26 <= (not x1) and (not x2) and (not x3) and (not x4) and (not x5); y27 <= x1 and x2 and x3 and (not x4) and (not x5); y28 <= x1 and x2 and (not x3) and x4 and x5; y29 <= x1 and x2 and (not x3) and x4 and (not x5); y3 <= x1 and (not x2) and x3 and (not x4) and x5; y30 <= x1 and x2 and (not x3) and (not x4) and x5; y31 <= x1 and x2 and (not x3) and (not x4) and (not x5); y32 <= x1 and (not x2) and x3 and x4 and x5; y4 <= x1 and (not x2) and x3 and (not x4) and (not x5); y5 <= x1 and (not x2) and (not x3) and x4 and x5; y6 <= x1 and (not x2) and (not x3) and x4 and (not x5); y7 <= x1 and (not x2) and (not x3) and (not x4) and x5; y8 <= x1 and (not x2) and (not x3) and (not x4) and (not x5); y9 <= (not x1) and x2 and x3 and x4 and x5; process (clk) begin if (CLK'event and CLK ='1') then x <= x+ "00001"; end if; end process; x1 <= x(0); x2 <= x(1); x3 <= x(2); x4 <= x(3); x5 <= x(4); end New1_functional; в моделсиме просто задайте тактовую частоту, для CLK Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_alex__ 0 26 марта, 2017 Опубликовано 26 марта, 2017 · Жалоба получилось таки с помощью счетчика вывести значения выходов в wave. а как вывести значения выходов в файл в виде списка двоичных чисел? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться