verilog: add sv_maps iterators
[ghdl-vlg.git] / testsuite / synth / slice01 / slice01.vhdl
blob94dd66916dab74dc58af9440e1cb9c2b88a98339
1 library ieee;
2 use ieee.std_logic_1164.all;
4 entity slice01 is
5   generic (w: natural := 4);
6   port (rst : std_logic;
7         clk : std_logic;
8         di : std_logic;
9         dout : out std_logic_vector (w - 1 downto 0));
10 end slice01;
12 architecture behav of slice01 is
13   signal r : std_logic_vector (w - 1 downto 0);
14 begin
15   dout <= r;
16   
17   process(clk)
18   begin
19     if rising_edge (clk) then
20       if rst = '1' then
21         r <= (others => '0');
22       else
23         r (w - 2 downto 0) <= r (w - 1 downto 1);
24         r (w - 1) <= di;
25       end if;
26     end if;
27   end process;
28 end behav;