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
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)));
Achso: Deine Zuweiseung konkret: OUT <= "00 & add & "000000";
Geht eigentlich auch ohne Shiften : Address(15 downto 14) <= "00"; Address(13 downto 6) <= add; Address(5 downto 0) <= "000000"; Klaus
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.