fpga_labs

Log | Files | Refs | README | LICENSE

top_tb.vhd (2779B)


      1 ----------------------------------------------------------------------------------
      2 -- Company: 
      3 -- Engineer: 
      4 -- 
      5 -- Create Date: 21.09.2025 21:26:10
      6 -- Design Name: 
      7 -- Module Name: top_tb - Behavioral
      8 -- Project Name: 
      9 -- Target Devices: 
     10 -- Tool Versions: 
     11 -- Description: 
     12 -- 
     13 -- Dependencies: 
     14 -- 
     15 -- Revision:
     16 -- Revision 0.01 - File Created
     17 -- Additional Comments:
     18 -- 
     19 ----------------------------------------------------------------------------------
     20 
     21 
     22 library IEEE;
     23 use IEEE.STD_LOGIC_1164.ALL;
     24 
     25 -- Uncomment the following library declaration if using
     26 -- arithmetic functions with Signed or Unsigned values
     27 --use IEEE.NUMERIC_STD.ALL;
     28 
     29 -- Uncomment the following library declaration if instantiating
     30 -- any Xilinx leaf cells in this code.
     31 --library UNISIM;
     32 --use UNISIM.VComponents.all;
     33 
     34 entity top_tb is
     35 end top_tb;
     36 
     37 architecture Behavioral of top_tb is
     38 signal s_led0, s_led1, s_led2, s_led3, s_led4, s_led5, s_led6, s_led7 : std_logic;
     39 signal s_io_btn0, s_io_btn1, s_io_btn2, s_io_btn3, s_io_btn4 : std_logic;
     40 begin
     41     
     42     UUT : entity work.top
     43     port map (
     44         led0 => s_led0,
     45         led1 => s_led1,
     46         led2 => s_led2,
     47         led3 => s_led3,
     48         led4 => s_led4,
     49         led5 => s_led5,
     50         led6 => s_led6,
     51         led7 => s_led7,
     52         io_btn0 => s_io_btn0,
     53         io_btn1 => s_io_btn1,
     54         io_btn2 => s_io_btn2,
     55         io_btn3 => s_io_btn3,
     56         io_btn4 => s_io_btn4
     57     );
     58     
     59     process is
     60     begin
     61         -- initialize default button signals
     62         s_io_btn0 <= '0';
     63         s_io_btn1 <= '0';
     64         s_io_btn2 <= '0';
     65         s_io_btn3 <= '0';
     66         s_io_btn4 <= '0';
     67         wait for 10 ns;
     68         
     69         -- Test default state of LEDs
     70         assert s_led0 = '0' report "Default state of led0 not off" severity error;
     71         assert s_led1 = '0' report "Default state of led1 not off" severity error;
     72         assert s_led2 = '0' report "Default state of led2 not off" severity error;
     73         assert s_led3 = '0' report "Default state of led3 not off" severity error;
     74         assert s_led4 = '0' report "Default state of led4 not off" severity error;
     75         assert s_led5 = '0' report "Default state of led5 not off" severity error;
     76         assert s_led6 = '0' report "Default state of led6 not off" severity error;
     77         assert s_led7 = '1' report "Default state of led7 not on" severity error;
     78         
     79         -- Test behaviour of LED0
     80         s_io_btn0 <= '1';
     81         wait for 10 ns;
     82         assert s_led0 = '1' report "led0 did not turn on when pressing io_btn0" severity error;
     83         assert s_led6 = '1' report "led6 did not turn on when pressing io_btn0" severity error;
     84         
     85         wait; -- keep simulation running
     86     end process;
     87     -- assert led0 on when io_btn0 is pressed
     88     
     89 end Behavioral;