Vektor zusammensetzen: 0 definitions of operator "&" match here

Gast #3997833
Lesenswert?

Hallo an alle,

ich habe folgendes Ausgangslage: Ich habe einen Vektor len, der um size 
nach links geschoben werden soll. Dazu habe ich folgende Signal- bzw. 
Variablen:
1
signal s_len      : std_logic_vector(7 downto 0);
2
signal s_size     : std_logic_vector(2 downto 0);
3
variable v_size   : integer range 0 to 7;
4
variable v_result : std_logic_vector(14 downto 0);

Ich möchte nun in v_result das Signal so zusammensetzen, dass in den 
unteren Bits v_size-1 Nullen, dann s_len und darüber die restlichen 
Nullen angeordnet sind.

Dazu habe ich folgendes versucht:
1
v_size   := to_integer(unsigned(s_size));
2
v_result := (7 - v_size downto 0 => '0') & s_len & (v_size-1 downto 0 => '0');

Mit ist schon klar, dass damit nicht die einfachste Logik synthetisiert 
wird, doch es scheitert bei mir mit VHDL. Leider liefert mir Vivado die 
folgende Fehlermeldung:
1
[Synth 8-944] 0 definitions of operator "&" match here ["test.vhd":45]

Kann mir jemand damit helfen?

lg Martin

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren