linksshift Operator mit std_logic_vector

Gast #602558
Lesenswert?

Hallo Erstmal!

Möcht gleich mal anfangs erwähnen, dass ich ein ziemlicher Anfänger 
bezüglich VHDL bin!

aber nun zu meinem Problem:

Ich habe folgendes definiert:

PORT (Address:      OUT std_logic_vector (15 downto 0) := X"0000");

und dann noch ein Signal:
SIGNAL add: std_logic_vector (7 downto 0) := X"00";

zuerst möchte ich das signal um 6 Stellen nach links shiften und dann 
der Addresse zuweisen. Kann mir bitte jemand sagen wie das unter VHDL 
funktioniert! Ist sicher relativ banal, bin für eure Hilfe sehr dankbar.

Gruß und Dank Stefan
Gast #602573
Lesenswert?

signal6 <= signal0 & "000000";

Rechenoprationen z.B. mit :

result <= std_logic_vector(unsigned ('0' & datasignal & "0000" + 
unsigned (signal2)) ;

... produziert einen um Faktor 16 größeren Wert mit zusätzlich einem Bit 
Reserve für eine Addition ohne Überlauf.

Noch ein Trick : Multiplikation mit 3:

factor3 <= std_logic_vector(unsigned("00" & signal)+unsigned(signal(15 
downto 1)));

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