Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert...

Post on 06-Apr-2016

218 views 0 download

transcript

Technische Informatik I

Vorlesung 4: Vereinfachung von Schaltfunktionen

Mirco Hilbertmail@Mirco-Hilbert.de

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öhlertkoehler@TechFak.Uni-Bielefeld.de

Universität BielefeldTechnische Fakultät