Carry-Ripple-Addierer
aus Wikipedia, der freien Enzyklopädie
Der Carry-Ripple-Addierer (von engl. carry - Übertrag, ripple - rieseln), auch 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 dann n+1 Stellen. Das Schaltnetz hat also 2n Eingänge und n+1 Ausgänge.
Er setzt sich aus einem Halbaddierer und n-1 Volladdierern 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.