debouncing sys_res_n
[hwmod.git] / src / debouncing / debounce_tb.vhd
1 library ieee;
2 use ieee.std_logic_1164.all;
3
4 entity debounce_tb is
5 end entity debounce_tb;
6
7 architecture sim of debounce_tb is
8   component debounce_top is
9     port
10     (
11       sys_clk : in std_logic;
12       sys_res_n : in std_logic;
13       btn_a : in std_logic;
14       seg_a : out std_logic_vector(6 downto 0);
15       seg_b : out std_logic_vector(6 downto 0)
16     );
17   end component debounce_top;
18   
19   signal sys_clk, sys_res_n : std_logic;
20   signal btn_a : std_logic;
21   signal seg_a, seg_b : std_logic_vector(6 downto 0);
22   signal stop : boolean := false;
23 begin
24   uut : debounce_top
25     port map
26     (
27       sys_clk => sys_clk,
28       sys_res_n => sys_res_n,
29       btn_a => btn_a,
30       seg_a => seg_a,
31       seg_b => seg_b
32     );
33     
34   process
35   begin
36     sys_clk <= '0';
37     wait for 15 ns;
38     sys_clk <= '1';
39     if stop = true then
40       wait;
41     end if;
42     wait for 15 ns;
43   end process;
44   
45   process
46   begin
47     sys_res_n <= '0';
48     btn_a <= '1';
49     wait for 100 ns;
50     sys_res_n <= '1';
51     wait for 2 ms;
52     btn_a <= '0';
53     wait for 100 us;
54     btn_a <= '1';
55     wait for 50 us;
56     btn_a <= '0';
57     wait for 150 us;
58     btn_a <= '1';
59     wait for 25 us;
60     btn_a <= '0';
61     wait for 175 us;
62     btn_a <= '1';
63     wait for 1 us;
64     btn_a <= '0';
65     wait for 2 ms;
66     btn_a <= '1';
67     wait for 100 us;
68     btn_a <= '0';
69     wait for 50 us;
70     btn_a <= '1';
71     wait for 150 us;
72     btn_a <= '0';
73     wait for 25 us;
74     btn_a <= '1';
75     wait for 175 us;
76     btn_a <= '0';
77     wait for 1 us;
78     btn_a <= '1';
79     wait for 2 ms;
80     btn_a <= '0';
81     wait for 100 us;
82     btn_a <= '1';
83     wait for 50 us;
84     btn_a <= '0';
85     wait for 150 us;
86     btn_a <= '1';
87     wait for 25 us;
88     btn_a <= '0';
89     wait for 175 us;
90     btn_a <= '1';
91     wait for 1 us;
92     btn_a <= '0';
93     wait for 2 ms;
94     stop <= true;
95     wait;
96   end process;
97 end architecture sim;