x - Prof. Dr. Dirk W. Hoffmann
Transcription
x - Prof. Dr. Dirk W. Hoffmann
Kapitel 4 ! Minimierung Prof. Dr. Dirk W. Hoffmann Hochschule Karlsruhe w University of Applied Sciences w Fakultät für Informatik Minimierung § Motivation § Jede Boolesche Funktion lässt sich auf verschiedene Weise darstellen und damit unterschiedlich in Hardware implementieren § Disjunktive Normalform § Konjunktive Normalform § … § Normalformdarstellungen sind sehr aufwendig § Basieren auf Mintermen bzw. Maxtermen § Jeder Minterm bzw. Maxterm enthält alle Eingangsvariablen § Formellänge steigt exponentiell mit der Anzahl der Eingangsvariablen § Für die Praxis nicht geeignet § Ziel der Minimierung § Die Suche nach einer einfacheren Lösung Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 2 Minimierung 6.1 Minimierungsziele § Beispiel Originalschaltung Disjunktive Form x1 x2 x3 x4 x1 x2 & & =1 ≥1 y x3 x4 & & ≥1 y & & Abbildung 6.2: Die drei Beispielschaltungen im Vergleich Indem wir den XOR-Operator durch seine disjunktive Darstellung 4. 3 x x _ x x ersetzen, können wir den Ausdruck wie folgt umformen: Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 183 Minimierungsziele mierungsziele 6.1 Minimierungsziele Beispiel Originalschaltung iginalschaltung Originalschaltung Originalschaltung Disjunktive Disjunktive Disjunktive Form FormForm Disjunktive Form Konjunktive Konjunktive Konjunktive Form FormForm Konjunktive Form x1 x2 xx13 xx24x1x3x2x4x3 x4 x1 x1 x2 x2 =1 x3 x4 & & & =1 =1 ≥1 ≥1 y ≥1y x3 x4 & & & & y & & & & & & & ≥1 ≥1 y ≥1y & & x1 x2 xx13 xx24x1x3x2x4x3 x4 y ≥1 ≥1 ≥1 ≥1 ≥1& ≥1 &y ≥1 ≥1 ≥1 & & 6.2:drei Die drei im Vergleich gildung Abbildung 6.2: Die 6.2: Beispielschaltungen Die Beispielschaltungen drei Beispielschaltungen im Vergleich im Vergleich Welche Schaltung ist besser? m den wir XOR-Operator den den XOR-Operator seine disjunktive Darstellung ir Indem wir XOR-Operator durchdurch seine durch disjunktive seine disjunktive Darstellung Darstellung können wirAusdruck den wie folgt umformen: xx3_2ersetzen, x32 x_3 xersetzen, ersetzen, wir können den wir Ausdruck den Ausdruck wie folgt umformen: wie folgt umformen: 2 x3 können Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann (x1 ^ (x12 ^(x(x x132^ ))(x _x23(x))4 x_ ^3 (x )) 42_^(x(x x432^ ))(xx23 )) x3 )) 4. 4 &y Optimierungsziele und Kostenfunktion § Die Güte einer Schaltung ist relativ § Ob eine Schaltung „besser“ ist, hängt vom Optimierungsziel ab § Typische Optimierungsziele § Hohe Taktrate („speed“) § Geringer Platzverbrauch („area“) § Optimierungsziele sind komplementär § Schnellste Schaltung benötigt viel Platz § Kleinste Schaltung bietet nur geringe Taktrate § Das Optimierungsziel wird mit einer Kostenfunktion modelliert § CS = Schaltungstiefe § CA = Anzahl Zellen ( Geschwindigkeitsoptimierung ) ( Größenoptimierung ) Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 5 183 Minimierungsziele mierungsziele 6.1 Minimierungsziele Beispiel Originalschaltung iginalschaltung Originalschaltung Originalschaltung Disjunktive Disjunktive Disjunktive Form FormForm Disjunktive Form Konjunktive Konjunktive Konjunktive Form FormForm Konjunktive Form x1 x2 xx13 xx24x1x3x2x4x3 x4 x1 x1 x2 x2 =1 x3 x4 & & & & =1 =1 ≥1 ≥1 y ≥1y x3 x4 & & y & & & & CA = 4 CS = 3 & & & & ≥1 ≥1 y ≥1y & & CA = 5 x1 x2 xx13 xx24x1x3x2x4x3 x4 y ≥1 ≥1 ≥1 ≥1 ≥1& ≥1 &y ≥1 ≥1 ≥1 & & CS = 2 CA = 4 CS = 2 6.2:drei Die drei im Vergleich gildung Abbildung 6.2: Die 6.2: Beispielschaltungen Die Beispielschaltungen drei Beispielschaltungen im Vergleich im Vergleich Fazit: Wähle Schaltung 2 oder 3 für eine schnelle Schaltung Wähle Schaltung 1 oder 3 für eine kompakte Schaltung m den wir XOR-Operator den den XOR-Operator seine disjunktive Darstellung ir Indem wir XOR-Operator durch seine durch disjunktive seine disjunktive Darstellung Darstellung werden? Können diedurch Kostenfunktionen noch verbessert können wirAusdruck den wie folgt umformen: xx3_2ersetzen, x32 x_3 xersetzen, ersetzen, wir können den wir Ausdruck den Ausdruck wie folgt umformen: wie folgt umformen: 2 x3 können Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann (x1 ^ (x12 ^(x(x x132^ ))(x _x23(x))4 x_ ^3 (x )) 42_^(x(x x432^ ))(xx23 )) x3 )) 4. 6 &y Verbesserte Kostenfunktionen § Zellen sind nicht gleich Zellen § Schaltelemente mit vielen Eingängen sind größer § Verbesserung: Bilden einer gewichteten Summe ! ! ! CA‘ = ∑ g ∈ Gatter Anzahl Eingänge von g ! § Kombinieren verschiedener Metriken § Bei gleich schnellen Schaltungen wird diejenige bevorzugt, die weniger Fläche benötigt ! ! ! CS‘ = (100 × Schaltungstiefe) + CA‘ ! § Industrielle Werkzeuge § Zellenbibliothek mit Flächen- und Geschwindigkeitsdaten § Statische Timing-Analyse Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 7 183 Minimierungsziele mierungsziele 6.1 Minimierungsziele Originalschaltung iginalschaltung Originalschaltung Originalschaltung Disjunktive Disjunktive Disjunktive Form FormForm Disjunktive Form Konjunktive Konjunktive Konjunktive Form FormForm Konjunktive Form x1 x2 xx13 xx24x1x3x2x4x3 x4 x1 x1 x2 x2 =1 x3 x4 & & & & =1 =1 ≥1 ≥1 y ≥1y y x3 x4 & & & & & & CA = 4 CS = 3 & & & ≥1 ≥1 y ≥1y & & CA = 5 6.2:drei Die drei im Vergleich gildung Abbildung 6.2: Die 6.2: Beispielschaltungen Die Beispielschaltungen drei Beispielschaltungen im Vergleich im Vergleich C‘A = 8 C‘S = 308 C‘A = 16 & x1 x2 xx13 xx24x1x3x2x4x3 x4 y ≥1 ≥1 ≥1 ≥1 ≥1& ≥1 &y ≥1 ≥1 ≥1 & & CS = 2 CA = 4 CS = 2 C‘S = 216 C‘A = 9 C‘S = 209 Fazit: Wähle Schaltung 3 für eine schnelle Schaltung m den wir XOR-Operator den den XOR-Operator seine disjunktive Darstellung ir Indem wir XOR-Operator durchdurch seine durch disjunktive seine disjunktive Darstellung Darstellung Wähle Schaltung 1 für eine kompakte Schaltung können wir den Ausdruck wie folgt umformen: xx3_2ersetzen, x32 x_3 xersetzen, x können ersetzen, wir können den Ausdruck wir den Ausdruck wie folgt umformen: wie folgt umformen: 2 3 Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann (x1 ^ (x12 ^(x(x x132^ ))(x _x23(x))4 x_ ^3 (x )) 42_^(x(x x432^ ))(xx23 )) x3 )) 4. 8 &y Minimierung § Nochmals zurück zu den bisher betrachteten Verfahren… § Disjunktive Normalform, Konjunktive Normalform § Beide erzeugen einen Term für jede 1-Zeile der Wahrheitstabelle ! § Optimierung: Zusammenfassung mehrerer Zeilen in einem Term d c b a y 10 11 1 1 0 0 1 1 0 1 1 1 11 12 d 1 1 c 0 1 b 1 0 a 1 0 y 1 1 d ∧ ¬c ∧ b nicht möglich Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 9 Minimierung Die Zusammenfassung funktioniert genau dann, wenn sich die Variablenbelegungen in genau einer Variablen unterscheiden. ! Die identisch belegten Variablen heißen gebunden. Die unterschiedlich belegte Variable heißen frei. d c b a y 10 11 1 1 0 0 1 1 0 1 1 1 11 12 d 1 1 c 0 1 b 1 0 a 1 0 y 1 1 d ∧ ¬c ∧ b nicht möglich Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 10 Minimierung § Welche mathematische Regel verbirgt sich hier? ! ! ! 10 11 d c b a y 1 1 0 0 1 1 0 1 1 1 d ∧ ¬c ∧ b ! § Erste Zeile: § Zweite Zeile: d ∧ ¬c ∧ b ∧ ¬a d ∧ ¬c ∧ b ∧ a ! § Die disjunktive Verknüpfung ergibt… (d ∧ ¬c ∧ b ∧ ¬a) ∨ (d ∧ ¬c ∧ b ∧ a) = ((d ∧ ¬c ∧ b) ∧ ¬a) ∨ ((d ∧ ¬c ∧ b) ∧ a) = (d ∧ ¬c ∧ b) ∧ (¬a ∨ a) = (d ∧ ¬c ∧ b) ∧ 1 = d ∧ ¬c ∧ b (K) + (A) (D) (I) (N) Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 11 Minimierung 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d c b a y 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ¬d ∧ ¬c ∧ ¬b ⎯ ¬d ∧ ¬c ∧ b ⎯ ¬d ∧ c ∧ ¬b ⎯ ¬d ∧ c ∧ b ⎯ d ∧ ¬c ∧ ¬b ⎯ d ∧ ¬c ∧ b ⎯ d ∧ c ∧ ¬b ⎯ d∧c∧b Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 12 KV-Diagramme § Nachteil der Wahrheitstabelle § Benachbarte Belegungen stehen in der Wahrheitstabelle nicht immer nebeneinander § Nebeneinander stehende Belegungen in der Wahrheitstabelle sind nicht immer benachbart § Ziel § Darstellung, in der die Nachbarschaftsbeziehung offensichtlich ist § In einer solchen Darstellung wäre die Blockbildung einfach möglich § Lösung § Karnaugh-Veitch-Diagramme (KV-Diagramme) § Anordnung aller Belegungen in einer Matrix § Grundlage für die graphische Minimierung boolescher Funktionen Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 13 Konstruktion von KV-Diagrammen a 0 a b Das KV-Diagramm für eine Funktion mit n Variablen wird aus einem Diagramm mit n-1 Variablen durch wechselweises horizontales und vertikales Spiegeln erzeugt. 1 a 0 1 2 3 b 0 1 5 4 2 3 7 6 c a a b e a 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 8 9 13 12 28 29 25 24 c b d d c Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 14 Übung 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 c 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 a 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 y 1 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 a b 0 1 5 4 2 3 7 6 10 11 15 14 8 9 13 12 Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann d c 4. 15 Übung 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 c 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 a 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 y 1 0 1 0 0 1 1 1 0 1 1 0 0 1 1 1 a b 0 1 5 4 2 3 7 6 10 11 15 14 8 9 13 12 Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann d c 4. 16 Minimierung unvollständiger Funktionen § Wiederholung § Unvollständig definierter Funktionen enthalten Belegungen, für die der Funktionswert gleichgültig ist § Solche Belegungen werden Freistellen oder Don‘t cares genannt § Vorgehen § Die Funktionswerte der Freistellen werden so gewählt, dass maximal große Blöcke entstehen a b a 0 1 - 0 0 1 - c b 0 1 0 1 a - 0 - - =1 =1 =0 b 0 1 - 0 0 1 - - c Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann c 4. 17 Übung 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 c 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 a 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 y 0 1 0 0 0 1 1 1 1 0 0 0 0 1 a b 0 1 5 4 2 3 7 6 10 11 15 14 8 9 13 12 Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann d c 4. 18 Begriffe Block Block a b 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 d c Implikant Implikant Primblock Primimplikant y = ¬a¬c¬d ∨ ¬ac¬d ∨ cd Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 19 Minimalformen Die hier vorgestellte Minimierung mit Hilfe von KV-Diagrammen berechnet eine disjunktive Minimalform der Eingangsfunktion. Durch die Anwendung der Methode auf die Nullmenge kann in analoger Weise auch eine konjunktive Minimalform berechnet werden. Disjunktive Minimalform ! § Allgemeine disjunktive Form (DF) ! n ! ! m(i) ∨∧ i=1 j=1 Lij Lij ∈ { xi, ¬xi } § Disjunktive Minimalform (DMF) § liegt vor, wenn jede andere disjunktive Form gleich viele oder mehr Literale benötigt Konjunktive Minimalform ! § Allgemeine konjunktive Form (KF) n m(i) ! ! L L ∈ { x , ¬x } ! ∧∨ i=1 j=1 ij ij i i § Konjunktive Minimalform (KMF) § liegt vor, wenn jede andere konjunktive Form gleich viele oder mehr Literale benötigt ! ➲ Die DMF (KMF) ist nicht eindeutig, also keine Normalform Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 20 KV Diagramme: Zusammenfassung 1. Erstellen des KV-Diagramms § § Konstruktion durch abwechselndes horizontales und vertikales Spiegeln Eintragen der Funktionswerte in das KV-Diagramm 2. Bestimmen der Primblöcke § § § Überdeckung der Einsmenge (DMF) bzw. der Nullmenge (KMF) Sukzessive Bildung von Blöcken mit 2, 4, 8 Belegungen, usw. Wenn Blockbildung abbricht, sind alle Primblöcke gefunden 3. Bestimmung einer vollständigen Überdeckung § § § § Ziel: Überdeckung mit der geringsten Anzahl Primblöcke Markierung aller Primblöcke, die alleine eine Funktionsstelle überdecken Falls diese bereits alle Stellen überdecken, ist minimale Lösung erreicht Reichen diese nicht zur Überdeckung aller Stellen aus, werden weitere Primblöcke addiert bis eine vollständige Überdeckung erreicht ist 4. Extraktion der disjunktiven (konjunktiven) Minimalform § § Jeder Primblock entspricht einem Minterm (Maxterm) Alle Minterme (Maxterme) werden disjunktiv (konjunktiv) verknüpft Technische Informatik I • Hochschule Karlsruhe • Prof. Dr. D. W. Hoffmann 4. 21