Schaltungsbeispiele

Schaltungsbeispiele

1. Halbaddierer

Für die Addition zweier Dualzahlen ergibt sich die folgende Schaltwerttabelle:

a b c s
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

Für c ergibt sich a AND b und für s a XOR b. Das ergibt die folgende Schaltung:

Halbaddierer

2. Volladdierer

Volladierer lassen sich durch die Kombination zweier Halbaddier und eines ODER-Gatters realisieren. Man addiert im ersten Halbaddierer zunächst a und b und anschließend mit dem zweiten Halbaddierer den Übertrag c. Man erhält die Summenziffer s. Den Übertrag c' erhält man durch Disjunktion der beiden Halbaddierer, da ein gleichzeitiger Übertrag ausgeschlossen ist.

va

3. 4-Bitparalleladdierer

Mit den bisher entwickelten Rechenschaltungen kann man einen Addierer für zwei
mehrstellige Dualzahlen aufbauen. Für die Einerstelle wird nur ein Halbaddierer benötigt, da hier nur zwei Dualziffern zu addieren sind, für jede weitere Stelle braucht man einen Volladdierer. Jeder Volladdierer muss einen eventuellen Übertrag aus der vorhergehenden Stelle verarbeiten. Diese Überlegung führt zu folgendem Schaltbild. Der Übertrag des letzten Volladdierers zeigt eine eventuelle Bereichsüberschreitung an. Eine Bereichsüberschreitung liegt vor, wenn das Ergebnis nicht mehr mit den zur Verfügung stehenden Dualstellen ausgedrückt werden kann. Mit vier Dualstellen kann man den Zahlbereich von 0 bis 15 darstellen. Werden dezimal 9 und 7 addiert, so kann das Ergebnis nicht mehr mit den vier Dualstellen dargestellt werden und es liegt eine Bereichsüberschreitung vor.

Addierer

4. 4-Bitparallelsubtrahierer

Zwei Dualzahlen werden subtrahiert, indem man das Zweierkomplement er einen Zahl zur anderen addiert. Mit Hilfe der folgenden Schaltung lässt sich das Zweierkomplement bilden. Die Addition von 1 zum Einerkomplement wird durch Anlegen eines 1-Signals am ersten Halbaddierer erreciht.

Subtrahierer

Für die Subtraktion muss man den Addierer und die Zweierkomplementschaltung kombinieren. Die Addition von 1 zum Einerkomplement wird hier durch Anlegen eines 1-Signals an den ersten Eingang eines Volladdierers für die Einerstelle realisiert. Der Halbaddierer der Additionsschaltung muss durch einen Volladdierer ersetzt werden.  

Sub2

Diese Schaltung hat noch den Nachteil, dass keine Bereichsüberschreitung signalisiert wird. Durch die Zweierkomplementdarstellung der Dualzahlen reicht der Zahlenbereich von - 8 bis + 7. Es ist nicht wie bei der Additionsschaltung möglich, den Übertrag des letzten Volladdierers als Signal für eine Bereichsüberschreitung zu nutzen.
Die folgenden Beispiele sollen das Problem zeigen:
      -1          1111
+ (-1)      + 1111
-------      ---------
     -2      (1)1110
Der letzte Übertrag ist 1, obwohl kein Überlauf vorliegt, da -2 im vorgegebenen Bereich liegt.

      1           0001
+ (-8)      + 1000
-------     ---------
     -7      (0)1001
Der letzte Übertrag ist 0 und es liegt kein Überlauf vor, da -7 im vorgegebenen Bereich liegt

Ein Überlauf liegt vor, wenn
1. die höchstwertigen Summandenbits gleich sind und
2. der letzte Übertrag ungleich dem höchstwertigen Ergebnisbit ist.

Mit dieser Kenntnis kann man den Parallelsubtrahierer so erweitern, dass eine Bereichsüberschreitung signalisiert wird. Hierzu müssen die beiden höchstwertigen Summandenbits mit einem ÄQUIVALENZ-Gatter(not XOR) und der letzte Übertrag und das höchstwertige Bit des Ergebnisses mit einem XOR-Gatter verknüpft werden. Die beiden Verknüpfungsergebnisse werden über ein UND-Gatter zum Bereichsüberschreitungssignal zusammengefasst. 

Sub3

5. Parallel Addierer/Subtrahierer

Die weitgehende schaltungstechnische Übereinstimmung von Paralleladdierer und Parallelsubtrahierer führt zu der Überlegung, ob man nicht auf einfache Weise eine zwischen Addition und Subtraktion umschaltbare Rechenschaltung konstruieren könnte. Wenn man beim Paralleladdierer den Halbaddierer für die Einerstelle durch
einen Volladdierer ersetzen und dessen ersten Eingang mit 0 belegen, verhält sich diese Schaltung genauso wie der bisherige Paralleladdierer. Wird dieser Eingang mit 1 belegt, findet eine zusätzliche Addition von 1 statt. Genau diese Eigenschaft brauchte man zur Bildung des Zweierkomplements. Wenn dieses Signal gegeben wird, muss die zu subtrahierende Zahl in ihr Einerkomplement umgewandelt werden.Um dies zu erreichen, benutzt man eine Eigenschaft des XOR-Gatters aus: Liegt eine ungerade Anzahl von Signalen an, wird das Signal durchgeschaltet, liegt eine gerade Zahl an, wird das Eingangssignal invertiert. Damit lässt dich die folgende Schaltung aufbauen, die eine Addition und Subtraktion durchführen kann.

Addsub

6. 2-Bit-Multiplexer

Der Datenaustausch zwischen den verschiedenen Bereichen eines Computers erfordert Schaltungen, die eine von mehreren Eingangsleitungen auf eine Ausgangsleitung durchschalten können. Es soll ein Multiplexer entworfen werden, der einen von zwei Eingängen auf den Ausgang durchschaltet (1-aus-2-Multiplexer).Um einen der zwei Eingänge auszuwählen, wird eine Adressleitungen benötigt, so dass die
Schaltung insgesamt 3 Eingänge besitzt. Statt die Schaltung über die sehr umfangreiche Funktionstabelle herzuleiten, benutzt man eine besonders nützliche Eigenschaft der UND-Schaltung, die sogenannte Torwirkung. Ein UND-Gatter schaltet nur, wenn alle Eingänge den Wert 1 haben. Wenn die gewünschte Datenleitung den Wert 1 hat, muss auch die Steuerleitung den Wert 1 bekommen. Da bei diesem Multiplexer nur 2 Datenleitungen anliegen, reicht eine Steuerleitung aus. Diese kann den Wert 0 oder 1 haben. Bei 0 schaltet der eine Baustein mit Hilfe einer negation, bei 1 der zweite Baustein.

2mux 

7. 4-Bit-Multiplexer

Entsprechend kann man auch einen 1-aus-4-Multiplexer aufbauen. Bei vier Datenleitungen benötigt man 2 Steuerleitungen. 

4mux