_alex__ 0 14 марта, 2017 Опубликовано 14 марта, 2017 · Жалоба Имеется устройство с таким vhdl кодом: 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; Нужно проверить таблицу истинности для всех возможных значений на входе. Помогите написать vhdl тестовый файл, содержащий полный набор входных значений и вывода значений выходов таблицы истинности в stdout. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 15 марта, 2017 Опубликовано 15 марта, 2017 · Жалоба Имеется устройство с таким vhdl кодом: подайте на вход 5 битный счетчик, результаты запишите в файл, далее матлабом или ПО проверяете результат работы.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_alex__ 0 25 марта, 2017 Опубликовано 25 марта, 2017 · Жалоба подайте на вход 5 битный счетчик, результаты запишите в файл, далее матлабом или ПО проверяете результат работы.. помогите написать код для подачи на мое устройство кода с двоичного 5-разрядного счетчика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Александр77 1 26 марта, 2017 Опубликовано 26 марта, 2017 · Жалоба Как-то так library ieee; use ieee.std_logic_1164.all; use ieee.numeric_std.all; entity New1_test port( y1,y10,y11,y12,y13,y14,y15,y16,y17,y18,y19,y2,y20,y21,y22,y23,y24,y25,y26,y27,y2 8,y29,y3,y30,y31,y32,y4,y5,y6,y7,y8,y9 : out std_logic ); end entity; architecture tst of New1_test is component New1 is port( x1,x2,x3,x4,x5 : in std_logic; 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 std_logic ); end component; signal x1,x2,x3,x4,x5 : std_logic:='0'; begin D1:New1 port map( x1, x2, x3, x4, x5, y1, y10, y11, y12, y13, y14, y15, y16, y17, y18, y19, y2, y20, y21, y22, y23, y24, y25, y26, y27, y28, y29, y3, y30, y31, y32, y4, y5, y6, y7, y8, y9 ); count:process variable cnt_v:unsiged(4 downto 0):=to_unsigned(0,5); constant step_c:unsigned(4 downto 0):=to_unsigned(1,5); begin wait for 100 ns; x5<=std_logic(cnt_v(4)); x4<=std_logic(cnt_v(3)); x3<=std_logic(cnt_v(2)); x2<=std_logic(cnt_v(1)); x1<=std_logic(cnt_v(0)); wait for 100 ns; cnt_v:=cnt_v+step_v; end tst; А еще с целью уменьшения в последующем строк и назначений, можно в самом проекте изначально объявлять сигналы векторами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться