verilog: add sv_maps iterators
[ghdl-vlg.git] / testsuite / synth / issue1781 / simple2.vhdl
blob9d8a49ac0c893884b08686591bb791ae66497d7f
1 library ieee;
2 use ieee.std_logic_1164.all;
3 use ieee.numeric_std.all;
5 entity simple2 is
6   port (
7     clk_i  : in  std_ulogic;
8     rden_i : in  std_ulogic;
9     wren_i : in  std_ulogic;
10     addr_i : in  std_ulogic_vector(7 downto 0);
11     data_i : in  std_ulogic_vector(15 downto 0);
12     data_o : out std_ulogic_vector(15 downto 0)
13   );
14 end entity;
16 architecture notok of simple2 is
17   type ram_t is array(0 to 2**8-1) of std_ulogic_vector(15 downto 0);
18 begin
19   process(clk_i)
20     variable memory : ram_t;
21   begin
22     if rising_edge(clk_i) then
23       if wren_i = '1' then
24         memory(to_integer(unsigned(addr_i))) := data_i;
25       end if;
26       if rden_i = '1' then
27         data_o <= memory(to_integer(unsigned(addr_i)));
28       end if;
29     end if;
30   end process;
31 end architecture;