16 / 63 · Konzept
Addierer und Übertragsstrukturen
Volladdierergleichungen herleiten und Funktion, Breite und Verzögerung von Ripple-Carry analysieren.
Lektionen sind frei lesbar. Schreibe dich ein, um deinen Fortschritt zu speichern.
Die Summe einer Bitstelle braucht zwei Bits
Die Summe aus liegt zwischen 0 und 3. Daher braucht sie das Summenbit und den Übertrag . Ungerade viele Einsen ergeben sum=1, mindestens zwei Einsen carry=1.
Mit Generate und Propagate gilt , wobei OR bedeutet. Ein Halbaddierer ist der Sonderfall ohne Übertragseingang: Summe durch XOR, Übertrag durch AND.
Ändern Sie die drei Eingänge und prüfen Sie stets a+b+cin = sum+2×cout. carry geht in die nächste Stelle ein und hat nicht dasselbe Gewicht wie sum.
a + b + cin = sum + 2 × cout
Wie weit wandert der Übertrag?
Bei der 4-Bit-Addition 1111 + 0001 entsteht in Bit 0 ein Übertrag, der durch die übrigen drei Stellen läuft. Die gespeicherte Summe ist 0000, der höchste Übertrag 1. Bei Ripple-Carry kann die Berechnung höherer Stellen auf den Übertrag niedrigerer Stellen warten müssen.
Die aufgefaltete Gleichung zeigt Möglichkeiten paralleler Übertragsberechnung. Schnelle Addierer kombinieren Gruppen-Propagate und -Generate, benötigen aber einen Flächen-Zeit-Kompromiss unter Einbeziehung von Fan-in, Verdrahtung und Zellbibliothek. RTL-+ muss nicht als Ripple-Carry-Addierer realisiert werden.
Die Summenbreite im Entwurf festhalten
logic [3:0] a, b, sum;
logic cin, cout;
logic [4:0] wide_sum;
assign wide_sum = {1'b0, a} + {1'b0, b} + {4'b0000, cin};
assign sum = wide_sum[3:0];
assign cout = wide_sum[4];Fünf Bit genügen für . Entscheiden Sie zuerst, ob nur die unteren Summenbits, ein weitergeleiteter Übertrag oder Sättigung benötigt werden. Das Übungselement prüft die WahrheitstabelleWahrheitstabelle Vollständige Liste aller Eingangskombinationen mit jeweiligem Ausgang. Zeitliche Änderungen werden gesondert im Zeitdiagramm geprüft. Mehr erfahren einer Volladdiererstelle; es misst keine Verzögerung einer synthetisierten Schaltung.
Eingaben ändern
Selbst ausprobieren
Bestimmen Sie für vier Bit unsigned und , , die volle Summe, die 4-Bit-Summe und carry. Genügt carry zur Overflow-Erkennung bei signed-Interpretation?
Erklärung lesen
Die volle Summe ist 16=10000, also sum=0000, carry=1. Signed bedeutet 1001 dagegen −7, sodass im Bereich liegt. carry und signed Overflow sind unterschiedliche Bedingungen.