Как протестировать стендовые сигналы VHDL и показать их в GTKWAVE?

Я эмулировать этот VHDL код , используя GHDL в терминал, никаких ошибок не произошло, но когда я импортировал .vcd файл в GTKWAVE сигнал не появлялся.

СКРИНШОТ GTKWAVE

Код проектирования:

      Library ieee; Use ieee.std_logic_1164.all;
Use ieee.numeric_std.all;

entity EXO is
port (CLK, EN: in bit; SORTIE: out bit);
end entity;

architecture EXXO of EXO is

signal compt : integer range 0 to 7 ;
signal etat : bit;

begin

    process (CLK)
    begin
        if CLK'event and CLK = '1' then
            if EN = '1' then
                compt <= compt + 1;
                case etat is
                    when '0' => if compt = 3 then compt <= 0; SORTIE <= '1'; etat <= '1'; end if;
                    when '1' => if compt = 2 then compt <= 0; SORTIE <= '0'; etat <= '0'; end if;
                end case;
            end if;
        end if;
    end process;

end architecture;

РЕДАКТИРОВАТЬ: Я новичок в VHDL, поэтому, пожалуйста, терпите меня.

Я должен заполнить эту хронограмму . Приведен расчетный код. Я попытался создать для него тестовый стенд , и вот результат: GTKWAVE Screenshot 2 Что, очевидно, является полным провалом (не удалось показать compt, etat, SORTIE).

Испытательный стенд:

      Library ieee; Use ieee.std_logic_1164.all;
Use ieee.numeric_std.all;

entity EXOtb is
end entity;

architecture EXXOtb of EXOtb is
    component EXO
    port (CLK, EN: in bit; SORTIE: out bit);
    end component;
    signal CLKtb, ENtb: bit;
    signal SORTIEtb: bit;


begin
    DUT: EXO port map (CLK => CLKtb, EN => ENtb, SORTIE => SORTIEtb ); 
    STIMULUS: process 
    
    begin
    CLKtb <= '0'; ENtb <= '0'; wait for 10 ns; 
    CLKtb <= '0'; ENtb <= '1'; wait for 10 ns; 
    CLKtb <= '1'; ENtb <= '1'; wait for 10 ns; 
    CLKtb <= '1'; ENtb <= '1'; wait for 10 ns; 


    assert false report "Reached End of test";
    wait;
    end process;

end architecture;

0 ответов

Другие вопросы по тегам