Carry-Ripple-Addierer

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Aufbau eines 4-Bit-Carry-Ripple-Addierers

Der Carry-Ripple-Addierer (von engl. carry – Übertrag, ripple – rieseln), auch Ripple-Carry-Addierer oder ripple-through carry, ist ein Addiernetz, dient also der Addition mehrstelliger Binärzahlen.

Ein n-Bit-Carry-Ripple-Addierer kann zwei n-stellige Binärzahlen addieren, das Ergebnis hat n+1 Stellen. Das Schaltnetz hat damit 2n+1 (bzw. 2n ohne Carry in) Eingänge und n+1 Ausgänge.

Er setzt sich aus n Volladdierern (bzw. aus n−1 Volladdierern und 1 Halbaddierer ohne Carry in) zusammen. Der Übertrags-Ausgang der Addierer wird jeweils an einen Eingang des nächsten Volladdierers angeschlossen. Der Übertrags-Ausgang des letzten Volladdierers bildet den (n+1)-ten Ausgang des Schaltnetzes.

Da Volladdierer nicht unendlich schnell arbeiten, kann es zu Verzögerungen bei der Berechnung des Endergebnisses kommen, da der Volladdierer das korrekte Ergebnis erst dann ausgeben kann, wenn der vorhergehende Volladdierer das Übertragsbit geliefert hat. Im schlechtesten Fall führt die Addition a0 + b0 zu einem Übertrag, und für alle i > 0 gilt: ai + bi ≥ 1. Dann muss das Übertragsbit durch das gesamte Addiernetz wandern, bevor das richtige Ergebnis ausgegeben wird (Übertragspropagation).

Um diese langen Laufzeiten zu vermeiden, wurden beschleunigte Addiernetze entwickelt, etwa Carry-Skip, Carry-Look-Ahead ((Super)Ripple CLA und (Super)Block CLA), Conditional Sum Addition und Carry-Select-Addierer.