verilog: add sv_maps iterators
[ghdl-vlg.git] / testsuite / synth / stmt01 / forloop2.vhdl
blob67ed6b4854411156ce7f74ade1bb04ca74356732
1 library ieee;
2 use IEEE.std_logic_1164.all;
3 use IEEE.numeric_std.all;
5 entity forloop2 is
6   port (vin: in STD_LOGIC_VECTOR (7 downto 0);
7         vout: out STD_LOGIC_VECTOR (3 downto 0);
8         clk: in STD_LOGIC);
9 end forloop2;
11 architecture behav of forloop2 is
12 begin
13   process (clk, vin)
14     variable count: unsigned (vout'range);
15   begin
16     if rising_edge (clk)
17     then
18       count := (others => '0');
19       for I in vin'range loop
20         count := count + unsigned'(0 => vin (i));
21       end loop;
22       vout <= std_logic_vector (count);
23     end if;
24   end process;
25 end behav;