Wahrheitstabellen
Jede Wahrheitstabelle kann man mit einem logischen Ausdruck darstellen. Beispiel:
A B C f(A,B,C)
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
Als Disjunktive Normalform (DNF); Oder‐
Verknüpfung aller Minterme:
Ziel ist aber nicht irgend einen Ausdruck zu finden, sondern einen möglichst kleinen (also eine
möglichst kleine kombinatorische Schaltung).
Mehr dazu gleich.
Wahrheitstabellen
Allgemein: für den Entwurf von digitalen Schaltungen verwendet man in der Regel eine Darstellung von booleschen Funktionen mittels Normalformen.
A B C f(A,B,C)
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
Neben der disjunktiven Normalform gibt es noch die Konjunktive Normalform (KNF); Und‐Verknüpfung aller Maxterme
Wahrheitstabellen
Bei der Suche nach möglichst kleinen kombinatorischen Schaltungen können auch sogenannte Don‘t ‐Care‐Terme recht hilfreich sein.
A B C f(A,B,C)
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 X
1 0 0 1
1 0 1 X
1 1 0 X
1 1 1 1
Don‘t‐Care Terme: In der kombinatorischen Schaltung, die diese Funktion implementiert, ist es egal welche Ausgabe die Schaltung für die Eingaben 011, 101 und 110 produziert.
Wahrheitstabellen
In einer Wahrheitstabelle kann für die Eingaben auch mehrere Ausgabe‐Bits festgelegt werden. Beispiel:
Eingabe Bit 0
Eingabe Bit 1
Eingabe Bit 2
Ausgabe Bit 0
Ausgabe Bit 1
0 0 0 1 1
0 0 1 1 1
0 1 0 0 1
0 1 1 0 1
1 0 0 1 0
1 0 1 1 1
1 1 0 1 0
1 1 1 1 0
Beispiel: Addition zweier Bits mit Übertrag
A B s(A,B)=A+B c(A,B)=Carry 0 0
0 1 1 0 1 1
Wahrheitstabelle Boolesche Ausdrücke
Kombinatorische Schaltung
Ist das eine gute Schaltung?
Wie sieht n‐Bit‐Addition aus?
Mehr dazu gleich.
(Im Folgenden nehmen wir häufig logische Bauelemente als
Blackbox mit Eingängen und Ausgängen an. Die Funktion des Bausteins wird nur textuell
beschrieben.)
Logische Bausteine
Minimierung
Minimierung mittels Rechenregeln
Beispiel: Minimierung der folgenden DNF
(!A * !B * C) + (!A * B * !C) + (A * !B * !C) + (A * !B * C) + (A * B * !C)
Minimierung mittels KV‐Diagramm
A B C D f(A,B,C,D)
0 0 0 0 1
0 0 0 1 1
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 1
Ordne Variablen einer 2‐, 3‐ oder 4‐Stelligen Funktion in Tabelle so an, dass sich benachbarte Felder nur in einer Variablen unterscheiden.
Minimierung mittels KV‐Diagramm
A B C D f(A,B,C,D)
0 0 0 0 1
0 0 0 1 1
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 1
1 1 1 1 1
Trage für alle Minterme eine 1 in dem Diagramm ein.
A A
C C
B B
D D B
D
Minimierung mittels KV‐Diagramm
A B C D f(A,B,C,D)
0 0 0 0 1
0 0 0 1 1
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 1
Fasse benachbarte 1en zu den größtmöglichen Blöcken der Größe 2^n zusammen.
1 1 1 1
1
1 1 1
A A
C C
B B
D D B
D
KV‐ Diagramm: Noch ein Beispiel
A B C D f(A,B,C,D)
0 0 0 0 1
0 0 0 1 X
0 0 1 0 0
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 X
0 1 1 1 1
1 0 0 0 X
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 1
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
Bemerkung 1: Don‘t cares können beliebig für 0 oder 1 stehen.
Bemerkung 2: Blöcke können auch über den KV‐
Diragrammrand hinaus reichen.
KV‐ Diagramm: Noch ein Beispiel
A B C D f(A,B,C,D)
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 1
0 1 0 1 0
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 0
1 1 1 0 1
Bemerkung 3: anstatt der 1en können auch die 0en zusammengefasst werden (dann als DNF).
Minimierung nach Quine ‐ Mc Cluskey
F(A,B,C,D) = !A !B !C !D + !A !B !C D + !A B !C !D +
!A B !C D + !A B C !D + !A B C D + A !B !C !D + A !B !C D + A !B C D + A B C D
Notiere die Funktion als
Binärelemente und fasse diese zu Gruppen zusammen
# A B C D Gruppe
Die Binärelemente werden nach den in ihnen vorkommenden Einsen in jeweilige Gruppen eingeteilt.
Minimierung nach Quine ‐ Mc Cluskey
# A B C D OK
0 0 0 0 0
1 0 0 0 1
4 0 1 0 0
8 1 0 0 0
5 0 1 0 1
6 0 1 1 0
9 1 0 0 1
7 0 1 1 1
11 1 0 1 1
15 1 1 1 1
# A B C D OK # A B C D OK
Ermitteln der Primterme