aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/issue1914/delayline.vhdl
blob: 0e43cf33081e677eaca88dc816ea58dea0117f72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
library IEEE;
use IEEE.std_logic_1164.all;

entity delayline is
    generic (
        delay : positive
    );
    port (
        clk   : in std_logic;
        i     : in std_logic_vector;
        o     : out std_logic_vector
    );
end entity;

architecture rtl of delayline is
    type delay_t is array (natural range <>) of std_logic_vector;
    signal d : delay_t(delay - 1 downto 0)(i'range); -- This statement causes the problem
begin
    assert i'length = o'length
        report "i and o length should be equal"
        severity error;

    (o, d) <= d & i when rising_edge(clk);

end architecture rtl;