entity case1 is end; architecture behav of case1 is type vec2 is array (natural range <>) of bit_vector (1 to 4); constant vects : vec2 := (x"0", x"4", x"9", x"3", x"a"); begin process variable i : natural := 0; begin for i in vects'range loop case vects (i) is when "0100" => report "value is 4"; wait for 4 ns; when "0011" => report "value is 3"; wait for 3 ns; when others => report "unknown value"; wait for 1 ns; end case; end loop; report "SUCCESS"; wait; end process; end behav;