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;
|