Die einfachste und grundlegendste mathematische Operation und wie sie mit einer logischen Schaltung umgesetzt werden kann.
Binäre Addition
Halbaddierer
Wie könnte man die Addition zweier einstelliger Zahlen im Binärsystem als Schaltung konstruieren?
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:
| A | B | Zweier | Einer |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
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
- Erstelle ein neues Projekt in CircuitVerse und nenne es Addierer.
- Baue den Halbaddierer in CircuitVerse nach und probiere aus, ob die Addition von zwei Bits (inklusive Übertrag) korrekt funktioniert.
- Benenne die Eingänge mit «A» und «B», sowie die Ausgänge korrekt mit «S» (für «Summe») und «Ü» (für «Übertrag»).
- Benenne die Schaltung (sprich die Registerkarte) «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 bleibt unbeachtet.
Wenn zwei mehrstellige binäre Zahlen addiert werden sollen, muss der Übertrag berücksichtigt werden. Ab der zweithintersten Stelle muss folgendermassen vorgegangen werden:
- Die Zifferen an der aktuellen Stelle werden addiert.
- Zum Resultat wird der Übertrag der vorherigen Stelle addiert.
- 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.
in CircuitVerse öffnenAufgabe: Volladdierer
Baue basierend auf deiner Halbaddierer-Schaltung einen Volladdierer:
Erstelle 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)
Baue in CircuitVerse eine neue Schaltung (in einer neuen Registerkarte) im Addierer-Projekt und nenne sie «VA» (für Volladdierer).
Verwende zum Erstellen des Volladdierers als Baustein die Schaltung «HA», die du bereits hast als Baustein, indem du im Menü Circuit auf Insert SubCircuit klickst und den Halbaddierer einfügst. So wird die Schaltung übersichtlicher.
Lösung: Volladdierer (nicht angemeldet)
Diese Lösung ist nur für angemeldete Benutzer zugänglich – wenn die LK die Lösung freigegeben hat. Bitte melde dich an, um die Lösung einsehen zu können.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.
⭐ Zusatzaufgabe: 4-Bit-Addierer
Versuche, die Halbaddierer-Schaltung so auszubauen, dass drei Eingänge zur Verfügung stehen, damit auch ein vorhandener Übertrag bei der Addition berücksichtigt wird:
- Baue in CircuitVerse eine neue Schaltung (d.h. eine neue Registerkarte) im Addierer-Projekt und nenne sie «4-Bit-Addierer».
- Verwende zum Zeichnen der Schaltung einen Halbaddierer-Baustein «HA» sowie drei Volladdierer-Bausteine «VA».
Hinweis
Zum Addieren der Einer-Stelle braucht es nur einen Halbaddierer, da dort noch kein Übertrag vorhanden sein kann.
Lösung
