====== Volladdierer ======
===== Alte Überträge =====
Wir können mit Hilfe des [[..:halbaddierer:start|Halbaddierers]] zwei 1-Bit-Zahlen addieren, wenn bei der Addition kein Übertrag zu berücksichtigen ist.
**Frage:** Was ist zu tun, wenn wir einen "alten" Übertrag cold berücksichtigen müssen?
{{ wastunmitdemuebertrag.drawio.png?600 |}}
===== Halbaddierer hintereinander =====
Eine erste Idee wäre nun, einfach das Ergebnis der ersten Addition und den "alten" Übertrag cold als EIngabe für einen weiteren Halbaddierer zu verwenden. Dabei kann aber bereits bei der Addition von
x0 und y0 ein weiterer Übertrag c1 enstehen, ebenso wie bei der Addition von x0+y0+cold ein Übertrag c2 entstehen kann:
{{ doppelterhalbaddierer.drawio.png?900 |}}
Um diese Situation genauer zu untersuchen, notieren wir in einer Tabelle alle möglichen Werte für x0, y0 und cold und überlegen uns, was das für c1 sowie c2 bedeutet. Außerdem überlegen wir uns, was bei **korrekter Rechnung der neue Übertrag** cnew sein müsste.
----
{{:aufgabe.png?nolink |}}
=== (A1) ===
Vervollständige die folgende Tabelle. Die Bezeichnungen beziehen sich dabei auf die Skizze der beiden hintereinandergeschalteten Halbaddierer oben {{volladierer.ods |ODS}} {{volladierer.pdf |PDF}}.
* Fülle zunächst alle Felder mit Ausnahme der letzten Spalte für cnew aus.
* Welche Spalten bestimmen den Übertrag der "Gesamtschaltung"?
* Welcher Fall tritt für diese Spalten niemals auf?
* Begründe, warum der "Sonderfall" aus dem vorigen Punk niemals eintreten kann.
{{ :faecher:informatik:oberstufe:techinf:logikschaltungen:digitaltechnik:addierer:volladdierer:tabelle_va.png?500 |}}
++++ Hilfestellung |
{{ :faecher:informatik:oberstufe:techinf:logikschaltungen:digitaltechnik:addierer:volladdierer:auswahl_044.png |}}
Es tritt niemals der Fall auf, dass sowohl c1 als auch c2 beide 1 sind.
++++
----
{{:aufgabe.png?nolink |}}
=== (A2) ===
Erstelle eine Tabelle mit allen Möglichkeiten für c1, c2 und cnew. Welche losche Operation hat diese Wertetabelle? Wie müssen bei einem **Volladdierer** also die Überträge der beiden Halbaddierer weiterverarbeitet werden um den korrekten Übertrag zu erhalten?
Skizziere die Vollständige Schaltung eines Volladdierers: Der **Volladdierer** hat drei Eingänge (Zahl 1, Zahl 2, alter Übertrag) und zwei Ausgänge (Summe, neuer Übertrag) und besteht aus **zwei Halbaddierern** und dem nötigen **Bauteil** für die **Bestimmung des neuen Übertrags**.
++++ Hilfestellung |
{{ auswahl_046.png?400 |}}
++++
++++ Lösung: Volladdierer |
{{ :faecher:informatik:oberstufe:techinf:logikschaltungen:digitaltechnik:addierer:volladdierer:volladdierer_skizze_2022-10-23_18.05.16.excalidraw.png |}}
++++
----
{{:aufgabe.png?nolink |}}
=== (A3) ===
Erstelle einen Volladdierer in der Logiksimulation.
* **(A)** Aus elementaren Gattern (AND, OR, XOR)
* **(B)** Aus Halbaddierern und weiteren Gattern
Teste, ob der Volladierer in der Simulation zwei einstellige Binärzahlen korrekt addiert und dabei den korrekten Übertrag ermittelt.
++++ Lösung A |
{{ auswahl_336.png |}}
++++
++++ Lösung B |
{{ auswahl_337.png |}}
++++