technische informatik i vorlesung 4: vereinfachung von schaltfunktionen mirco hilbert...

47
Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert [email protected] versität Bielefeld hnische Fakultät

Upload: lena-fromm

Post on 06-Apr-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Technische Informatik I

Vorlesung 4: Vereinfachung von Schaltfunktionen

Mirco [email protected]

Universität BielefeldTechnische Fakultät

Page 2: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische 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

Page 3: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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.

Page 4: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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?

Page 5: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 5

DNF: Beispiel

ist in DNF mit

Page 6: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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:

Page 7: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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

Page 8: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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.

Page 9: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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.

Page 10: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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.

Page 11: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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)

Page 12: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 12

Beispiel: KNF ® DNF (1)

Page 13: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 13

Beispiel: KNF ® DNF (2)

Page 14: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 14

Beispiel: KNF ® DNF (3)

Page 15: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 15

Beispiel: KNF ® DNF (4)

Page 16: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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

Page 17: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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:

Page 18: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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.

Page 19: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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:

Page 20: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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.

Page 21: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 21

Beispiel - Wertetabelle· Eine Schaltfunktion sei durch ihre Wertetabelle

gegeben:

Page 22: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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:

Page 23: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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.

Page 24: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 24

Beispiel - Wertetabelle· Eine Schaltfunktion sei durch ihre Wertetabelle

gegeben:

Page 25: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 25

Beispiel - KDNF· Dadurch ergibt sich die folgende KDNF

Page 26: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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.

Page 27: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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:

Page 28: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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!)

Page 29: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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

Page 30: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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:

Page 31: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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!

Page 32: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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!

Page 33: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 33

K-Diagramme: Beispiel 1

· Schaltfunktion

· vereinfachte Schaltfunktion

Page 34: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 34

K-Diagramme: Beispiel 2

· Schaltfunktion

· K-Diagramm

· vereinfachte Schaltfunktion

Page 35: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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

Page 36: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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

Page 37: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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:

Page 38: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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

Page 39: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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

Page 40: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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

Page 41: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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

Page 42: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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

Page 43: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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 -

Page 44: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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 -

Page 45: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Mai 02, 2002 Vorlesung 3: Bool'sche Algebra 45

Synthese von Schaltwerken

Page 46: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

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

Page 47: Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert mail@Mirco-Hilbert.de Universität Bielefeld Technische Fakultät

Technische Informatik I

Nächste Woche:Vorlesung 4: Schaltnetze für Arithmetik

Tim Kö[email protected]

Universität BielefeldTechnische Fakultät