www.mikrocontroller.net

Forum: FPGA, VHDL & Co. linksshift Operator mit std_logic_vector


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Berater (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)));

Autor: Berater (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso: Deine Zuweiseung konkret: OUT <= "00 & add & "000000";

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht eigentlich auch ohne Shiften :
Address(15 downto 14) <= "00";
Address(13 downto 6)  <= add;
Address(5 downto 0)   <= "000000";

Klaus

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen dank für eure Hilfe!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.