mikrocontroller.net

Forum: FPGA, VHDL & Co. Ergebnis von Berechnung


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Habe nur eine kurze Frage. Habe zwei werte in der Form eines 
std_logic_vectors.

wert1 : std_logic_vector(5 downto 0);
wert2 : std_logic_vector(5 downto 0);
erg   : std_logic_vector(6 downto 0);

erg <= std_logic_vector(unsigned(wert1) - unsigned(wert2));

Wenn nun wert2 kleiner ist als wert1 ist steht in erg die differenz aber 
was ist wenn nun wert2 größer ist als wert1 steht dann in erg ein 
negativer wert in 2er Kompliment darstellung oder sehe ich das falsch?

MFG Gast

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kompliment
Mein Komplement  :-o

> steht dann in erg ein negativer wert in 2er Kompliment darstellung
Weil erg ein Vektor ist, kann da nur eine Bitfolge drinstehen. Wie 
die interpretiert wird, steht auf einem ganz anderen Blatt...
Das sagst du nämlich über unsigned() oder signed().
Wenn du das erg in als signed betrachten würdest, hättest du die 
entsprechende negative Zahl (in der Zweierkomplementdarstellung).

BTW:
das Ergebnis einer unsigned-Subtraktion ist kleiner oder bestenfalls 
gleich breit wie jeder der beteiligten Operanden. Du brauchst also nicht 
ein Bit mehr am Ausgang. Mit diesem Bit würde "nur" ein entsprechender 
Unterlauf signalisiert.

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.