--============================T_DUT_FSM_ANS2=========================
--===================================================================

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;

ENTITY testbench IS
END testbench;

ARCHITECTURE behavior OF testbench IS

    COMPONENT fsm_ans2
    PORT(
        DT:   IN  std_logic;
        RG:   IN  std_logic;
        EG:   IN  std_logic;
        EM:   IN  std_logic;
        CLK:  IN  std_logic;
        RST:  IN  std_logic;
        CN:   OUT std_logic;
        PL:   OUT std_logic;
        RD:   OUT std_logic
    );
    END COMPONENT;



SIGNAL DT_tb:  std_logic;
SIGNAL RG_tb:  std_logic;
SIGNAL EG_tb:  std_logic;
SIGNAL EM_tb:  std_logic;
SIGNAL CN_tb:  std_logic;
SIGNAL PL_tb:  std_logic;
SIGNAL RD_tb:  std_logic;
SIGNAL CLK_tb: std_logic;
SIGNAL RST_tb: std_logic;

BEGIN

    uut: fsm_ans2 PORT MAP(
    DT => DT_tb,
    RG => RG_tb,
    EG => EG_tb,
    EM => EM_tb,
    CN => CN_tb,
    PL => PL_tb,
    RD => RD_tb,
    CLK => CLK_tb,
    RST => RST_tb
);
 

Clock : PROCESS
BEGIN
    CLK_tb <= '0';
    wait for 20 ns;
    CLK_tb <= '1';
    wait for 20 ns;
    IF (NOW > 1600 ns) then
        wait;
    end if;
end process;


-- *** Test Bench - User Defined Section ***
tb : PROCESS
BEGIN
    RST_tb <= '1';
    wait for 50 ns;

    RST_tb <= '0';

    DT_tb <= '0';
    RG_tb <= '0';
    EG_tb <= '0';
    EM_tb <= '0';
    wait for 50 ns;
 

    DT_tb <= '0';
    RG_tb <= '0';
    EG_tb <= '0';
    EM_tb <= '1';
    wait for 50 ns;
   

    DT_tb <= '0';
    RG_tb <= '0';
    EG_tb <= '1';
    EM_tb <= '0';
    wait for 50 ns;
   

    DT_tb <= '0';
    RG_tb <= '0';
    EG_tb <= '1';
    EM_tb <= '1';
    wait for 50 ns;
   

        DT_tb <= '0';
        RG_tb <= '1';
        EG_tb <= '0';
        EM_tb <= '0';
        wait for 50 ns;
   

        DT_tb <= '0';
        RG_tb <= '1';
        EG_tb <= '0';
        EM_tb <= '1';
        wait for 50 ns;
   

        DT_tb <= '0';
        RG_tb <= '1';
        EG_tb <= '1';
        EM_tb <= '0';
        wait for 50 ns;
   

        DT_tb <= '0';
        RG_tb <= '1';
        EG_tb <= '1';
        EM_tb <= '1';
        wait for 50 ns;
 

        DT_tb <= '1';
        RG_tb <= '0';
        EG_tb <= '0';
        EM_tb <= '0';
        wait for 50 ns;
   

        DT_tb <= '1';
        RG_tb <= '0';
        EG_tb <= '0';
        EM_tb <= '1';
        wait for 50 ns;
   

        DT_tb <= '1';
        RG_tb <= '0';
        EG_tb <= '1';
        EM_tb <= '0';
        wait for 50 ns;
   

        DT_tb <= '1';
        RG_tb <= '0';
        EG_tb <= '1';
        EM_tb <= '1';
        wait for 50 ns;
       

        DT_tb <= '1';
        RG_tb <= '1';
        EG_tb <= '0';
        EM_tb <= '0';
        wait for 50 ns;


        DT_tb <= '1';
        RG_tb <= '1';
        EG_tb <= '0';
        EM_tb <= '1';
        wait for 50 ns;


        DT_tb <= '1';
        RG_tb <= '1';
        EG_tb <= '1';
        EM_tb <= '1';

        wait; -- will wait forever
     END PROCESS;
-- *** End Test Bench - User Defined Section ***

END;
 

Hosted by www.Geocities.ws

1