Beruflich Dokumente
Kultur Dokumente
6 Normalformen (4)
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 + x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 + x1 ⋅ x 2 ⋅ x 3 ⋅ x 4
( x 1 + x 2 + x3 + x 4 ) ⋅ ( x1 + x 2 + x 3 + x4 ) ⋅ ( x 1 + x2 + x 3 + x 4 )
C.33
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
...
0 1 0 1 1 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4
C.34
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
5.7 Hauptsatz der Schaltalgebra (2)
...
0 1 0 1 0 x 1 + x2 + x 3 + x 4
C.35
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
KDNF ( f ( x ) ) = KKNF ( f ( x ) )
und
KKNF ( f ( x ) ) = KDNF ( f ( x ) )
C.36
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
6 Synthese von Schaltungen
■ Vorgehen
◆ Aufstellen der Wahrheitstafel
◆ Bilden der KDNF (oder KKNF)
◆ Aufbau der dazugehörigen Schaltung
C.37
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
f ( x 1, x 2 ) = x 1 ⋅ x 2 + x 1 ⋅ x 2 + x 1 ⋅ x 2
▲ Problem
◆ Schaltung wird in aller Regel nicht minimal sein
C.38
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
6.2 Einschub: Binärzahlen
C.39
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
C.40
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
6.3 Beispiel: Eingabemelder
■ Wahrheitstafel
x3 x2 x1 f2(x1, x2, x3) f1(x1, x2, x3)
0 0 0 0 0
0 0 1 0 1
0 1 0 1 0
0 1 1 d d
1 0 0 1 1
1 0 1 d d
1 1 0 d d
1 1 1 d d
C.41
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
■ Uninteressante Funktionswerte
◆ einige Eingabewerte können nicht vorkommen / werden ausgeschlossen
◆ „don’t care“ Ergebnisse
◆ mit „d“ gekennzeichnet
◆ f 1 ( x 1, x 2 , x 3 ) = x 1 ⋅ x 2 ⋅ x 3 + x 1 ⋅ x 2 ⋅ x 3
C.42
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
6.4 Beispiel: Siebensegmentanzeige
f b
g
0 1 2 3 4 5 6 7 8 9
e c
d
C.43
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
f = ( x 3 ⋅ x 2 ⋅ x1 ⋅ x 0 ) + ( x3 ⋅ x 2 ⋅ x 1 ⋅ x 0 ) + ( x 3 ⋅ x2 ⋅ x 1 ⋅ x 0 ) +
( x 3 ⋅ x 2 ⋅ x1 ⋅ x 0 ) + ( x3 ⋅ x 2 ⋅ x 1 ⋅ x 0 ) + ( x 3 ⋅ x2 ⋅ x 1 ⋅ x 0 ) +
( x 3 ⋅ x 2 ⋅ x1 ⋅ x 0 )
C.45
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
■ Wegen der Eindeutigkeit der Darstellung als KDNF bzw. KKNF gilt:
◆ zwei Schaltfunktionen sind äquivalent, wenn sie sich auf die selbe KDNF oder
KKNF zurückführen lassen
• bis auf Vertauschungen bzgl. des Kommutativitätsaxioms
✱ Nutzen
◆ z.B. Minimisieren von Schaltfunktionen
C.46
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8 Minimisierung
■ Größenbegriff notwendig
◆ Menge der notwendigen Gatter
◆ Anzahl der Variablen
◆ Anzahl der notwendigen ICs
◆ Anzahl der notwendigen Kontakte
◆ ...
✱ Größenbegriff hier
◆ Anzahl der booleschen Operationen
C.47
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
A⋅ B+A⋅ B = A
◆ Beweis
C.48
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.1 Grundlage der Minimisierung (2)
■ Beispiel: Oderfunktion
◆ KDNF: f ( x 1, x2 ) = x1 ⋅ x 2 + x 1 ⋅ x 2 + x 1 ⋅ x 2
◆ Umwandlung:
f ( x 1, x 2 ) = x 1 ⋅ x 2 + x 1 ⋅ x 2 + x 1 ⋅ x 2
f ( x1, x2 ) = x1 ⋅ x 2 + x 1 ⋅ ( x2 + x 2 )
f ( x1, x2 ) = x1 ⋅ x2 + x1 ⋅ 1
f ( x1, x2 ) = x1 ⋅ x2 + x1
f ( x1, x2 ) = x1 ⋅ x2 + x1 + x1 ⋅ x2
f ( x1, x 2 ) = ( x1 + x 1 ) ⋅ x 2 + x1
f ( x1, x 2 ) = x 2 + x1
C.49
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.2 Vorgehensweise
■ Manuelles Minimisieren
◆ Umformen (z.B. der KDNF) nach den Regeln der Booleschen Algebra
■ Algorithmisches Verfahren
◆ Verfahren nach Quine/McCluskey
◆ kann durch ein Programm angewandt werden
◆ geeignet für Schaltfunktionen mit vielen Variablen
■ Graphische Verfahren
◆ Händlerscher Kreisgraph
◆ Karnaugh-Veitch Diagramme
◆ geeignet für Schaltfunktionen mit wenigen Variablen
C.50
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.3 Karnaugh-Veitch-Diagramme
x1 x1
x2 x 1 ⋅ x2 x1 ⋅ x2
x2 x 1 ⋅ x2 x1 ⋅ x2
C.51
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
■ Diagrammaufbau
◆ jede Variable x i halbiert das Diagramm in zwei zusammenhängende Teile
• erster Teil für x i
• zweiter Teil für xi
◆ Variable x1 Variable x 2
x1 x1 x1 x1
x2 x 1 ⋅ x2 x1 ⋅ x2 x2 x1 ⋅ x 2 x1 ⋅ x2
x2 x 1 ⋅ x2 x1 ⋅ x2 x2 x1 ⋅ x 2 x1 ⋅ x2
C.52
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.4 Beispiel: Oderfunktion
x1 x1
x2 0 1
x2 1 1
C.53
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
x2 0 1
x2 1 1
f ( x 1, x 2 ) = x 1 + x 2
• Produktterme ergeben sich aus den Variablen die lediglich negiert oder ohne
Negation vorkommen
C.54
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.4 Beispiel: Oderfunktion (3)
■ Alternative Markierung
◆ Markierung nicht so groß wie möglich, aber alle 1en markiert
x1 x1
x2 0 1
x2 1 1
f ( x 1, x 2 ) = x 1 + x 1 ⋅ x 2
C.55
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
■ Dreistellige Schaltfunktionen
◆ Karnaugh-Veitch-Diagramm
x2 x2 x2
x1 x1
x3 x 1 ⋅ x2 ⋅ x 3 x1 ⋅ x 2 ⋅ x 3 x 1 ⋅ x 2 ⋅ x3 x1 ⋅ x2 ⋅ x3
x3 x 1 ⋅ x2 ⋅ x 3 x1 ⋅ x 2 ⋅ x 3 x 1 ⋅ x 2 ⋅ x3 x1 ⋅ x2 ⋅ x3
C.56
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.6 Beispiel: Eingabemelder (2)
x 1 ⋅ x2 ⋅ x 3 x1 ⋅ x 2 ⋅ x 3 x 1 ⋅ x 2 ⋅ x3 x1 ⋅ x2 ⋅ x3
x 1 ⋅ x2 ⋅ x 3 x1 ⋅ x 2 ⋅ x 3 x 1 ⋅ x 2 ⋅ x3 x1 ⋅ x2 ⋅ x3
◆ Variable x2
x2 x2 x2
x 1 ⋅ x2 ⋅ x 3 x1 ⋅ x 2 ⋅ x 3 x 1 ⋅ x 2 ⋅ x3 x1 ⋅ x2 ⋅ x3
x 1 ⋅ x2 ⋅ x 3 x1 ⋅ x 2 ⋅ x 3 x 1 ⋅ x 2 ⋅ x3 x1 ⋅ x2 ⋅ x3
C.57
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
x3 x 1 ⋅ x2 ⋅ x 3 x1 ⋅ x 2 ⋅ x 3 x 1 ⋅ x 2 ⋅ x3 x1 ⋅ x2 ⋅ x3
x3 x 1 ⋅ x2 ⋅ x 3 x1 ⋅ x 2 ⋅ x 3 x 1 ⋅ x 2 ⋅ x3 x1 ⋅ x2 ⋅ x3
C.58
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.7 Beispiel: Eingabemelder (4)
x2 x2 x2
x1 x1
x3 0 1 d 0
x3 1 d d d
C.59
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
■ Markierungen für f2
◆ zwei Bereiche
x2 x2 x2
x1 x1
x3 0 1 d 0
x3 1 d d d
f 2 ( x 1, x 2 , x 3 ) = x 2 + x 3
C.60
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.8 Beispiel: unbestimmte Funktion
x2 x2 x2
x1 x1
x3 1 0 d 1
x3 1 1 d d
f ( x 1, x 2, x 3 ) = x 2 + x 3
C.61
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
x2 x2 x2
x1 x1
x3 1 0 0 1
x3 0 0 1 1
C.62
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.10 Vierstellige Funktionen
x2 x2 x2
x1 x1
x4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x3
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x4
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x3
x4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
C.63
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
x1 x1
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x2 x2 x2
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
C.64
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.10 Vierstellige Funktionen (3)
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x3
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x3
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x4
x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
x4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4 x1 ⋅ x 2 ⋅ x 3 ⋅ x4 x 1 ⋅ x2 ⋅ x 3 ⋅ x 4 x 1 ⋅ x 2 ⋅ x3 ⋅ x 4
C.65
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
■ Markierungen
◆ insbesonder folgende Markierung möglich
X X X X
X X X X
C.66
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.11 Beispiel: 2x2-Multiplizierer
C.67
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
a1 = x1 a0 = x2 b1 = x3 b0 = x4 y3 y2 y1 y0
0x0=0 0 0 0 0 0 0 0 0
0x1=0 0 0 0 1 0 0 0 0
0x2=0 0 0 1 0 0 0 0 0
0x3=0 0 0 1 1 0 0 0 0
1x0=0 0 1 0 0 0 0 0 0
1x1=1 0 1 0 1 0 0 0 1
1x2=2 0 1 1 0 0 0 1 0
1x3=3 0 1 1 1 0 0 1 1
2x0=0 1 0 0 0 0 0 0 0
2x1=2 1 0 0 1 0 0 1 0
2x2=4 1 0 1 0 0 1 0 0
2x3=6 1 0 1 1 0 1 1 0
3x0=0 1 1 0 0 0 0 0 0
3x1=3 1 1 0 1 0 0 1 1
3x2=6 1 1 1 0 0 1 1 0
3x3=9 1 1 1 1 1 0 0 1
C.68
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.11 Beispiel: 2x2-Multiplizierer (3)
x2 x2 x2
x1 x1
x4 0 0 0 0
x3
0 1 1 0
x4
0 1 1 0
x3
x4 0 0 0 0
■ Markierte Bereiche:
y0 = x2 ⋅ x4
C.69
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
x2 x2 x2
x1 x1
x4 0 0 0 0
x3
0 0 1 1
x4
0 1 0 1
x3
x4 0 1 1 0
■ Markierte Bereiche:
y 1 = x 2 ⋅ x 3 ⋅ x 4 + x 1 ⋅ x 2 ⋅ x 3 + x 1 ⋅ x 3 ⋅ x 4 + x1 ⋅ x 2 ⋅ x 4
C.70
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.11 Beispiel: 2x2-Multiplizierer (5)
x2 x2 x2
x1 x1
x4 0 0 0 0
x3
0 0 0 0
x4
0 0 0 1
x3
x4 0 0 1 1
■ Markierte Bereiche:
y2 = x1 ⋅ x2 ⋅ x3 + x1 ⋅ x3 ⋅ x4
C.71
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
x2 x2 x2
x1 x1
x4 0 0 0 0
x3
0 0 0 0
x4
0 0 1 0
x3
x4 0 0 0 0
■ Markierte Bereiche:
y 3 = x 1 ⋅ x 2 ⋅ x 3 ⋅ x4
C.72
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
8.12 Zusammenfassung
■ Markierungsregeln
◆ rechteckige Bereiche mit 2n Elementen markieren
• Achtung: Diagramm gilt als oben und unten „zusammengenäht“
◆ alle 1-Werte müssen markiert werden
◆ möglichst große Bereiche markieren
◆ möglichst wenig Bereiche markieren
C.73
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
9 Schaltnetze
...
xn fm(x)
✱ Kombinatorische Logik
C.74
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
9 Schaltnetze (2)
C.75
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
9 Schaltnetze (3)
■ Begründung
◆ Bezug zur KDNF (oder KKNF)
◆ alle Variablen werden einfach oder negiert benutzt
◆ zunächst Minterme: ein Und-Gatter pro Minterm (erste Stufe)
◆ Summe der Minterme: ein Oder-Gatter für alle Minterme
x3 x2 x1 f2 f1
Beispiel: Eingabemelder
C.76
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
9 Schaltnetze (4)
■ Minimisierung
◆ reduziert Gatteranzahl und Eingangsanzahl pro Gatter
◆ Minimisierung parallel für mehrere Schaltfunktionen des Schaltnetzes
• Verwendung der selben Gatter
◆ z.B. Karnaugh-Veitch-Diagramme für mehrere Schaltfunktionen des Netzes
C.77
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
10 Typische Schaltnetze
10.1 1-aus-k-Multiplexer
C.78
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
10.1 1-aus-k-Multiplexer (2)
■ Realisierung
◆ für n = 2 als DNF
y = s 1 ⋅ s0 ⋅ x0 + s 1 ⋅ s 0 ⋅ x 1 + s1 ⋅ s0 ⋅ x 2 + s 1 ⋅ s0 ⋅ x 3
x0
y
x1
x2
x3
s0
s1
■ Einsatz
◆ Anzeige und Auswahl verschiedener Datenquellen
z.B. Auslesen von Daten aus Speicherzellen
C.79
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
10.2 1-zu-k-Demultiplexer
C.80
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
10.2 1-zu-k-Demultiplexer (2)
■ Realisierung
◆ für n = 2 als DNF
y 0 = s 1 ⋅ s0 ⋅ x , y 1 = s 1 ⋅ s 0 ⋅ x , y 2 = s1 ⋅ s 0 ⋅ x , y 3 = s1 ⋅ s0 ⋅ x
x
y0
y1
y2
s0 y3
s1
■ Einsatz
◆ Zuordnung und Auswahl verschiedener Datensenken
z.B. Speichern von Daten in Speicherzellen
C.81
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
10.3 k-zu-n-Kodierer
x0 y0
x1 y1
Encoder
...
...
C.82
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
10.3 k-zu-n-Kodierer (2)
■ Realisierung
◆ für n = 2, k = 4 als DNF
y 0 = x 1 + x3 , y 1 = x 2 + x 3
x3 x2 x1 x0
y1
y0
■ Einsatz
◆ z.B. Signalisierung eines Eingang
C.83
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
10.4 n-zu-k-Dekodierer
x0 y0
x1 y1
Decoder
...
...
C.84
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/
10.4 n-zu-k-Dekodierer (2)
■ Realisierung
◆ für n = 2, k = 4 als DNF
y 0 = x 0 ⋅ x1 , y 1 = x 0 ⋅ x 1 , y 2 = x 0 ⋅ x 1 , y 3 = x0 ⋅ x 1
y0
y1
y2
x0 y3
x1
■ Einsatz
◆ z.B. Dekodierung eines Maschinenbefehls
C.85
© 2002-2007, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2007s-TI1-C-Boole.fm, 2007-04-24 17.38] http://www-vs.informatik.uni-ulm.de/teach/ss07/ti1/