blob: acb8c951fd38cd29f388baa0c6d8e023a4c51e78 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
library ieee;
use ieee.std_logic_1164.all;
entity dut is
generic (
adr_width : positive := 16
);
end entity dut;
architecture rtl of dut is
function deser(b : bit_vector) return bit_vector is
variable ab : bit_vector(adr_width-1 downto 0);
variable ba : bit_vector(adr_width-1 downto 0);
begin
-- Below causes crash
(ab, ba) := b;
return ab&ba;
end function;
signal s1 : bit_vector(adr_width*2-1 downto 0);
signal s2 : bit_vector(adr_width-1 downto 0);
begin
s1 <= deser(s2);
end architecture rtl;
|