Digitale Schaltungstechnik/ Addierer/ Mehr-Bit Addierer

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

Mehr-Bit Addierer[Bearbeiten]

Die bisherigen Addierer arbeiteten nur mit zwei beziehungsweise drei Eingangsbits. In der Praxis werden solche Addierer meistens zu größeren Addierern verschaltet.

Um das systematisch zu machen, legen wir hier einige Konventionen fest:

Wertigkeit der Leitungen[Bearbeiten]

Die Wertigkeit der Leitungen ist ein nützliches Hilfsmittel beim Aufbau von Rechenwerken.

Um die Idee dieser Gewichtung zu erklären, betrachten wir zuerst den uns bekannten Volladdierer:

Full Adder Symbol.svg
Die Wertigkeit der Leitungen ist einfach der Wert, den die Leitung darstellt, wenn sie auf 1 ist.

Unser Addierer zählt ja, wie wir gesehen haben, 1 und 1 zusammen.

Beschriftet sieht das Bauteil dann so aus:

Full Adder with value.svg
Das gilt natürlich nur für den ersten Addierer in einer Kette. Verallgemeinert sieht es dann so aus: Full Adder with value general.svg

2n: Eingänge und Sigma haben die gleiche Wertigkeit

2n+1: Das Carry haben die doppelte Wertigkeit

Nun ist das natürlich nur ein Hilfsmittel. Um es wirklich einsetzen zu können, brauchen wir noch die dazugehörigen Regeln:
  • Nur Leitungen mit der gleichen Wertigkeit dürfen addiert werden
  • Bei Sigma bleibt das Wertigkeit identisch
  • Bei Carry verdoppelt sich die Wertigkeit

Anforderungen an ein Addiernetzwerk[Bearbeiten]

Wenn wir die Addierer verschalten, stellen sich folgende Anforderungen:

  • Funktionsfähigkeit
  • Anzahl der Bauelemente
  • Anzahl der Leitungskreuzungen

Dass die Funktionsfähigkeit die höchste Wichtigkeit hat, sollte klar sein. Die Anzahl Bauelemente ist ein Kostenfaktor und ist die Grundlage für eine übersichtliche Schaltung. Die Zahl der Leitungskreuzungen ist einfach ein objektives Maß für Übersichtlichkeit.

Benennung der Signale[Bearbeiten]

Wollen wir zwei Binärzahlen addieren, so liegen sie normalerweise als Signalgruppe vor. Hier in diesem Beispiel wollen wir die 3-Bit Variable A und B miteinander addieren. Die einzelnen Bits heißen dabei , und bzw. , und .


Der Index der Variablen entspricht dabei in diesem Fall auch der Wertigkeit, hat also die Wertigkeit 22 bzw. 4.

Realisierung[Bearbeiten]

Wir beginnen oben links mit den niederwertigsten Bits: Adder Network 3 Bit Sum 000.svg
Da sie die gleiche Wertigkeit haben, können wir sie einfach addieren: Adder Network 3 Bit Sum 001.svg
Nun kümmern wir uns um die nächste Stelle. Zeichnen wir mal die Eingänge ein: Adder Network 3 Bit Sum 002.svg
Der Carry des ersten Addieres hat die gleiche Wertigkeit, also können wir ihn auch gleich dorthin legen: Adder Network 3 Bit Sum 003.svg
Da wir nun drei Eingangsbit haben, brauchen wir einen Volladdierer: Adder Network 3 Bit Sum 004.svg
Mit dem letzten Bit verfahren wir genau gleich: Adder Network 3 Bit Sum 005.svg
Da die Leitungswertigkeit 1 nur noch an einer Stelle nicht verbunden ist, ist dies einer der Ausgangspins der Schaltung. Schreiben wir ihn an: Adder Network 3 Bit Sum 006.svg
Für die Leitungwertigkeiten 2 und 4 gilt dasselbe, also können wir sie auch anschreiben: Adder Network 3 Bit Sum 007.svg
Und auch für die Leitungswertigkeit 8: Adder Network 3 Bit Sum.svg
Diese Ausgangsvariable ist besonders zu betonen, weil unsere Eingangsvariablen nur 3 Bit lang waren, aber der Ausgang 4 Bit breit ist.

Hier zeigt sich auch die eigentliche Bedeutung des Carries bzw. Übertrages:

Der Übertrag der ersten Addierstufe geht in den Eingang der zweiten Stufe.

Carry in[Bearbeiten]

Der erste Addierer wird zum Volladdierer gemacht und der zusätzliche Pin als Carry In bezeichnet (Übertragseingang) und der letzte als Carry Out (Übertragsausgang).
Wollen wir diese nützliche Schaltung universeller machen, müssen wir ein paar Modifikationen daran vornehmen: Adder Network 3 Bit Sum Carry.svg
Das Potenzial der Schaltung ist nicht direkt erkennbar, deshalb ein paar Hinweise:

Wir können nun solche einfachen Addierer zusammenschalten, indem wir das Carry Out mit dem Carry In der nächsten Stufe verbinden.

Da die Sprache des Ingenieurs die Zeichnung ist, bedienen wir uns nun dieser Sprache:

Adder Network 6 Bit Sum Carry.svg

Funktion der Schaltung[Bearbeiten]

Wir haben nun einen Mehrbit-Addierer gesehen, aber wie rechnet nun eigentlich nun so ein Mehrbit-Addierer?

Da die Schritt-für-Schritt-Analyse etwas aufwendig ist, gehen wir die Funktion mit nur einem markenten Beispiel durch: A sei 111, B sei 000 und das Carry In Anfangs 0 und dann 1.

Interpretation von Schaltungen[Bearbeiten]

Überprüfung von Schaltung[Bearbeiten]

Zusammengefasstes Schaltzeichen[Bearbeiten]

Da diese Schaltung immer wieder gebraucht werden kann, hat sie ein zusammengefasstes Schaltzeichen:

Zusammengefasstes Schaltzeichen[1]

Die Anzahl der Eingänge kann beliebig angepasst werden. Was zu bedenken ist: Carry In hat die Wertigkeit 1, während das Carry Out in diesem Beispiel die Wertigkeit 16 hat.

  1. http://www.digitaltechnik.ethz.ch/slides/arith.pdf?page=22