Не знаю, как написать тестовый стенд VHDL(GHDL) для GTKWave

#vhdl #test-bench #ghdl #gtkwave

Вопрос:

Я пытаюсь запустить следующий код на GTKWave через командную строку (используя ghdl, написанный на VHDL). Я не понимаю, как я должен написать тестовый стенд (приведенный ниже код), чтобы я мог видеть все сигналы и переменные для простого кода.

 LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY q2 IS
    PORT( clk, a : IN STD_LOGIC;
        b,c,d,e : OUT STD_LOGIC);
END q2;

ARCHITECTURE logic OF q2 IS
    SIGNAL f : STD_LOGIC;
BEGIN
    PROCESS(clk,a,f)
        VARIABLE g : STD_LOGIC;
    BEGIN
        IF rising_edge(clk) THEN
            b<=a;
            f<=a;
            e<=f;
            c<=g;
            g:=a;
        END IF;
        
        d<=f;
    END PROCESS;
END ARCHITECTURE logic;
 

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

 LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

ENTITY tut2q6_sim is
END ENTITY tut2q6_sim;

ARCHITECTURE sim OF tut2q6_sim IS

    SIGNAL clks,as,bs,cs,ds,es : STD_LOGIC;

BEGIN

    tut2q6_0: entity work.tut2q6
    port map(
        clk => clks,
        a => as,
        b => bs,
        c => cs,
        d => ds,
        e => es
    );
    
    PROCESS
    BEGIN
        clks <= '0';
        wait for 1 ns;
        clks <= '1';
        wait for 1 ns;
    END PROCESS;
    
END ARCHITECTURE sim;
 

Пожалуйста, не могли бы вы сообщить мне, где я ошибся или что мне нужно добавить, чтобы наблюдать за изменениями сигналов и переменных в GTKWave,
Заранее благодарю вас!