Zum Hauptinhalt springen

8. Addierer

Binäre Addition

Binäre Addition

Führen Sie eine schriftliche Addition für die folgenden binären Zahlen durch:

  • 10012+11021001_2 + 110_2

  • 1112+12111_2 + 1_2

  • 1012+1012101_2 + 101_2

Halbaddierer

Wie könnte man die Addition zweier einstelliger Zahlen im Binärsystem als Schaltung konstruieren?

0+0=0020+1=0121+0=0121+1=102\begin{aligned} 0 + 0 &= 00_2\\ 0 + 1 &= 01_2\\ 1 + 0 &= 01_2\\ 1 + 1 &= 10_2 \end{aligned}

Die entsprechende Schaltung benötigt zwei Eingänge und zwei Ausgänge. Die beiden Eingänge werden für die zwei Summanden verwendet. Die Ausgänge für die Einer- und Zweierstelle des Resultats. Die gesuchte Schaltung muss also folgende Wertetabelle haben:

ABZweierEiner
0000
0101
1001
1110

Der Wert der Einerstelle kann durch ein XOR-Gatter berechnet werden, der Wert der Zweierstelle durch ein AND-Gatter. Die Schaltung sieht somit so aus:

Aufgabe Halbaddierer
  1. Erstellen Sie ein neues Projekt in CircuitVerse und nennen Sie es "Addierer".

  2. Bauen Sie den Halbaddierer in CircuitVerse nach und probieren Sie aus, ob die Addition von zwei Bits (inklusive Übertrag) korrekt funktioniert.

  3. Benennen Sie die Eingänge mit «A» und «B», sowie die Ausgänge korrekt mit «S» (für «Summe») und «Ü» (für «Übertrag»).

  4. Benennen Sie die Schaltung (sprich die Registerkarte) mit «HA» (für Halbaddierer).

Volladdierer

Ein Halbaddierer addiert also 2 separate Bit und sorgt dafür, dass neben dem Resultat auch der Übertrag für die nächste Stelle mittels zweitem Ausgang bereitsteht.

Allerdings berücksichtigt ein Halbaddierer nur die beiden zu addierenden Bits am Eingang, ein allfällig zu berücksichtigender Übertrag von der vorherigen Stelle bleibt unbeachtet.

Wenn zwei mehrstellige binäre Zahlen addiert werden sollen, muss der Übertrag der vorhergehenden Stelle berücksichtigt werden. Ab der zweithintersten Stelle muss wie folgt vorgegangen werden:

  1. Die Zifferen an der aktuellen Stelle werden addiert.

  2. Zum Resultat wird der Übertrag der vorherigen Stelle addiert.

  3. Die höhere Stelle des Resultat wird als Übertrag an die nächste Stelle weitergegeben.

Dies kann mit der folgenden Schaltung realisiert werden. Sie besteht aus zwei Halbaddierern sowie einem OR-Gatter. Mit dem OR-Gatter werden die beiden möglichen Überträge zusammengefasst.

Aufgabe Volladdierer

Bauen Sie basierend auf Ihrer Halbaddierer-Schaltung einen Volladdierer:

  1. Erstellen Sie dazu zuerst die Wahrheitstabelle für den Volladdierer. Der Volladdierer hat drei Eingänge:

    • A (erste Zahl)

    • B (zweite Zahl)

    • Ü (Übertrag)

    und zwei Ausgänge:

    • S (Summe)

    • V (Übertrag)

  2. Bauen Sie in CircuitVerse eine neue Schaltung (in einer neuen Registerkarte) im Addierer-Projekt und nenne sie «VA» (für Volladdierer).

  3. Verwenden Sie zum Erstellen des Volladdierers als Baustein die Schaltung «HA», die Sie bereits als Baustein haben, indem Sie im Menü Circuit auf Insert SubCircuit klicken und den Halbaddierer einfügen. So wird die Schaltung übersichtlicher.

SSR

4-Bit-Addierer

Wir haben mit dem Volladdierer einen Baustein, der zwei 1-Bit-Zahlen addieren kann – inklusive korrekte Behandlung des Übertrags. Nun wollen wir aus mehreren solchen Bausteinen einen kompletten Addierer bauen, der mehrere Stellen gleichzeitig addieren kann.

Aufgabe

Aufgabe 4-Bit-Addierer

Erzeugen Sie eine neue Schaltung, welche zwei 4-Bit Zahlen miteinander addieren kann. Testen Sie Ihre Schaltung, indem Sie einige Rechnungen berechnen lassen:

  • 0011 + 0001 soll 0100 ergeben

  • 0111 + 0101 soll 1100 ergeben

  • 1100 + 0011 soll 1111 ergeben

  1. Bauen Sie in CircuitVerse eine neue Schaltung (d.h. eine neue Registerkarte) im Addierer-Projekt und nennen Sie diese «4-Bit-Addierer».

  2. Verwenden Sie zum Zeichnen der Schaltung einen Halbaddierer-Baustein «HA» sowie drei Volladdierer-Bausteine «VA».

  3. Machen Sie durch Beschriftungen erkennbar, wo die erste Zahl, die zweite Zahl und das Resultat steht.

Hinweis

Zum Addieren der Einer-Stelle braucht es nur einen Halbaddierer, da dort noch kein Übertrag vorhanden sein kann.

SSR

⭐️ Hex-Display

Die Eingaben und das Resultat kann auch mit einem Hexadezimal-Display dargestellt werden.

Um Bits darzustellen, kann ein Hex-Display als Ausgabe verwendet werden. Damit vier Eingänge angeschlossen werden können, braucht es einen Splitter, welcher vier Eingänge zusammenfasst.

Dieser kann über Misc > Splitter eingefügt werden, wobei nacheinander zwei Eingabeboxen angezeigt werden. In der ersten wird 4 (die Anzahl Leitungen) eingegeben, in der zweiten 1 1 1 1 (wie viele Anschlussmöglichkeiten):

1. Inputbox
  1. Inputbox

2. Inputbox
  1. Inputbox

Hexadezimal System

Die Zahlen werden im Hexadezimalsystem angezeigt, also im Sechzehnersystem:

DezimalHexadezimalDezimalHexadezimal
0088
1199
2210A
3311B
4412C
5513D
6614E
7715F