verilog: add sv_maps iterators
[ghdl-vlg.git] / testsuite / synth / asgn01 / tb_asgn08.vhdl
blob470c71893074f0db8a8a302fe8301de90f277792
1 entity tb_asgn08 is
2 end tb_asgn08;
4 library ieee;
5 use ieee.std_logic_1164.all;
7 architecture behav of tb_asgn08 is
8   signal s0 : std_logic;
9   signal clk : std_logic;
10   signal ce : std_logic;
11   signal r  : std_logic_vector (65 downto 0);
12 begin
13   dut: entity work.asgn08
14     port map (clk => clk, ce => ce, s0 => s0, r => r);
16   process
17     procedure pulse is
18     begin
19       clk <= '0';
20       wait for 1 ns;
21       clk <= '1';
22       wait for 1 ns;
23     end pulse;
24   begin
25     s0 <= '0';
26     ce <= '1';
27     pulse;
28     assert r (0) = '1' severity failure;
29     assert r (65) = '0' severity failure;
31     s0 <= '1';
32     pulse;
33     assert r (0) = '1' severity failure;
34     assert r (64 downto 1) = x"ffff_eeee_dddd_cccc" severity failure;
35     assert r (65) = '1' severity failure;
37     s0 <= '0';
38     ce <= '0';
39     pulse;
40     assert r (0) = '1' severity failure;
41     assert r (64 downto 1) = x"ffff_eeee_dddd_cccc" severity failure;
42     assert r (65) = '1' severity failure;
44     ce <= '1';
45     pulse;
46     assert r (0) = '1' severity failure;
47     assert r (64 downto 1) = x"ffff_eeee_dddd_cc7c" severity failure;
48     assert r (65) = '0' severity failure;
50     wait;
51   end process;
52 end behav;