diff options
Diffstat (limited to 'testsuite/synth/issue2231/tb_areset.vhdl')
-rw-r--r-- | testsuite/synth/issue2231/tb_areset.vhdl | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/testsuite/synth/issue2231/tb_areset.vhdl b/testsuite/synth/issue2231/tb_areset.vhdl new file mode 100644 index 000000000..55b56c680 --- /dev/null +++ b/testsuite/synth/issue2231/tb_areset.vhdl @@ -0,0 +1,55 @@ +entity tb_areset is +end tb_areset; + +library ieee; +use ieee.std_logic_1164.all; + +architecture behav of tb_areset is + signal clk : std_logic; + signal rst_n : std_logic; + signal din : std_logic; + signal dout : std_logic_vector(1 downto 0); +begin + dut: entity work.areset + port map ( + clk_sys => clk, + reset_n => rst_n, + d => din, + q => dout); + + process + procedure pulse is + begin + clk <= '0'; + wait for 1 ns; + clk <= '1'; + wait for 1 ns; + end pulse; + begin + din <= '0'; + rst_n <= '0'; + pulse; + assert dout (0) = '0' severity failure; + + din <= '1'; + pulse; + assert dout (0) = '0' severity failure; + + rst_n <= '1'; + pulse; + assert dout (0) = '1' severity failure; + assert dout (1) = '1' severity failure; + + din <= '0'; + pulse; + assert dout (0) = '1' severity failure; + assert dout (1) = '0' severity failure; + + din <= '1'; + rst_n <= '0'; + pulse; + assert dout (0) = '0' severity failure; + assert dout (1) = '0' severity failure; +wait; + end process; +end behav; |