Ein Volladdierer (englisch full adder) ist ein Schaltnetz, das üblicherweise als digitale Schaltung realisiert wird. Es besteht aus drei Eingängen (, und ) und zwei Ausgängen ( und ). Mit einem Volladdierer kann man drei einstellige Binärzahlenaddieren. Dabei liefert der Ausgang (engl. sum – Summe) die niederwertige Stelle des Ergebnisses, der Ausgang (engl. carry (output) – Übertrag (Ausgang)) die höherwertige. Die Bezeichner und legen hierbei eine Möglichkeit zur Übertragsbehandlung in Addiernetzen nahe.
Die folgende Wahrheitstabelle zeigt die Eingangswerte und Ausgangswerte eines Volladdierers:
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
Realisierungen
Daraus ergeben sich folgende Gleichungen, indem man zunächst die disjunktive Normalform aus den Wahrheitswerten der Tabelle bildet und dann vereinfacht:
und
Die linke Abbildung zeigt den Aufbau eines Volladdierers mittels Halbaddierern und einem Oder-Gatter.
Die rechte Abbildung zeigt ebenfalls den Aufbau eines Volladdierers, wobei die Halbaddierer jeweils in ein Und-Gatter und ein Exklusiv-Oder-Gatter aufgetrennt wurden. Hierbei ist zu beachten, dass in beiden Abbildungen die Summenausgänge jeweils unten und die Übertragsausgänge der Halbaddierer jeweils oben dargestellt sind. Ein Halbaddierer kann auch aus 2 Invertern, 3 Und-Gattern und 1 Oder-Gatter aufgebaut werden. Für einen Volladdierer bräuchte man dann 4 Inverter, 6 Und-Gatter und 3 Oder-Gatter.
Optimiert man den Ausdruck für den Volladdierer weiter, ohne den Carry-Pfad zu verlangsamen, ergeben sich weitere Vereinfachungen:
Ein zweistufiger und damit schnellerer Volladdierer kann durch Optimierung direkt aus der Wertetafel, zum Beispiel nach dem KV-Verfahren, konstruiert werden.
Bei der Invertierung aller Eingänge eines Volladdierers invertieren sich alle Ausgänge, dies kann zur Laufzeitoptimierung von Addierwerken verwendet werden, indem auf die Invertierung von verzichtet wird.[1]