Hallo zusammen, bin Anfänger in VHDL und lerne mit der WEB ISE. Meine Frage betrifft die Kodierung von negativen ganzen Zahlen. Beispiel: Wenn ich mit dem Coregen einen Adder z.B. mit jeweils Eingangs-Bitbreite 9 Bit entwerfe ( als vorzeichenbehaftet deklariert ) und diesen in meinen code einbinde und ich möchte die Zahlen A= -12 und B= -32 addieren. Wie muss dann das Bitmuster für A und B aussehen ? Dezimal 12 entspricht binär 0 0000 1100 Dezimal 32 entspricht binär 0 0010 0000 Dezimal -12 entspricht dann binär 1 000 1100 ( das ist die Frage ?? ) Wird bei Dezimal = -12 das höchste Bit einfach als Vorzeichen bit vom Addierer interpretiert ? Also in unserem Fall das Bit 9 ??? Wie würde das Bitmuster für das Ergebnis aussehen ? ( Dezimal - 48 )
@Nichtwisser >Meine Frage betrifft die Kodierung von negativen ganzen Zahlen. Zweier Komplement >und diesen in meinen code einbinde und ich möchte die Zahlen A= -12 und >B= -32 addieren. >Dezimal 12 entspricht binär 0 0000 1100 >Dezimal 32 entspricht binär 0 0010 0000 >Dezimal -12 entspricht dann binär 1 000 1100 ( das ist die Frage ?? ) Das wäre Einer Komplement. Du brauchst das Zwierkomplement. http://de.wikipedia.org/wiki/Zweierkomplement MFG Falk
Hallo Falk, danke für den Link. Habs jetzt verstanden. Meine Frage ist eigentlich aus folgendem Sachverhalt entstanden: Ich habe einen VHDL code durchgearbeitet, bei dem 2 Zahlen multipliziert werden. Das wurde so gemacht: 1. vorzeichen der Vorzeichenbehafteten Zahlen einlesen. ( MS Bit) 2. Falls es sich um eine negative Zahl handelt: wird eine 1 subtrahiert und dann die Zahl negiert 3. Mulitplikation durchführen 4. Ergebnis Vorzeichen hinzufügen über XOR Verknüpfung der Vorzeichen er Summanden Nun hab ich mich gefragt, ob man beim Spartan3 unter Verwendung eines MULT18 (also den Hardware Multiplizierer aus dem Coregen )sich die ganze Geschichte mit dem extrahieren der Vorzeichen usw. sparen kann ? Kann der MULT18 keine vorzeichenbehafteten Zahlen verarbeiten ??? Hat die obige multiplizierer Version einen versteckten Vorteil ? ( evtl. schneller oder braucht weniger Resourcen ?? ) Kann mir das bitte jemand erklären ?
>Kann der MULT18 keine vorzeichenbehafteten Zahlen verarbeiten ???
Die Hardware-Multiplier gibts mit und ohne Vorzeichen.
MfG
Falk
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.