verilog: add sv_maps iterators
[ghdl-vlg.git] / testsuite / synth / issue2234 / repro.vhdl
blob09fcc47fd0e1b4bb2ca3cb27f13a9ec2d89881e3
1 library ieee;
2 use ieee.std_logic_1164.all;
3 use ieee.numeric_std.all;
5 entity repro is
6   port (clk : std_logic;
7         we : std_logic;
8         sel : std_logic;
9         addr : std_logic_vector(7 downto 0);
10         dati : std_logic_vector(31 downto 0);
11         dato_0 : out std_logic_vector(31 downto 0);
12         dato_1 : out std_logic_vector(31 downto 0));
13 end repro;
15 architecture syn of repro is
16   type mem_t is array (0 to 255) of std_logic_vector(31 downto 0);
17   signal mem_0 : mem_t;
18   signal mem_1 : mem_t;
19 begin
20   process (clk)
21   begin
22     if rising_edge(clk) then
23       if we = '1' then
24         if sel = '0' then
25           mem_0 (to_integer(unsigned(addr))) <= dati;
26         else
27           mem_1 (to_integer(unsigned(addr))) <= dati;
28         end if;
29       end if;
30       dato_0 <= mem_0 (to_integer(unsigned(addr)));
31       dato_1 <= mem_1 (to_integer(unsigned(addr)));
32     end if;
33   end process;
34 end syn;