Descrição de uma tabela verdade para circuitos combinacionais no testbench Preparação
-- constant <clock>_period : time := 10 ns; -- Clock process definitions -- <clock>_process :process -- begin -- <clock> <= '0'; -- wait for <clock>_period/2; -- <clock> <= '1'; -- wait for <clock>_period/2; -- end process; -- wait for <clock>_period*10;
-- Stimulus process -- stim_proc: process -- begin -- -- hold reset state for 100 ns. -- wait for 100 ns; -- -- wait for <clock>_period*10; -- -- -- insert stimulus here -- -- wait; -- end process; Construção usando Wait em um Process
tabela_proc: process begin ENT_A <= '0'; ENT_B <= '0'; wait for 100 ns; ENT_A <= '0'; ENT_B <= '1'; wait for 100 ns; ENT_A <= '1'; ENT_B <= '0'; wait for 100 ns; ENT_A <= '1'; ENT_B <= '1'; wait for 100 ns; end process;
tabela_A_proc: process begin ENT_A <= '0'; wait for 100 ns; ENT_A <= '0'; wait for 100 ns; ENT_A <= '1'; wait for 100 ns; ENT_A <= '1'; wait for 100 ns; end process;
tabela_B_proc: process begin ENT_B <= '0'; wait for 50 ns; ENT_B <= '1'; wait for 150 ns; ENT_B <= '0'; wait for 50 ns; ENT_B <= '1'; wait for 150 ns; end process;
Construção usando After Apague os processos dos exemplos anteriores e insira os seguintes estímulos: ENT_A <= ‘0’, ‘1’ after 100 ns, ‘0’ after 200 ns, ‘1’ after 300 ns; ENT_B <= ‘0’, ‘0’ after 100 ns, ‘1’ after 200 ns, ‘1’ after 300 ns; -- a repetição dos estados é apenas para facilitar a visualização da sequência. Varie os tempos e observe o que ocorre! Lembrete:
|
Aulas > Sistemas Digitais >