Upload
lena-fromm
View
218
Download
0
Embed Size (px)
Citation preview
Technische Informatik I
Vorlesung 4: Vereinfachung von Schaltfunktionen
Mirco [email protected]
Universität BielefeldTechnische Fakultät
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 2
Übersicht
· Normalformen· disjunktive Normalform· konjunktive Normalform
· Vereinfachung von Schaltfunktionen· Systematische Verfahren zur Vereinfachung
von Schaltfunktionen· Karnaugh-Diagramme· Quine-McCluskey-Verfahren
· Synthese von Schaltwerken
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 3
Literale
Definition (Literal)Die Konstanten 0 und 1 sowie alle Variablen und negierten Variablenheißen Literale.
1 und heißen positive Literale.0 und heißen negative Literale.
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 4
Terme
Definition (Term)· Die Konstanten 0 und 1 sowie alle Variablen heißen Terme.· Ist t ein Term, dann ist auch (Øt ) ein Term.· Sind t1 und t2 Terme, dann sind auch (t1 Ù t2) und
(t1 Ú t2) Terme· Wir lassen die Parenthese weg, falls der Term
ohne Parenthese noch eindeutig ist· Aber was bedeutet x Ù y Ú x ?
Gleich x? Oder gleich x Ú y?
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 5
DNF: Beispiel
ist in DNF mit
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 6
Disjunktive Normalform
Definition (Disjunktive Normalform)Ein Term ist in disjunktiver Normalform (DNF) gdw. er eine Disjunktion von Konjunktionen von Literalen ist, d.h.
t = t1 Ú t2 Ú ... Ú tn n ³ 1
mit ti = (li 1 Ù li 2 Ù ... Ù li mi) 1 £ i £ n und m i ³1
wobei die li j Literale sind.
Etwas kompakter geschrieben, bedeutet das:
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 7
Konjunktive Normalform
Definition (Konjunktive Normalform)Analog zur DNF ist ein Term t in konjunktiver Normalform (KNF) gdw. er eine Konjunktion von Disjunktionen von Literalen ist, also
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 8
Fundamentaler Satz für bool‘sche Normalformen
Zu jedem Term, d.h. zu jeder n-stelligen Schaltfunktion, gibt es einen äquivalenten Term in DNF und einen äquivalenten Term in KNF.
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 9
Algorithmus zur Herstellung einer DNF
Algorithmus zur Herstellung einer DNF aus einem beliebigen Term t0Ziel: eine Negation steht nur noch vor Variablen.Ersetze in t jedes Vorkommen eines Teilterms der Form
bis kein derartiger Teilterm mehr vorkommt.
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 10
Algorithmus zur Herstellung einer DNF
2 Ersetze in t jedes Vorkommen eines Teilterms der Form
(Distributivgesetz)bis kein derartiger Teilterm mehr vorkommt.
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 11
Algorithmus zur Herstellung einer DNF
Achtung:· der Algorithmus kann exponentiellen Aufwand
bedeuten (z.B. Konversion eines Terms in KNF in eine DNF-Form)
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 12
Beispiel: KNF ® DNF (1)
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 13
Beispiel: KNF ® DNF (2)
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 14
Beispiel: KNF ® DNF (3)
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 15
Beispiel: KNF ® DNF (4)
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 16
Effizienzbetrachtung
· Achtung! Exponentiell heißt impraktikabel!
· Ampelbeispiel: 8 Eingangsvariablen· DEP-Decoder: 16 Funktionen mit je 12
Eingangsvariablen
#Variablen #Operationen zur Vereinfachungn worst case > 2^n1 > 23 > 88 > 25612 > 4K16 > 64K32 > 4G64 > 4G · 4G
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 17
Minterm
Definition (Minterm)Ein Term ist ein Minterm, wenn er eine Konjunktion aller in der Schaltfunktion betrachteten Literale ist.
Es gilt:
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 18
Minterm: Beispiel
Beobachtung:minterm(0, 1, 1) ist nur 1 für die Belegung(0, 1, 1) der Eingangsvariablen.
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 19
Maxterm
Definition (Maxterm)Analog zum Minterm ist ein Maxterm eine
Disjunktion aller in der Schaltfunktion betrachteter Literale.
Es gilt:
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 20
Wertetabelle « DNF· Nach dem Fundamentalen Satz für bool'sche
Normalformen läßt sich jede n-stellige Schaltfunktion in DNF darstellen.
· Über eine Wertetabelle kann man auf einfache Weise die Schaltfunktion in DNF herstellen, indem man zu jeder Variablenbelegung (d.h. Zeile in der Wertetabelle) die Konjunktion von Funktionswert und Minterm bildet und diese Ù-Terme miteinander ver-ODER-t.
· Schauen wir uns das an einem einfachen Beispiel an.
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 21
Beispiel - Wertetabelle· Eine Schaltfunktion sei durch ihre Wertetabelle
gegeben:
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 22
Beispiel - DNF· Durch Disjunktion der einzelnen Zeilen erhält
man die zugehörige Schaltfunktion in DNF:
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 23
Kanonische disjunktive Normalform
Definition (Kanonische Disjunktive Normalform)
wobei die alle möglichen Belegungen der Eingangsvariablen sind, heißt vollständige oder kanonische disjunktive Normalform.
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 24
Beispiel - Wertetabelle· Eine Schaltfunktion sei durch ihre Wertetabelle
gegeben:
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 25
Beispiel - KDNF· Dadurch ergibt sich die folgende KDNF
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 26
Beispiel - Vereinfachung der KDNF· Da die 0-Terme bei der Disjunktion keine Rolle
spielen, lässt sich die KDNF folgendermaßen vereinfachen:
· Im zweiten Schritt wurden die letzten Terme zusammengefasst, da sie sich nur dadurch unterscheiden, dass x2 einmal als positives und einmal als negatives Literal auftritt.
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 27
Zusammenfassen von Teiltermen· Die eben angewendete Regel lässt sich wie
folgt verallgemeinern:Terme der Art
können zusammengefasst werden zu:
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 28
Zusammenfassen von Teiltermen
· Beweis: (A Ù x Ù B) Ú (A Ù Øx Ù B)
= (A Ù B Ù x) Ú (A Ù B Ù Øx) (Kommutativität) = (A Ù B ) Ù (x Ú Øx) (Distributivität) = (A Ù B ) Ù 1 (selber prüfen!) = (A Ù B ) (selber prüfen!)
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 29
Karnaugh-Diagramme
· graphische Darstellung einer Schaltfunktion äquivalent zu Wertetabelle oder Normalform
· geeignet um Schaltfunktionen mit bis zu n = 4 Eingangsvariablen zu vereinfachen
· Funktionswerte werden in ein Diagramm mit 2n Feldern eingetragen
· durch Blockbildung können mehrere Minterme zu einem einfacheren Term zusammengefasst werden
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 30
K-Diagramm für zwei Eingangsvariablen
· Tabellen-Schema für zwei Variablen:
· Minterme der einzelnen Tabellenzellen:
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 31
K-Diagramm für drei Variablen
· Tabellen-Schema für drei Variablen:
· Wertebelegungen für x2, x1 werden gemäß Gray-Code angeordnet:Zwei aufeinander folgende Spalten unterscheiden sich in genau einem Bit
· Achtung! Variablenreihenfolge!
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 32
K-Diagramm für vier Variablen
· Tabellen-Schema für vier Variablen:
· Wertebelegungen für x2, x1 sowie für x4, x3 werden gemäß Gray-Code angeordnet
· Achtung! Variablenreihenfolge!
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 33
K-Diagramme: Beispiel 1
· Schaltfunktion
· vereinfachte Schaltfunktion
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 34
K-Diagramme: Beispiel 2
· Schaltfunktion
· K-Diagramm
· vereinfachte Schaltfunktion
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 35
K-Diagramme: Beispiel 3
· Schaltfunktion
· K-Diagramm
· Die Schaltfunktion ist durch das K-Diagramm nicht weiter vereinfachbar
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 36
K-Diagramme: Unterbestimmte Funktion
· Eingangswertkombinationen, für die der Funktionswert nicht festgelegt ist, können zur Blockbildung mit 1 oder 0 belegt werden
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 37
Nachteile und Einschränkungen von K-Diagrammen· Ab vier Eingangsvariablen werden Karaugh-
Diagramme zu unübersichtlichfür 5 Variablen: für 6 Variablen:
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 38
Quine-McCluskey-Verfahren
1 Zeilen der Wertetabelle werden so umgeordnet, dass Gruppen aus Mintermen entstehen, die die gleiche Anzahl positiver Literale haben. Hierbei werden nur solche Zeilen betrachtet, bei denen der Funktionswert der Schaltfunktion gleich 1 ist.
2 Verschmelzung jeweils zweier Minterme aus unterschiedlichen Gruppen, die sich nur um die Negation genau einer Variablen unterscheiden und Streichung doppelter Zeilen.
3 Wiederholung von Schritt 2 bis keine weitere Vereinfachung mehr möglich ist.
4 Disjunktive Verknüpfung dieser nicht mehr weiter zusammenfassbaren Terme (Primimplikanten) ergibt vereinfachte Schaltfunktion
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 39
Quine-McCluskey - Beispiel 1
· ursprüngliche WertetabelleZeile
0 0 0 0 01 0 0 1 02 0 1 0 03 0 1 1 04 1 0 0 15 1 0 1 16 1 1 0 07 1 1 1 0
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 40
Quine-McCluskey - Beispiel 1
· Schritt 1: Umordnung
· Schritt 2: Verschmelzung
· Schritt 4: vereinfachte Schaltfunktion
Zeile
4 1 0 0 1 1 positives Literal5 1 0 1 1 2 positive Literale
Zeile
4, 5 1 0 - 1
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 41
Quine-McCluskey - Beispiel 2
· ursprüngliche WertetabelleZeile
0 0 0 0 0 11 0 0 0 1 12 0 0 1 0 13 0 0 1 1 14 0 1 0 0 05 0 1 0 1 06 0 1 1 0 07 0 1 1 1 18 1 0 0 0 19 1 0 0 1 110 1 0 1 0 111 1 0 1 1 012 1 1 0 0 013 1 1 0 1 014 1 1 1 0 115 1 1 1 1 1
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 42
Quine-McCluskey - Beispiel 2
· Schritt 1: UmordnungZeile
0 0 0 0 0 1 0 positive Literale1 0 0 0 1 1 1 positives Literal2 0 0 1 0 18 1 0 0 0 13 0 0 1 1 1 2 positive Literale9 1 0 0 1 1
10 1 0 1 0 17 0 1 1 1 1 3 positive Literale
14 1 1 1 0 115 1 1 1 1 1 4 positive Literale
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 43
Quine-McCluskey - Beispiel 2
· Schritt 2: VerschmelzungZeile
0, 1 0 0 0 - 0 positive Literale0, 2 0 0 - 00, 8 - 0 0 01, 3 0 0 - 1 1 positives Literal1, 9 - 0 0 12, 3 0 0 1 -
2, 10 - 0 1 08, 9 1 0 0 -
8, 10 1 0 - 03, 7 0 - 1 1 2 positive Literale
10, 14 1 - 1 07, 15 - 1 1 1 3 positive Literale14, 15 1 1 1 -
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 44
Quine-McCluskey - Beispiel 2
· Schritt 3 ® Schritt 2: Verschmelzung
· Schritt 4: vereinfachte Schaltfunktion
Zeile
0, 1, 2, 3 0 0 - - 0 positive Literale0, 1, 8, 9 - 0 0 -0, 2, 8, 10 - 0 - 0
3, 7 0 - 1 1 2 positive Literale10, 14 1 - 1 07, 15 - 1 1 1 3 positive Literale
14, 15 1 1 1 -
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 45
Synthese von Schaltwerken
Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 46
Literatur und Links
· Structured Computer OrganizationAndrew S. Tanenbaum, Prentice Hall, 1999
· elearn.rvs.uni-bielefeld.de
Technische Informatik I
Nächste Woche:Vorlesung 4: Schaltnetze für Arithmetik
Tim Kö[email protected]
Universität BielefeldTechnische Fakultät