Logikschaltungen können sich auf einen Ripple-Carry-Addierer stützen, um n-Bit-Werte zu addieren. Daher bietet diese digitale Schaltungsimplementierung in vielen Anwendungen nützliche Funktionen. Aufgrund des langsamen Berechnungsprozesses kommt es jedoch auch zu Leistungsverzögerungen. Dabei muss in der Regel gewartet werden, bis jede Volladdierer-Stufe die Bits in die nächste Volladdierer-Stufe überführt hat. Ein solcher Prozess wiederholt sich, bis er das Ende erreicht und die Ergebnisse liefert.
Das Verständnis eines Ripple-Carry-Addierers kann ein wenig verwirrend sein. Aus diesem Grund haben wir diesen Artikel zusammengestellt, um Ihnen zu helfen, mehr Wissen über dieses Thema zu erlangen. Fangen wir also an!
Was ist ein Ripple-Carry-Addierer?
Ein Ripple-Carry-Addierer ist eine digitale Schaltung, die zwei binäre n-Bit-Zahlen addiert und das Ergebnis ausgibt. Seine Struktur besteht aus mehreren Volladdierern, die jeweils in Kaskade geschaltet sind. Auf diese Weise wird der Übertragsausgang eines Volladdierers mit dem Eingang des nächsten Volladdierers verbunden.
Ein Diagramm eines 4-Bit-Ripple-Carry-Addierer.
Quelle: Wikimedia Commons
Ein Volladdierer ist eine logische Schaltung, die drei Eingänge addiert und zwei Ausgänge erzeugt. Genauer gesagt dienen zwei Eingänge als A und B, während der dritte Eingang ein Übertragsbit darstellt. (C-IN) Ein Ausgang steht für ein Carry-Out-Bit (C-OUT) und der andere für ein Summenbit (S). Letztendlich kann eine Volladdierer-Schaltung an acht Eingänge angeschlossen werden, um einen byteweiten Addierer zu bilden. Dabei wird ein Übertragsbit von einem Addierer zum nächsten kaskadiert. Werden zwei Halbaddierer-Schaltungen miteinander verbunden, entsteht ein Volladdierer.
Ein vollständiges Addierer-Logikdiagramm
Quelle: Wikimedia Commons
Funktionsprinzipien des Ripple-Carry-Addierer
Jeder Übertrag durchläuft eine Volladdierer-Stufe, die dann über ihren Eingang an den nächsten Volladdierer weitergegeben wird. Der gesamte Prozess schreitet fort, bis er den letzten Volladdierer erreicht. Infolgedessen wird jedes Übertrags-Ausgangsbit an die nächste Volladdierer-Stufe weitergereicht. Insgesamt gesehen besteht die wichtigste Operation darin, die einzelnen Eingangsbitfolgen zu addieren, z. B. 4-Bit-Addierer, 8-Bit-Addierer, 16-Bit-Addierer usw.
Aufgrund der Ausbreitungsverzögerungen in den Logikschaltungen bleiben die Summe und die Übertragsbits ungültig, bis die Übertragsstufe ausgeführt wird. Ausbreitungsverzögerungen entstehen in der Regel durch die Zeit, die zwischen dem Eingang und dem Ausgang vergeht. Wenn zum Beispiel der Eingang eines NOT-Gatters auf 0 gesetzt wird, wird der Ausgang auf 1 gesetzt usw. Die Übertragungsverzögerung gibt an, wie viel Zeit zwischen dem Setzen des Ausgangs auf Null und dem Konfigurieren des Eingangs auf Eins vergeht. Die Übertragungsverzögerung gibt an, wie viel Zeit zwischen dem Empfang des Übertrags-Eingangssignals und der Umsetzung des Übertrags-Ausgangssignals vergeht.
Wahrheitstabelle des Ripple-Carry-Addierer
Die Wahrheitstabelle (siehe unten) bestimmt jeden Ausgangswert für alle Eingänge in einem Ripple-Carry-Addierer.
Die Wahrheitstabelle eines Ripple-Carry-Addierers.
VHDL-Code und Verilog-Code für Rundträgeraddierer
Um einen Ripple-Carry-Addierer zu implementieren, benötigen Sie den VHDL-Code und den Verilog-Code. Es werden zwei Beispiele bereitgestellt. Das erste Beispiel beinhaltet einen Zwei-Bit-Ripple-Carry-Addierer. Das andere Beispiel erzeugt einen Ripple-Carry-Addierer, der jede Eingangsbreite als Parameter sammelt.
Anwendungen des Ripple-Carry-Addierer
Takte enthalten einen Ripple-Carry-Addierer
Durchführung von Additionen für zwei N-Bit-Werte
Digitale Signalverarbeitung und Mikroprozessoren
Zeitgeber
Rechenmaschinen
Uhren
Vorteile und Nachteile von Ripple Carries-Addierern
Vorteile
Ein Ripple-Carry-Addierer ist kostengünstig.
Quelle: Wikimedia Commons
Liefert genaue Ergebnisse durch n-Bit-Addition
Einfacher Entwurfs- und Entwicklungsprozess
Kostengünstig
Nachteile
Verzögerungen verursachen Unannehmlichkeiten für die Gesamtfunktionalität
Es kann immer nur ein Volladdierer gleichzeitig arbeiten.
Verzögerungen beim Übertragen von Bits führen dazu, dass er langsam läuft.
Übertragsvorausschau-Addierer
Eine Carry-Look-Ahead-Logik berechnet die Carry-In-Bits, bevor die Summe erreicht wird, wodurch die Zeitverzögerung effektiv verringert wird. Dies geschieht nach der Erzeugung des Übertragssignals durch zwei Methoden. Bei der ersten Methode werden die Bits a und b gleich eins gesetzt. Bei der zweiten Methode sind entweder das Übertragssignal und die Bits a oder b gleich eins. Diese Bits werden in der vorhergehenden Stufe implementiert, während der Übertrag am Anfang des Addierers beginnt.
Schematische Darstellung eines Carry-Look-Ahead-Addierers.
Quelle: Wikimedia Commons
In einem Ripple-Carry-Addierer verarbeitet jeder Volladdierer das Carry-In-Bit zum nächsten Addierer, bevor er die Summe berechnet. Daher führt dieser Prozess zu einer langen Verzögerung.
Zusammenfassung
Insgesamt bietet ein Carry-Ripple-Addierer die Möglichkeit, zwei n-Bit-Zahlen in einer digitalen Schaltung zu addieren. Obwohl es sich um einen langsamen Prozess handelt, hat er dennoch nützliche Anwendungen, die im Wesentlichen bei der digitalen Signalverarbeitung helfen. Bei einem Ripple-Carry-Addierer wird ein Carry-In-Bit in jeder Stufe des Volladdierers gerippt, bis er den letzten Volladdierer erreicht. An diesem Punkt führt er dann die erforderlichen Berechnungen durch. Carry-Lookahead-Addierer führen diese Berechnungen jedoch schneller durch, da sie eine andere Technik verwenden. Dadurch wird die Verzögerungszeit verringert.
Haben Sie Fragen zu einem Ripple-Carry-Addierer? Sprechen Sie uns an!