verilog: add sv_maps iterators
[ghdl-vlg.git] / testsuite / synth / issue1781 / tb_simple2.vhdl
blob5378ade4bcec7495a899ed24ab7f14bb13b849df
1 entity tb_simple2 is
2 end tb_simple2;
4 library ieee;
5 use ieee.std_logic_1164.all;
7 architecture behav of tb_simple2 is
8   signal addr : std_logic_vector(7 downto 0);
9   signal rdat : std_logic_vector(15 downto 0);
10   signal wdat : std_logic_vector(15 downto 0);
11   signal wren : std_logic;
12   signal rden : std_logic;
13   signal clk : std_logic;
14 begin
15   dut: entity work.simple2
16     port map (clk_i => clk, rden_i => rden, wren_i => wren,
17               addr_i => addr, data_i => wdat, data_o => rdat);
19   process
20     procedure pulse is
21     begin
22       clk <= '0';
23       wait for 1 ns;
24       clk <= '1';
25       wait for 1 ns;
26     end pulse;
27   begin
28     addr <= x"00";
29     wdat <= x"0001";
30     wren <= '1';
31     rden <= '0';
32     pulse;
34     addr <= x"01";
35     wdat <= x"0002";
36     pulse;
38     --  Simple read.
39     addr <= x"00";
40     wren <= '0';
41     rden <= '1';
42     pulse;
43     assert rdat = x"0001" severity failure;
45     --  Check write through.
46     addr <= x"03";
47     wren <= '1';
48     wdat <= x"3333";
49     pulse;
50     assert rdat = x"3333" severity failure;
52     wait;
53   end process;
54 end behav;