verilog: add sv_maps iterators
[ghdl-vlg.git] / testsuite / synth / synth115 / testcase.vhdl
blobe157e326aac6a0b71c165fbcaf4ad2e5e22d6503
1 library ieee;
2 use ieee.std_logic_1164.all;
4 entity testcase is
5    port (
6           din    : in  std_logic_vector(3 downto 0);
7           dout   : out std_logic_vector(1 downto 0)
8         );
9 end testcase;
11 architecture behavior of testcase is
12    signal testidx : natural range 3 downto 2;
13 begin
15 --------------------------------------------------------------
16 -- tc0 does not cause an overflow error
17 --tc0: process(din)
18 --     begin
19 --        if (din(3)='1') then
20 --           dout <= din(2 downto 1);
21 --        else
22 --           dout <= din(1 downto 0);
23 --        end if;
24 --     end process;
25 --------------------------------------------------------------
27 --------------------------------------------------------------
28 -- tc1 with the dout assignment does cause an overflow error
29 tc1: process(din)
30      begin
31         if (din(3)='1') then
32            testidx <= 3;
33         else
34            testidx <= 2;
35         end if;
36      end process;
38    dout   <= din(testidx-1 downto testidx-dout'length);
39 --------------------------------------------------------------
41 end behavior;