Digitale Schaltungstechnik/ Addierer/ Alternativen/ Skip/ Stufe 2 bis n

Aus Wikibooks
Zur Navigation springen Zur Suche springen
Titelseite
  1. Addierer
    1. Mehr-Bit Addierer
      1. BCD
    2. Binäre Quersumme
    3. mehrere Variablen
  2. Subtraktion
    1. kombiniertes Rechenwerk
  3. Alternative Addierer
    1. Carry-Ripple-Addierer
    2. Carry-Skip-Addierer
      1. Stufe 2 bis n
      2. Stufe 1
      3. Rückspiegel
    3. Carry-Look-Ahead-Addierer
    4. Serienaddierwerk

Schaltungsanalyse[Bearbeiten]

Die bisher verwendete Methode der Signallaufzeitanalyse hilft uns durch die Redundanz im Netzwerk leider nur noch bedingt weiter, wir müssen zur Analyse den Verstand einsetzen.

Hier ist das Schema auf dem wir aufbauen: Adder Network 3 Bit Carry-Skip 000.svg
Für die Gatter nehmen wir folgende Laufzeiten an:
Funktion Addierer vierfach und zweifach oder
max. Laufzeit 400 ns 200 ns 100 ns
Adder Network 3 Bit Carry-Skip 000.svg
Soweit der Einfache Teil.
Die Zusatzlogik wird sinnvoller erst ab der zweiten Gruppe von Addieren eingebaut. (Grund siehe Kapitel Stufe 1) Für die erste Stufe nehmen wir einen Carry Ripple Addierer an. Gehen wir weiter davon aus, dass wir die zweite Gruppe von Addierern betrachten: Aus diesem Grund ist das Carry In Signal bereits 1200ns verzögert: Adder Network 3 Bit Carry-Skip 001.svg

Annahme[Bearbeiten]

Durch die Redundanz in der Schaltung müssen wir mit Testfällen arbeiten.

Wir definieren fürs erste, dass wir immer von 000 ausgehen:

Adder Network 3 Bit Carry-Skip 007.svg
Wieso wir diese Annahme treffen, wird im Kapitel Rückspiegel erklärt.

Testfall 1[Bearbeiten]

Beim ersten Testfall wollen wir bewusst die Zusatzlogik auslösen: Adder Network 3 Bit Carry-Skip 002.svg
Bis zum Oder-Gater können wir wie bisher vorgehen: Adder Network 3 Bit Carry-Skip 003.svg
Nun, die Eins der Zusatzlogik kommt bereits nach 1400ns an, während das Signal der Hauptlogik erst nach 2400ns kommt: Wenn wir noch die 100ns Verzögerung des Oders daru rechnen, schaltet das Gatter nach 1500ns. Adder Network 3 Bit Carry-Skip 004.svg
Das ist auch schon der schwierigste Fall: Die anderen sind weit leichter.

Testfall 2[Bearbeiten]

Nehmen wir nun einen Fall, in dem Übertrag nicht durch das Carry In ausgelöst wird: Adder Network 3 Bit Carry-Skip 005.svg
Da Carry In nicht auf 1 geht, ist das Signal in diesem Fall nicht verzögert. (Analogie: Wenn ein Bus gar nicht kommt, kann er keine Verspätung haben.)
Wie sich durch Rechnen ergibt, ist die Logik in diesem Fall schneller fertig: Adder Network 3 Bit Carry-Skip 006.svg
Die Verzögerung der Zusatzlogik entfällt, weil auch sie auf null bleibt.

Nachteile[Bearbeiten]

Muss auf 0000 zurück gesetzt werden.

Einordnung[Bearbeiten]

Anzahl Bits Benötigte Rechenzeit Tot.
3 1200ns
6 2400ns
9 2700ns
12 3000ns

Auf den ersten Blick ist es verblüffend, dass erst bei drei Addierer-Gruppen eine Beschleunigung einsetzt. Auf den zweiten Blick wird aber klar wieso:

Bei zwei Gruppen haben wir zwar das Carry schnell berechnet, müssen aber weiterhin auf des letzte Bit warten.

Nun, da es unüblich ist, mit 3^n Schritten in der Digitaltechnik zu arbeiten, sei hier noch eine Tabelle bei einer Gruppengrösse von 4:

Anzahl Bits Benötigte Rechenzeit
4 1600ns
8 3200ns
16 3600ns
20 4000ns