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