Kpitel 4 Minimierung Prof. Dr. Dirk W. Hoffmnn Hochschule Krlsruhe w University of Applied Sciences w Fkultät für Informtik
Minimierung Motivtion Jede Boolesche Funktion lässt sich uf verschiedene Weise drstellen und dmit unterschiedlich in Hrdwre implementieren Disjunktive Normlform Konjunktive Normlform Normlformdrstellungen sind sehr ufwendig Bsieren uf Mintermen zw. Mxtermen Jeder Minterm zw. Mxterm enthält lle Eingngsvrilen Formellänge steigt exponentiell mit der Anzhl der Eingngsvrilen Für die Prxis nicht geeignet Ziel der Minimierung Die Suche nch einer einfcheren Lösung 4. 2
Minimierung Beispiel x 1 x 2 x 3 =1 y x 4 4. 3
Beispiel Originlschltung Disjunktive Form Konjunktive Form x 1 x 2 x 3 x 4 x 1 x 1 x 2 x 3 x 4 x 2 x 3 x 4 =1 y y y Welche Schltung ist esser? 4. 4
Optimierungsziele und Kostenfunktion Die Güte einer Schltung ist reltiv O eine Schltung esser ist, hängt vom Optimierungsziel Typische Optimierungsziele Hohe Tktrte ( speed ) Geringer Pltzverruch ( re ) Optimierungsziele sind komplementär Schnellste Schltung enötigt viel Pltz Kleinste Schltung ietet nur geringe Tktrte Ds Optimierungsziel wird mit einer Kostenfunktion modelliert C S = Schltungstiefe ( Geschwindigkeitsoptimierung ) C A = Anzhl Zellen ( Größenoptimierung ) 4. 5
Beispiel Originlschltung Disjunktive Form Konjunktive Form x 1 x 2 x 3 x 4 x 1 x 1 x 2 x 3 x 4 x 2 x 3 x 4 =1 y y y C A = 4 C S = 3 C A = 5 C S = 2 C A = 4 C S = 2 Fzit: Wähle Schltung 2 oder 3 für eine schnelle Schltung Wähle Schltung 1 oder 3 für eine kompkte Schltung Können die Kostenfunktionen noch veressert werden? 4. 6
Veresserte Kostenfunktionen Zellen sind nicht gleich Zellen Schltelemente mit vielen Eingängen sind größer Veresserung: Bilden einer gewichteten Summe Kominieren verschiedener Metriken Bei gleich schnellen Schltungen wird diejenige evorzugt, die weniger Fläche enötigt C A = g Gtter Anzhl Eingänge von g C S = (100 Schltungstiefe) + C A Industrielle Werkzeuge Zelleniliothek mit Flächen- und Geschwindigkeitsdten Sttische Timing-Anlyse 4. 7
Originlschltung Disjunktive Form Konjunktive Form x 1 x 2 x 3 x 4 x 1 x 1 x 2 x 3 x 4 x 2 x 3 x 4 =1 y y y C A = 4 C S = 3 C A = 5 C S = 2 C A = 4 C S = 2 C A = 8 C S = 308 C A = 16 C S = 216 C A = 9 C S = 209 Fzit: Wähle Schltung 3 für eine schnelle Schltung Wähle Schltung 1 für eine kompkte Schltung 4. 8
Minimierung Nochmls zurück zu den isher etrchteten Verfhren Disjunktive Normlform, Konjunktive Normlform Beide erzeugen einen Term für jede 1-Zeile der Whrheitstelle Optimierung: Zusmmenfssung mehrerer Zeilen in einem Term d c y 10 1 0 1 0 1 11 1 0 1 1 1 d c d c y 11 1 0 1 1 1 12 1 1 0 0 1 nicht möglich 4. 9
Minimierung Die Zusmmenfssung funktioniert genu dnn, wenn sich die Vrilenelegungen in genu einer Vrilen unterscheiden. Die identisch elegten Vrilen heißen geunden. Die unterschiedlich elegte Vrile heißen frei. d c y 10 1 0 1 0 1 11 1 0 1 1 1 d c d c y 11 1 0 1 1 1 12 1 1 0 0 1 nicht möglich 4. 10
Minimierung Welche mthemtische Regel verirgt sich hier? d c y 10 1 0 1 0 1 11 1 0 1 1 1 Erste Zeile: d c Zweite Zeile: d c d c Die disjunktive Verknüpfung ergit (d c ) (d c ) = (K) + (A) ((d c ) ) ((d c ) ) = (D) (d c ) ( ) = (I) (d c ) 1 = (N) d c 4. 11
Minimierung d c y 0 0 0 0 0 1 1 0 0 0 1 1 2 0 0 1 0 1 3 0 0 1 1 1 4 0 1 0 0 1 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 1 8 1 0 0 0 1 9 1 0 0 1 1 10 1 0 1 0 1 11 1 0 1 1 1 12 1 1 0 0 1 13 1 1 0 1 1 14 1 1 1 0 1 15 1 1 1 1 1 d c d c d c d c d c d c d c d c 4. 12
KV-Digrmme Nchteil der Whrheitstelle Benchrte Belegungen stehen in der Whrheitstelle nicht immer neeneinnder Neeneinnder stehende Belegungen in der Whrheitstelle sind nicht immer enchrt Ziel Drstellung, in der die Nchrschftseziehung offensichtlich ist In einer solchen Drstellung wäre die Blockildung einfch möglich Lösung Krnugh-Veitch-Digrmme (KV-Digrmme) Anordnung ller Belegungen in einer Mtrix Grundlge für die grphische Minimierung oolescher Funktionen 4. 13
Konstruktion von KV-Digrmmen 0 1 0 1 2 3 0 1 2 3 5 4 7 6 Ds KV-Digrmm für eine Funktion mit n Vrilen wird us einem Digrmm mit n-1 Vrilen durch wechselweises horizontles und vertikles Spiegeln erzeugt. c e 0 1 5 4 0 1 5 4 20 21 17 16 2 3 7 6 2 3 7 6 22 23 19 18 10 11 15 14 10 11 15 14 30 31 27 26 8 9 13 12 d 8 9 13 12 28 29 25 24 d c c 4. 14
Üung 1 d c y 0 0 0 0 0 1 1 0 0 0 1 1 2 0 0 1 0 1 3 0 0 1 1 1 4 0 1 0 0 0 5 0 1 0 1 0 6 0 1 1 0 0 7 0 1 1 1 0 8 1 0 0 0 0 9 1 0 0 1 1 10 1 0 1 0 0 11 1 0 1 1 1 12 1 1 0 0 0 13 1 1 0 1 0 14 1 1 1 0 0 15 1 1 1 1 0 0 1 2 3 10 11 8 9 5 4 7 6 15 14 13 12 c d 4. 15
Üung 2 d c y 0 0 0 0 0 1 1 0 0 0 1 0 2 0 0 1 0 1 3 0 0 1 1 0 4 0 1 0 0 0 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 1 8 1 0 0 0 0 9 1 0 0 1 1 10 1 0 1 0 1 11 1 0 1 1 0 12 1 1 0 0 0 13 1 1 0 1 1 14 1 1 1 0 1 15 1 1 1 1 1 0 1 2 3 10 11 8 9 5 4 7 6 15 14 13 12 c d 4. 16
Minimierung unvollständiger Funktionen Wiederholung Unvollständig definierter Funktionen enthlten Belegungen, für die der Funktionswert gleichgültig ist Solche Belegungen werden Freistellen oder Don t cres gennnt Vorgehen Die Funktionswerte der Freistellen werden so gewählt, dss mximl große Blöcke entstehen 0 1-0 0 1-0 =1 0 1-0 0 1 - - 0 1 - - =1 =0 0 1 - - c c c 4. 17
Üung 3 d c y 0 0 0 0 0 0 1 0 0 0 1 1 2 0 0 1 0 0 3 0 0 1 1 0 4 0 1 0 0 0 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 1 8 1 0 0 0-9 1 0 0 1 1 10 1 0 1 0 0 11 1 0 1 1 0 12 1 1 0 0 0 13 1 1 0 1 0 14 1 1 1 0-15 1 1 1 1 1 0 1 2 3 10 11 8 9 5 4 7 6 15 14 13 12 c d 4. 18
Begriffe Block Block 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 1 d c Primlock Impliknt Impliknt y = c d c d cd Primimpliknt 4. 19
Minimlformen Die hier vorgestellte Minimierung mit Hilfe von KV-Digrmmen erechnet eine disjunktive Minimlform der Eingngsfunktion. Durch die Anwendung der Methode uf die Nullmenge knn in nloger Weise uch eine konjunktive Minimlform erechnet werden. Allgemeine disjunktive Form (DF) Disjunktive Minimlform Disjunktive Minimlform (DMF) L ij L ij { x i, x i } n m(i) i = 1 j = 1 liegt vor, wenn jede ndere disjunktive Form gleich viele oder mehr Literle enötigt Allgemeine konjunktive Form (KF) Konjunktive Minimlform (KMF) Konjunktive Minimlform L ij L ij { x i, x i } n m(i) i = 1 j = 1 liegt vor, wenn jede ndere konjunktive Form gleich viele oder mehr Literle enötigt Die DMF (KMF) ist nicht eindeutig, lso keine Normlform 4. 20
KV Digrmme: Zusmmenfssung 1. Erstellen des KV-Digrmms Konstruktion durch wechselndes horizontles und vertikles Spiegeln Eintrgen der Funktionswerte in ds KV-Digrmm 2. Bestimmen der Primlöcke Üerdeckung der Einsmenge (DMF) zw. der Nullmenge (KMF) Sukzessive Bildung von Blöcken mit 2, 4, 8 Belegungen, usw. Wenn Blockildung richt, sind lle Primlöcke gefunden 3. Bestimmung einer vollständigen Üerdeckung Ziel: Üerdeckung mit der geringsten Anzhl Primlöcke Mrkierung ller Primlöcke, die lleine eine Funktionsstelle üerdecken Flls diese ereits lle Stellen üerdecken, ist minimle Lösung erreicht Reichen diese nicht zur Üerdeckung ller Stellen us, werden weitere Primlöcke ddiert is eine vollständige Üerdeckung erreicht ist 4. Extrktion der disjunktiven (konjunktiven) Minimlform Jeder Primlock entspricht einem Minterm (Mxterm) Alle Minterme (Mxterme) werden disjunktiv (konjunktiv) verknüpft 4. 21