www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Unterschied: Signed - Unsigned


Autor: Michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute. Ich wollte euch mal fragen, worin der konkrete Unterschied 
zwischen signed und unsigned signals besteht.
Quasi deren Aufbau und Beahndlung in VHDL. Ich hoffe es hilft mir beim 
"internen" Verständnis.
Vllt. hat jmd. auch ein Schriftstück parat, in dem es iwie erklärt wird.

Danke schonmal.

Autor: Denis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michl,

das ist ganz einfach hier wirds eigentlich beschrieben :

http://www.mikrocontroller.net/articles/Rechnen_in_VHDL

signal x: unsigned(7 downto 0); -- Zahlenbereich: 0 bis 2**8-1
signal y: signed(7 downto 0); -- Zahlenbereich: -2**7 bis 2**7-1

ich denke die beiden Zeilen sind selbst erklärend ;-)

MfG
Denis

Autor: Michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo dankeschön soweit. Aber wie siehts aus mit der Verarbeitung? Werden 
die immer als Zweierkomplement "verarbeitet" oder kommt das dann auf die 
jweilige Hardwareumsetzung an?

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

Bewertung
0 lesenswert
nicht lesenswert
> Werden die immer als Zweierkomplement "verarbeitet"
Mit den "üblichen" Libs: Ja.
(std_logic_signed + numeric_std)
Aber du selber kannst das machen wie du willst...

> kommt das dann auf die jweilige Hardwareumsetzung an?
Die Hardwareumsetzung ist in den Libs explizit beschrieben, da kann 
nichts anderes draus gemacht werden.

Autor: Denis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja die unsigned / signed Schreibweise hilft dir eigentlich nur bei den 
Rechnungen.Die erzeugte Logik arbeitet ja auf der Bitebene sprich wenn 
du mit einem Zahlenbereich von z.B signed(7 downto 0) bedeutet das nur 
das dein MSB Bit ein Vorzeichenbit ist. Schau dir doch einfach mal an 
was der Compiler dir als Logik ausgibt.

Dadurch sollte sich deine Frage von selbst erledigen.

Autor: Michl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrekt oder?

Anzahl Bits: 8
UNSIGNED:  11010100  ->   212
SIGNED:    11010100  ->   -44

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

Bewertung
0 lesenswert
nicht lesenswert
Ja.

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.