You are on page 1of 5

Fachgebiet RechnerSysteme

3. Übung Logischer Entwurf - WS 2002/2003
Technische Universität
Darmstadt
3
-
1
3. Übung – Logischer Entwurf 1
1. Aufgabe
1. Aufgabe
Geben sei die boolesche Funktion c b a d a ab ac f + + + =
Wie müssen die Variablen b, c und d gewählt werden, damit
folgende Aussagen wahr sind. Formulieren Sie diese Wahl als
möglichst kleine DNF in den Variablen b, c und d.
(a) f hat unabhängig von a immer den Wert Eins.
(b) a kann so gewählt werden, dass f den Wert Eins hat.
(c) Eine Änderung in der Variablen a bewirkt auch eine
Änderung im Ergebnis f.
3. Übung – Logischer Entwurf 2 1. Aufgabe
(a) f hat unabhängig von a immer den Wert Eins.
boolescher Allquantor
wird immer dann Eins, wenn f unabhängig von x Eins wird
( )
( ) ( )
bd cd
c b d b c
f f d c b a f a
a
a
+ =
+ ⋅ + =
⋅ = ∀ ) , , , ( :
Bestimmung der Kofaktoren:
c b d f
b c f
c b a d a ab ac f
a
a
+ =
+ =
+ + + =
Allquantor:
( )
x
x
f f x f x ⋅ = ∀ ) ( :
3. Übung – Logischer Entwurf 3
T5
1. Aufgabe
(b) a kann so gewählt werden, dass f den Wert Eins hat.
boolescher Existenzquantor
wird immer dann Eins, wenn x so gewählt werden kann,
dass f Eins wird.
( )
( ) ( )
( ) ( )
1
1
) , , , ( :
=
+ =
+ + + =
+ + + =
+ = ∃
d
b c d b c
c b d b c
f f d c b a f a
a
a
Existenzquantor:
( )
x
x
f f x f x + = ∃ ) ( :
3. Übung – Logischer Entwurf 4 1. Aufgabe
(c) Eine Änderung in der Variablen a bewirkt auch eine
Änderung im Ergebnis f.
boolesche Differenz
charakterisiert diejenigen Werte, für die eine Änderung von
x auch eine Änderung von f bewirkt
boolesche Differenz:
x
x
f f
x
x f
⊕ =

∂ ) (
( ) ( ) c b d b c
f f
a
d c b a f
a
a
+ ⊕ + =
⊕ =

∂ ) , , , (
Fachgebiet RechnerSysteme
3. Übung Logischer Entwurf - WS 2002/2003
Technische Universität
Darmstadt
3
-
2
3. Übung – Logischer Entwurf 5
x y x T11
1. Aufgabe
( ) ( )
( ) ( ) [ ] ( ) ( ) [ ]
( ) ( ) ( ) [ ] ( ) [ ]
( ) ( ) [ ] [ ]
[ ]
( )
d c b
c b c b d
c b d b d c
c b d bc d b d c d bc
c b d c b d c d b b c
c b d b c c b d b c
c b d b c c b d b c
c b d b c
a
a f
+ =
+ + ⋅ =
+ + =
+ + + + =
+ + + ⋅ + =
+ ⋅ + + ⋅ ⋅ + =
+ ⋅ + + + ⋅ + =
+ ⊕ + =

∂ ) (
3. Übung – Logischer Entwurf 6
2. Aufgabe
2. Aufgabe
a
d
c c
b
0 1
0-Kante
1-Kante
Gegeben sei der folgende OBDD einer
Funktion f(a,b,c,d). Bestimmen Sie mit
Hilfe des in der Vorlesung gezeigten
Bottom-up Verfahrens die boolesche
Funktion des OBDD.
f
3. Übung – Logischer Entwurf 7 2. Aufgabe
a
d
c c
b
0 1
0-Kante
1-Kante
f
r
t s
u
d d d r = ⋅ + ⋅ = 1 0
( ) ( ) ( ) ( ) ( )
1 0
v bf v ar v v bf v ar v v bf ⋅ + ⋅ =
Berechnungsvorschrift:
cd r c c s = ⋅ + ⋅ = 0
d c cd c r c c t + = + = ⋅ + ⋅ = 1
bd c b cd b t b s b u + + = ⋅ + ⋅ =
ad bd a c b a cd b a
r a u a f
+ + + =
⋅ + ⋅ =
3. Übung – Logischer Entwurf 8
3. Aufgabe
3. Aufgabe
Entwickeln Sie für die folgenden Funktionen f, g und h jeweils
den reduzierten OBDD. Benutzen Sie die Entwicklungsreihen-
folge a, b, c, d bzw. a, b, c, d, e.
(a)
(b)
(c)
Welche der drei Funktionen sind identisch?
d c a abc d b a cd b a f + + + =
cd b a c b a d ac abd g + + + =
e d ac cd b a e c b a abd d ac c b a h + + + + + =
Fachgebiet RechnerSysteme
3. Übung Logischer Entwurf - WS 2002/2003
Technische Universität
Darmstadt
3
-
3
3. Übung – Logischer Entwurf 9 3. Aufgabe
Kofaktorzerlegung
Entwicklungsreihenfolge beachten
Empfehlung: Verknüpfen Sie die Kofaktoren mit Hilfe des
booleschen Entwicklungssatzes wieder zur gesamten
Funktion
OBDD kann dann im Button-up Verfahren erstellt werden
zuerst die Blattkonten 0 und 1 zeichnen, dann die
Entwicklungsreihenfolge rückwärts abarbeiten
auf gleiche Teilbäume achten
manchmal sollte man nach der Konstruktion den OBDD
noch mal neu zeichnen
3. Übung – Logischer Entwurf 10
(a)
Kofaktorzerlegung:
Zerlegung von d nicht notwendig
3. Aufgabe
[ ] [ ]
( ) ( ) [ ] ( ) ( ) [ ]
( ) ( ) ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) ( ) [ ] 1 1 0 0
0
⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ =
+ ⋅ + + ⋅ ⋅ + ⋅ + ⋅ ⋅ =
+ + ⋅ + ⋅ =
+ + + =
c d c b d c c b a b d c c b a
d c c b d c d b a b cd b a
d c bc d b a cd b a
d c a abc d b a cd b a f
3. Übung – Logischer Entwurf 11 3. Aufgabe
1. Schritt
Blätter einzeichnen
0 1
( ) ( ) ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) ( ) [ ] 1 1 0 0 ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ = c d c b d c c b a b d c c b a f
3. Übung – Logischer Entwurf 12
d
3. Aufgabe
2. Schritt
d einzeichnen
d kommt dreimal in der
Zerlegung von f vor
nur zwei mögliche Nachfolger-
kombinationen für d
gleiche Knoten zusammen-
fassen Reduktion
2 Knoten
0 1
d
0-Kante
1-Kante
( ) ( ) ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) ( ) [ ] 1 1 0 0 ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ = c d c b d c c b a b d c c b a f
Fachgebiet RechnerSysteme
3. Übung Logischer Entwurf - WS 2002/2003
Technische Universität
Darmstadt
3
-
4
3. Übung – Logischer Entwurf 13
3. Schritt
c einzeichnen
drei Kombinationen
mit c in f :
keine gleichen
Knoten 3 Knoten
c c c
c d c c d c
d c c d c c
cd d c c
+ = ⋅ + ⋅
+ = ⋅ + ⋅
= ⋅ + ⋅
1
1
0
( ) ( ) ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) ( ) [ ] 1 1 0 0 ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ = c d c b d c c b a b d c c b a f
3. Aufgabe
0-Kante
1-Kante
d
0 1
d
d d
3. Übung – Logischer Entwurf 14
b b
( ) ( ) ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) ( ) [ ] 1 1 0 0 ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ = c d c b d c c b a b d c c b a f
( ) ( ) c d c b d c c b
b cd b
+ ⋅ + + ⋅
⋅ + ⋅ 0
4. Schritt
b einzeichnen
zwei Ausdrücke
mit b 2 Knoten
3. Aufgabe
0-Kante
1-Kante
d
c c
0 1
d
c
cd d c c + c d c +
3. Übung – Logischer Entwurf 15
a
( ) ( ) ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) ( ) [ ] 1 1 0 0 ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ = c d c b d c c b a b d c c b a f
5. Schritt
a einzeichnen
3. Aufgabe
0-Kante
1-Kante
d
c c
b
0 1
d
c
b
cd b
( )
( ) c d c b
d c c b
+ +
+
3. Übung – Logischer Entwurf 16
0-Kante
1-Kante
3. Aufgabe
a
d
c c
b
0 1
f
d
c
b
6. Schritt
Die Funktion f markieren
( ) ( ) ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) ( ) [ ] 1 1 0 0 ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ + ⋅ + ⋅ + ⋅ ⋅ ⋅ = c d c b d c c b a b d c c b a f
Fachgebiet RechnerSysteme
3. Übung Logischer Entwurf - WS 2002/2003
Technische Universität
Darmstadt
3
-
5
3. Übung – Logischer Entwurf 17 3. Aufgabe
(b)
Kofaktorzerlegung:
[ ] [ ]
( ) ( ) [ ] ( ) ( ) [ ]
( ) ( ) ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) ( ) [ ]
( ) [ ] ( ) ( ) [ ] c d c b d c c b a cd b a
c d c b d c c b a b d c c b a
d c d b c d c b a b cd b a
c b d c bd a cd b a
cd b a c b a d ac abd g
+ + + + =
+ + + + + + =
+ + + + + =
+ + + =
+ + + =
1 1 0 0
0
3. Übung – Logischer Entwurf 18 3. Aufgabe
OBDD: 0-Kante
1-Kante a
d
c c
b
0 1
g
d
c
b
3. Übung – Logischer Entwurf 19 3. Aufgabe
(c)
Kofaktorzerlegung:
unabhängig von e e tritt nicht im OBDD auf
[ ] [ ]
( ) ( ) [ ] ( ) ( ) [ ]
( ) ( ) ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) ( ) [ ]
( ) ( ) ( ) ( ) [ ] ( ) ( ) ( ) ( ) ( ) ( ) [ ]
( ) [ ] ( ) ( ) [ ] c d c b d c c b a cd b a
c d c b d c c b a b d c c b a
e d d d c d c b e d d c e c b a b d c c b a
e d c d d c b e d c e c d c c b a b cd b a
e d c e c b bd d c c b a cd b a
e d ac cd b a e c b a abd d ac c b a h
+ + + + =
+ + + + + + =
+ + + + + + + + + + =
+ + + + + + + + =
+ + + + + =
+ + + + + =
1 1 0 0
1 0 0
0
3. Übung – Logischer Entwurf 20 3. Aufgabe
OBDD: 0-Kante
1-Kante a
d
c c
b
0 1
h
d
c
b
wie an den OBDDs
leicht zu erkennen,
repräsentieren f, g, und
h die gleiche Funktion