Entdecken Sie eBooks
Kategorien
Entdecken Sie Hörbücher
Kategorien
Entdecken Sie Zeitschriften
Kategorien
Entdecken Sie Dokumente
Kategorien
Technische Informatik
3. Schaltalgebra und Schaltfunktionen
Mario Porrmann
Wintersemester 2019/2020
2
Schaltfunktionen
Normalformen
3
Aussagen (Aussagenlogik)
Analyse
Optimierung
4
Synthese
0
1 1
0 1
0 0
1 ??? .
. .
. .
. 0
1 Schaltnetz
Analyse
0
1
0 &
0 & ?
1 ?
&
. ?
.
.
1 Schaltnetz
Optimierung
a
&
b 1 a
≥1 z
& ≥1 z
x 1
c 1 ≥1
&
Schaltnetz 2
Schaltnetz 1
Eine Funktion f: {0, 1}n → {0, 1}k kann durch verschiedene Schaltnetze
realisiert werden
Gesucht: Die beste Implementierung (z. B., die kleinste, schnellste, …)
7
Eingänge Ausgänge
a b a*b a+b a�
0 0 0 0 1
0 1 0 1 1
1 0 0 1 0
1 1 1 1 0
Anmerkung
Die Negation einer Variablen wird auch geschrieben als:
¬a, /a oder a’, selten: na
9
Boolesche Algebra
Definition: Eine Menge B von Elementen, über der zwei Operationen + und *
erklärt sind, ist genau dann eine Boolesche Algebra (B; +, *), wenn für
beliebige Elemente a, b, c ∈ B folgende Axiome gelten:
(1) a + b = b + a Kommutativität
a*b=b*a
Abgeleitete Regeln
Satz
Für alle Elemente a, b, c einer Booleschen Algebra (B; +, *) gilt:
(a) a+1 = 1
a*0 = 0
Abgeleitete Regeln
(c2) a�+(a+b) = 1
a�*(a*b) = 0
Abgeleitete Regeln
(e2) 1� = 0
0� = 1
Dualitätsprinzip
Satz (Dualitätsprinzip)
Zu jeder Aussage, die sich aus den vier Axiomen der Booleschen Algebra
ableiten lässt, existiert eine duale Aussage, die entsteht durch
Vertauschen der Operationen + und * und gleichzeitig
Umgangssprachliche Beispiele
Zufrieden = warm und satt
Behauptung: a + 1 = 1
Beweis
a + 1 = (a + 1) * 1 (neutrales Element)
= (a + 1) * (a + a�) (Komplement)
= a + (1 * a�) (Distributivgesetz)
= a + a� (neutrales Element)
=1 (Komplement)
15
NICHT (NOT)
(1) a + b = b + a
a b
=
a*b=b*a b a
a b b a
=
(2) 0 + a = a 0
=
a
1*a=a a
1 a a
=
17
a b a b
=
c c c
(4) a + a� = 1 a
1
=
a * a� = 0 a
a a 0
=
18
Schaltfunktionen
Wertetabelle
a b c f(a, b, c)
0 0 0 0
0 0 1 0
0 1 0 0 Gleichwertiger Boolescher Ausdruck:
0 1 1 0
1 0 0 0 f(a,b,c) = a ∧ (b ∨ c)
1 0 1 1
1 1 0 1
1 1 1 1
20
Wertetabelle
vN vN-1 • • • v2 v1 f0 f1 • • • fmax-1*
0 0 • • • 0 0 0 0 • • • 1
0 0 0 1 0 0 1
0 0 1 0 0 0 1
• • • • • • •
• • • • • • •
• • • • • • •
1 1 1 0 0 0 1
1 1 • • • 1 1 0 1 • • • 1
Einstellige Schaltfunktionen
v 0 1
Nullfunktion f0 0 0
Identität f1 0 1
Komplement f2 1 0
Einsfunktion f3 1 1
22
�B + AB� :
Mit Hilfe einer Wahrheitstafel für A
A B �B
A AB� �B ∨ AB�
A A≠B
0 0 0 0 0 0
1 0 0 1 1 1
0 1 1 0 1 1
1 1 0 0 0 0
. .
x1 ∧ ∧ x n
. .
. .
.
UND .
& .
.
.
.
. . . .
x1 ∨ ∨ x n
. .
.
ODER .
≥1 . .
.
.
.
. . . .
. .
Anti-
x1 ≠ ≠ x n
.
. .
=1 .
.
.
valenz .
. . .
x1 ∧ ∧ x n
.
. . .
.
NAND .
& .
.
.
. . . .
x1 ∨ ∨ x n
.
.
NOR . ≥1 . . .
.
. . . .
Negation 1 x1
x1
x2 x1 ∧ x 2 ∧ x 3 & x1 ∧ x2 ∧ x 3
x3
Schaltungsbeispiel Exklusiv-ODER
Aktuelle DIN-Norm
A
& S = A B ∨ AB = A ⊕ B
B ≥1
&
Amerikanische Symbole
A
S = A B ∨ AB = A ⊕ B
B
27
Satz
Zu jeder Schaltfunktion existieren beliebig viele Boolesche Ausdrücke,
die sie darstellen
Beweisidee
Es existiert ein Ausdruck, der die Schaltfunktion beschreibt. Mit Hilfe der
Rechenregeln (z. B. De Morgan´sche Gesetze) lassen sich Schaltfunktionen
in andere Formen mit gleichem Schaltverhalten umformen bzw. erweitern
Beispiel
Wenn der Ausdruck a die Funktion beschreibt, dann auch a+a, a+a+a, …
Ein Boolescher Ausdruck kann mit Hilfe der Regeln der Schaltalgebra also
auch in eine bestimmte Beschreibungsform gebracht werden
28
Vollständige Verknüpfungsbasen
Beispiele
Operatormenge Negation (NICHT) Disjunktion (ODER) Konjunktion (UND)
{',*,+} a' a+b a*b
{',*} a' (a' * b' )' a*b
{',+} a' a+b (a' + b' )'
{↓} (NOR) a↓a (a ↓ b) ↓ (a ↓ b) (a ↓ a) ↓ (b ↓ b)
{|} (NAND) a|a (a | a) | (b | b ) (a | b) | (a | b)
29
Vollständige Verknüpfungsbasen
Negation : f(x) = x
= ( xx ) x & x
= x|x
UND : f ( x, y ) = xy
= ( xy ) ∨ ( xy )
= ( xy ) ∨ ( xy ) x
y & & xy
= ( xy ) ( xy )
= (x | y) (x | y)
= (x | y) | (x | y)
31
ODER : f ( x, y ) = x ∨ y
=x∨y
x &
=x y & x∨y
= x|y y &
= (x | x) | (y | y)
32
Boolesche Normalformen
Boolesche Normalformen
Minterm
Minterm (Vollkonjunktion):
UND-Verknüpfung, die alle Schaltvariablen jeweils einmal enthält,
wobei diese negiert oder nicht negiert vorkommen können
xN * xN-1 * xN-2 * … * x2 * x1
Anmerkungen
Jeder Minterm hat nur bei einer Kombination der Schaltvariablen
den Wert 1, bei allen anderen den Wert 0
Bei N Schaltvariablen gibt es 2N verschiedene Minterme
35
Vorgehensweise
x3 x2 x1 y 𝑦𝑦 =
Jeder Zeile der Wahrheitstafel kann ein Minterm
0 0 0 1 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1 + zugeordnet werden. Dieser entsteht durch UND-
0 0 1 0 Verknüpfung der zugehörigen Schaltvariablen,
die im Falle einer 0 negiert und für eine 1 nicht-
0 1 0 1 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1 +
negiert übernommen werden
0 1 1 1 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1 +
Jeder Minterm erzwingt für „seine“ Zeile eine 1,
1 0 0 0 für alle anderen Zeilen ist er 0
1 0 1 0 Schaltfunktion aufstellen, die nur die Minterme
1 1 0 1 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1 mit dem Beitrag y = 1 einschließt und all diese
1 1 1 0 Minterme entsprechend der Wertetabelle
ODER-verknüpft (Disjunktion)
DKN: 𝑦𝑦 = 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1 + 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1 + 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1 + 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1
36
x3 x3
x2 & &
x1 x1
x3
x2 &
x1 x3
≥1 y x2 & ≥1
x3 x1 y
x2 &
x1
x3 x3
x2 & x2 &
x1 DKN x1 DNF
𝑦𝑦 = 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1 + 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1 + 𝑦𝑦 = 𝑥𝑥3 𝑥𝑥1 + 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1 + 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1
𝑥𝑥3 𝑥𝑥2 𝑥𝑥1 + 𝑥𝑥3 𝑥𝑥2 𝑥𝑥1
38
x3 x3
x1
& x1
&
x3 x3
x2 & ≥1 y
x2 & & y
x1 x1
x3 x3
x2 & x2 &
x1 DNF x1 NAND
DNF kann durch Ersetzen der UND-Gatter und des ODER-Gatters in eine
NAND-basierte Realisierung umgeformt werden
(vgl. De Morgansches Gesetz)
39
Vorgehensweise (1)
x3 x2 x1 y 𝑦𝑦 =
Schaltfunktion aufstellen, die nur die
0 0 0 1 Maxterme mit dem Beitrag y = 0 einschließt
0 0 1 0 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ∗ und all diese Maxterme UND-verknüpft
(Konjunktion)
0 1 0 1
Maxterme entstehen durch ODER-Ver-
0 1 1 1
knüpfung der zugehörigen Schaltvariablen
1 0 0 0 (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ) ∗ in nicht-negierter Form für 0 und negierter
1 0 1 0 (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ) ∗ Form für 1
1 1 0 1 Jeder Maxterm kann für genau eine Zeile
1 1 1 0 (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ) eine 0 erzwingen, für alle anderen Zeilen
außer seiner eigenen ist er 1
40
Vorgehensweise (2)
x3 x2 x1 y 𝑦𝑦 =
Die UND-Verknüpfung (Konjunktion) der
0 0 0 1 Maxterme liefert dann eine eindeutige
0 0 1 0 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ∗ Darstellung der Schaltfunktion, die
konjunktive kanonische Normalform (KKN)
0 1 0 1
0 1 1 1 Analog zu DNF: Oft Vereinfachung zur
1 0 0 0 (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ) ∗ (im Allg. nicht eindeutig festgelegten)
1 0 1 0 (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ) ∗ konjunktiven Normalform (KNF) möglich
1 1 0 1 𝑦𝑦 = 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ∗
(𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ) ∗ (𝑥𝑥3 + 𝑥𝑥1 )
1 1 1 0 (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 )
KKN: 𝑦𝑦 = 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ∗ (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ) ∗ (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ) ∗ (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 )
41
x3 x3
x2 ≥1 x2
x1
≥1
x1
x3
x2 ≥1
x1 x3
& x2 ≥1 & y y
y x1
x3
x2
x1
≥1
x3
x3 ≥1
x2 ≥1
x1 KKN x1 KNF NOR
𝑦𝑦 = 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ∗ (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ) ∗ (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ) ∗ (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 )
𝑦𝑦 = 𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ∗ (𝑥𝑥3 + 𝑥𝑥2 + 𝑥𝑥1 ) ∗ (𝑥𝑥3 + 𝑥𝑥1 )
KNF kann durch Ersetzen der ODER-Gatter und des UND-Gatters in eine
NOR-basierte Realisierung umgeformt werden
42
x1 x1
y y
. UND- . ODER- . ODER- . UND-
. . . .
. Funktion . Funktion . Funktion . Funktion
xn xn
43
Beispiel
# a b Minterme Maxterme
(Vollkonjunktion) (Volldisjunktion)
0 0 0 K0 = a'⋅ b' D0 = a + b
1 0 1 K1 = a' ⋅ b D1 = a + b'
2 1 0 K2 = a ⋅ b' D2 = a' + b
3 1 1 K3 = a ⋅ b D3 = a' + b'
44
D.h., die Indizes der Maxterme sind die Indizes, die nicht bei den
Mintermen enthalten sind, und umgekehrt
Wenn die KNF angegeben ist, dann kann die DNF direkt angegeben
werden, und umgekehrt
45
Kanonische Schreibweise:
x3 x2 x1 y Term DNF: y = m0 + m2 + m3 + m6
0 0 0 1 m0 = x´3⋅x´2⋅x´1 Summe von Produkten
0 0 1 0 M1 = x3+x2+x´1
KNF: y = M1 ⋅ M4 ⋅ M5 ⋅ M7
0 1 0 1 m2 = x´3⋅x2⋅x´1
Produkt von Summen
0 1 1 1 m3 = x´3⋅x2⋅x1
1 0 0 0 M4 = x´3+x2+x1 Kurzschreibweise:
1 0 1 0 M5 = x´3+x2+x´1 y = ∑m(0,2,3,6)
1 1 0 1 m6 = x3⋅x2⋅x´1 bzw. y = ∏M(1,4,5,7)
1 1 1 0 M7 = x´3+x´2+x´1
Resümee