Kombinierte Additions- und Subtraktionsschaltung

Als letzte Schaltung im Bereich der Rechenschaltungen soll eine Schaltung entwickelt werden, die sowohl das Addieren als auch das Subtrahieren zweier dreistelliger positiver Dualzahlen erlaubt.

Dazu vereinbart man neben den Eingängen für die positiven Dualzahlen a (=a2a1a0) und b (=b2b1b0) noch einen weiteren Eingang S (für Subtraktion). Mit S=1 soll die Schaltung als Subtraktionsschaltung funktionieren, für S=0 sollen a und b ganz normal addiert werden.

Wie geht das mit Dualzahlen in einer Schaltung?

Wenn S=1 ist, muss aus b das Zweierkomplement -b gebildet und dieses mit a addiert werden. Wenn S=0 ist, muss b unverändert mit a addiert werden. b darf also nicht direkt in den Addierer geschaltet werden, wie bei der normalen Paralleladdiererschaltung, und b darf auch nicht direkt invertiert werden, wie bei der Subtraktionsschaltung, sondern wir brauchen eine besondere Schaltung, die bei S=0 den normalen b-Wert zum Addierer bringt  und bei S=1 das Zweierkomplement. 

Dazu gibt es folgenden Schaltungsansatz, bei dem ein Gatter ? noch zu bestimmen ist.

img8.gif

Gesucht ist also ein Gatter ? mit den Eingängen S und b0 (b1, b2), das für S=0 am Ausgang b0 (b1, b2) ergibt, für S=1 am Ausgang ergibt.
(Beachte, dass +1 bei der Zweierkomplementbildung automatisch durch S (=1) im linken VA mitaddiert wird.)
Das Gatter ? muss also im Prinzip b invertiereren (S=1) bzw. beibehalten (S=0).

Aufgabe: Findet heraus, um welche Schaltung es sich bei ? handelt, z.B. mit Hilfe einer Wertetabelle. (Lösung)

 

Baut die Schaltung auf bzw. entwickelt die Schaltung mit dem Digitalsimulatorprogramm.