verilog: add sv_maps iterators
[ghdl-vlg.git] / testsuite / synth / dff02 / tb_dff08.vhdl
blob671821c3ce144f368a9b818c12094be5dc869be2
1 entity tb_dff08 is
2 end tb_dff08;
4 library ieee;
5 use ieee.std_logic_1164.all;
7 architecture behav of tb_dff08 is
8   signal clk : std_logic;
9   signal rst : std_logic;
10   signal en : std_logic;
11   signal din : std_logic_vector (7 downto 0);
12   signal dout : std_logic_vector (7 downto 0);
13 begin
14   dut: entity work.dff08
15     port map (
16       q => dout,
17       d => din,
18       en => en,
19       clk => clk,
20       rst => rst);
22   process
23     procedure pulse is
24     begin
25       clk <= '0';
26       wait for 1 ns;
27       clk <= '1';
28       wait for 1 ns;
29     end pulse;
30   begin
31     rst <= '1';
32     en <= '1';
33     pulse;
34     assert dout = x"00" severity failure;
36     rst <= '0';
37     din <= x"38";
38     pulse;
39     assert dout = x"38" severity failure;
41     din <= x"af";
42     pulse;
43     assert dout = x"af" severity failure;
45     en <= '0';
46     din <= x"b3";
47     pulse;
48     assert dout = x"af" severity failure;
50     en <= '0';
51     rst <= '1';
52     din <= x"b4";
53     pulse;
54     assert dout = x"af" severity failure;
56     en <= '1';
57     rst <= '1';
58     din <= x"b5";
59     pulse;
60     assert dout = x"00" severity failure;
62     wait;
63   end process;
64 end behav;