Wikipedia · einfach zusammengefasst · Stand
Volladdierer
Ein Volladdierer (englisch full adder) ist ein Schaltnetz, das üblicherweise als digitale Schaltung realisiert wird. Es besteht aus drei Eingängen ( x …
Inhalt4 Abschnitte
Aufgabe und Funktionsweise
Ein Volladdierer (englisch full adder) ist ein Schaltnetz, das meist als digitale Schaltung ausgeführt wird. Er addiert drei einstellige Binärzahlen: die Eingänge x, y und c_in. Dabei ist c_in der eingehende Übertrag aus einer vorherigen Stelle.
Es gibt zwei Ausgänge: s (sum, Summe) ist die niederwertige Ergebnisstelle, c_out (carry output, Übertrag-Ausgang) die höherwertige Stelle. Damit kann ein Volladdierer in Addiernetzen Überträge zwischen benachbarten Binärstellen weitergeben.
Eingänge, Ausgänge und Wahrheitstabelle
Für die acht möglichen Eingangskombinationen gelten folgende Ergebnisse:
- 0, 0, 0 → c_out = 0, s = 0
- 0, 0, 1 → c_out = 0, s = 1
- 0, 1, 0 → c_out = 0, s = 1
- 0, 1, 1 → c_out = 1, s = 0
- 1, 0, 0 → c_out = 0, s = 1
- 1, 0, 1 → c_out = 1, s = 0
- 1, 1, 0 → c_out = 1, s = 0
- 1, 1, 1 → c_out = 1, s = 1
Die Summe s ist also 1, wenn eine ungerade Anzahl der drei Eingänge 1 ist. Ein Übertrag c_out entsteht, wenn mindestens zwei Eingänge 1 sind.
Logische Gleichungen und Aufbau
Aus der disjunktiven Normalform der Wahrheitstabelle ergeben sich die vereinfachten Gleichungen:
c_out = (c_in ∧ (x ⊕ y)) ∨ (x ∧ y)
s = x ⊕ y ⊕ c_in
Dabei bedeutet ∧ UND, ∨ ODER, der Überstrich NICHT und ⊕ Exklusiv-Oder (XOR): XOR ist 1, wenn die Eingänge verschieden sind. Ein Volladdierer lässt sich mit zwei Halbaddierern und einem Oder-Gatter aufbauen. Getrennt dargestellt benötigt dieser Aufbau 2 Und-Gatter, 2 XOR-Gatter und 1 Oder-Gatter.
Ein Halbaddierer kann auch aus 2 Invertern, 3 Und-Gattern und 1 Oder-Gatter bestehen. Daraus ergäbe sich für einen Volladdierer ein Aufbau mit 4 Invertern, 6 Und-Gattern und 3 Oder-Gattern.
Optimierte Schaltungen und Verwendung
Eine weitere Optimierung ohne Verlangsamung des Carry-Pfads verwendet I = x ∧ y und J = x ∨ y. Dann gilt:
c_out = I ∨ (J ∧ c_in)
s = ((J ∨ c_in) ∧ ¬c_out) ∨ (I ∧ c_in)
So kann ein Volladdierer mit 4 Und-Gattern, 4 Oder-Gattern und 1 Inverter realisiert werden. Alternativ sind Aufbauten aus 9 NAND-Gattern oder aus 9 NOR-Gattern möglich. Ein zweistufiger und damit schnellerer Volladdierer kann beispielsweise durch Optimierung der Wertetafel mit dem KV-Verfahren konstruiert werden.
Volladdierer werden für Addierwerke und Multiplizierer genutzt, häufig mit einem Halbaddierer am Beginn der Übertragkette. Werden alle Eingänge eines Volladdierers invertiert, invertieren sich auch alle Ausgänge. Dies kann Addierwerke schneller machen, weil die Invertierung von c_out entfallen kann.