Ich implementiere einen 32-Bit-CLA-Addierer, so wie ein 16-Bit-Addierer in Wikipedia implementiert ist
Das Problem ist, wie kann ich feststellen, ob der Block überläuft? Ich brauche den Übertrag in Bit 32 (der sich jetzt im letzten 4-Bit-CLA-Addierer befindet) und XOR mit Übertrag aus Bit 32 (Unterschied in MSB prüfen)?
AKTUALISIEREN
Ist meine Überlauflogik korrekt
wobei Cin der Übertrag in den gesamten 16-Bit-Block ist, P* der Block Propagate ist, G* die Blockgenerierung und der Übertrag in Bit 32 (Tippfehler, tatsächlich Bit 16 MSB)
Ich dachte darüber nach, zu sehen, was mein Gehirn an längst vergangenen Erklärungen im Gegensatz zu Beobachtungen des gesunden Menschenverstandes wiederkäuen könnte, ABER hier ist eine Seite, die das alles wirklich sehr gut macht .
Sie erklären einen "netten" "Trick".
Ihr Diagramm. Siehe obige Referenz für einen detaillierten Kommentar:
Wenn Sie den CLA-Block (Carry Lookahead Adder) entwerfen, könnten Sie den Block den Übertrag aus der Bit-2-Ziffer ausgeben lassen (die bereits berechnet werden muss, um den korrekten Wert für Bit 3 der Summe zu bilden).
Wenn die CLA-Blockschnittstelle gegeben ist, können Sie den Überlauf aus den Vorzeichenbits der beiden Addierereingänge A(31) und B(31) und dem Vorzeichenbit der Ausgangssumme ableiten. Wenn A und B das gleiche Vorzeichen haben, muss das Summenzeichen zu ihnen passen, falls kein Überlauf vorliegt. Weitere Einzelheiten finden Sie auf dieser Seite oder auf dieser Seite .
Sie können C(n-1) aus P, G und S zurückverfolgen
Wenn Sie verwenden: X = XOR (P, G)
oder Sie können auch XOR( !P, !G) verwenden; P=Propagieren, G=Erzeugen
Ci(n-1) = XOR( X, S) ; S = Summenergebnis des höchsten Bits
Jetzt haben Sie Ci(n-1) und Ci(n)
V = XOR ( Ci(n-1), Ci(n) ) ; siehe andere Theorien oben
G= | P= | X= | Ci= | Ci | ||||
---|---|---|---|---|---|---|---|---|
AxB | =J | xCi | =S | A&B | A+B | GxP | XxS | überprüfen |
00 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | OK |
11 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | OK |
01 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | OK |
10 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | OK |
Jiew Meng
Superkatze