PDF - 340 kB - Tadeusz Łuba

Transkrypt

PDF - 340 kB - Tadeusz Łuba
Realizacje funkcji boolowskich
Omawiane do tej pory metody minimalizacji funkcji
boolowskich związane są z reprezentacją funkcji w postaci
wyrażenia boolowskiego typu suma iloczynów (Sum-ofproducts - SOP), co prowadzi do tzw. realizacji AND-OR.
Na przykład:
I
T
P
Tadeusz
Łuba
W
y = x1x 2 + x1x 3 + x 2 x 3
ZCB
ZPT
1
Realizacja AND-OR
…uzyskane z tablicy Karnaugha:
x3
0
1
00
0
0
01
1
0
11
1
1
10
1
0
x1x2
x1
x2
x1
x3
I
T
P
Tadeusz
Łuba
W
y = x1x 2 + x1x 3 + x 2 x 3
y
x2
x3
ZCB
ZPT
2
Realizacje funkcji boolowskich
Możliwe są również inne realizacje np. w postaci
iloczynu sum (Product-of-sums - POS)
Na przykład…
y = (x1 + x 2 )( x1 + x 3 )( x 2 + x 3 )
I
T
P
Tadeusz
Łuba
W
Obie te realizacje są wynikiem dwóch
różnych form kanonicznych…
ZCB
ZPT
3
Postaci (formy) kanoniczne
Kanoniczna postać sumacyjna
(suma iloczynów)
Kanoniczna postać iloczynowa
(iloczyn sum)
I
T
P
Tadeusz
Łuba
W
ZCB
ZPT
4
Kanoniczna postać sumacyjna
f(X) =
2n −1
V
k =0
x,
x =
 x,
e
e1k e 2k
x1 x 2
⋅ ⋅ ⋅ x nenk f(Xk )
gdy e = 1
gdy e = 0
Minterm
I
T
P
Tadeusz
Łuba
W
f(X) = x1x 2 x 3 + x1x 2 x 3
x1
x2
x3
f
0
0
0
0
0
1
0
0
1
1
2
0
1
0
0
3
0
1
1
1
4
1
0
0
0
5
1
0
1
1
6
1
1
0
1
7
1
1
1
1
+ x 1x 2 x 3 + x 1x 2 x 3 + x 1x 2 x 3
ZCB
ZPT
5
Kanoniczna postać iloczynowa
f(X) =
∧ (x
2n −1
k =0
x,
e
x =
 x,
e1k
1
+ x e22k + ⋅ ⋅ ⋅ + x nenk + f(Xk )
gdy e = 0
gdy e = 1
Maxterm
I
T
P
Tadeusz
Łuba
W
ZCB
)
x1
x2
x3
f
0
0
0
0
0
1
0
0
1
1
2
0
1
0
0
3
0
1
1
1
4
1
0
0
0
5
1
0
1
1
6
1
1
0
1
7
1
1
1
1
f = (x 1 + x 2 + x 3 ) ( x 1 + x 2 + x 3 ) ( x + x + x )
1
2
3
ZPT
6
Minimalizacja wg iloczynu sum
Czy możliwa jest minimalizacja funkcji dla postaci
iloczynu sum. Oczywiście TAK…
…ale proces minimalizacji funkcji dla kanonicznej
postaci iloczynowej musi być inny.
Różnice wynikają ze sposobu interpretacji zmiennej w…
Kanonicznej Postaci
Sumy:
I
T
P
Tadeusz
Łuba
W
x,
x =
 x,
e
gdy e = 1
gdy e = 0
Kanonicznej Postaci
Iloczynu:
x,
x =
 x,
e
gdy e = 0
gdy e = 1
ZCB
ZPT
7
Przykład minimalizacji dla „iloczynu sum”
f = Σ[0, 5, 6, 7, 10, (2, 3, 11, 12)]
x3x4
00 01
x1x2
I
T
P
Tadeusz
Łuba
W
11
10
00
1
0
–
–
01
0
1
1
1
11
–
0
0
0
10
0
0
–
1
f = (x1 + x 3 )( x1 + x 2 )( x 2 + x 4 )(x 2 + x 3 + x 4 )
ZCB
ZPT
8
Realizacje bramkowe
Oprócz realizacji AND-OR (wg sumy
iloczynów)
y = x1x 2 + x1x 3 + x 2 x 3
Realizacja OR-AND (wg iloczynu sum)
y = (x1 + x 2 )( x1 + x 3 )( x 2 + x 3 )
I
T
P
Tadeusz
Łuba
W
ZCB
ZPT
9
Realizacja OR-AND
Product-of-sums (POS)
x3
0
1
00
0
0
01
1
0
11
1
1
10
1
0
x1x2
I
T
P
Tadeusz
Łuba
W
x1
x2
x1
x3
y = (x1 + x 2 )(x1 + x 3 )( x 2 + x 3 )
y
x2
x3
ZCB
ZPT
10
Inne operatory (bramki) logiczne
NAND
NOR
EX-OR
y =a•b
y =a+b
y = a ⊕ b = ab + a b
NAND (NOT-AND)
I
T
P
Tadeusz
Łuba
W
NOR
(NOT-OR)
EXOR (Exclusive OR)
ZCB
ZPT
11
Realizacja NAND
x3
0
1
00
0
0
01
1
0
11
1
1
10
1
0
x1x2
y = x1x 2 + x1x 3 + x 2 x 3
y = x1x2 • x1x3 • x2x3
x12
x23
3
x12
x13
y
x23
I
T
P
Tadeusz
Łuba
W
ZCB
x1
x2
x1
x3
y
x2
x3
ZPT
12
Realizacja NOR
x3
0
1
00
0
0
01
1
0
11
1
1
10
1
0
x1x2
x1
x2
x1
x3
I
T
P
Tadeusz
Łuba
W
y = (x1 + x 2 )( x1 + x 3 )( x 2 + x 3 )
y = x1 + x2 + x1 + x3 + x2 + x3
y
x2
x3
ZCB
ZPT
13
Realizacja zespołów funkcji
Przykład sygnalizujący problem:
Należy zaprojektować układ realizujący
zespół trzech funkcji czterech argumentów:
I
T
P
Tadeusz
Łuba
W
f1 = Σ(3,7,11,14,15)
f2 = Σ(3,7,12,13,14,15)
f3 = Σ(3,7,11,12,13,15)
a
b
c
d
Układ
logiczny
f1
f2
f3
ZCB
ZPT
14
Przykład sygnalizujący problem…
Jeśli każdą funkcję zminimalizujemy oddzielnie:
cd
ab 00 01 11 10
00 0 0 1 0
01
0
0
1
0
0
0
1
1
11 0 0 1 0
10
I
T
P
Tadeusz
Łuba
W
f1 = abc + cd
cd
cd
00 01 11 10
ab 00 01 11 10 ab
00 0 0 1 0
00 0 0 1 0
0 0 1 0
0 0 1 0
01 1 1 1 0
01
11
10
1
1
1
1
0
0
0
0
f2 = ab + a cd
11
10
0
0
1
0
f3 = ab c +cd
ZCB
ZPT
15
… to uzyskamy…
a
b
c
c
d
f1 = abc + cd
f1
f2 = ab + a cd
f3 = ab c +cd
a
b
I
T
P
Tadeusz
Łuba
W
a
c
d
a
b
c
c
d
f2
Do realizacji tych trzech
funkcji potrzebujemy 9
bramek. Czy można
f3
zredukować ich liczbę?
Patrz następna plansza.
ZCB
ZPT
16
…usuwamy niektóre bramki
a
b
c
c
d
f1 Bramka AND dla f1
f2
może być usunięta
przez wykorzystanie
bramki AND z f3.
f3
Teraz potrzebujemy
8 bramek.
a
b
a
c
d
a
b
I
T
P
Tadeusz
Łuba
W
c
c
d
ZCB
ZPT
17
…co dalej
a
b
c
c
d
f1 Bramkę AND z f2
f2
można usunąć przez
wykorzystanie faktu
ab = abc + ab c
f3
Teraz potrzebujemy
zaledwie 7 bramek.
a
b
a
c
d
a
b
I
T
P
Tadeusz
Łuba
W
c
c
d
ZCB
ZPT
18
Komentarz
Przykład sugeruje, że w realizacji
zespołu funkcji stosowanie minimalnej
sumy implikantów prostych nie
zawsze prowadzi do rozwiązania
z minimalnym kosztem.
Aby się o tym przekonać warto przeanalizować…
I
T
P
Tadeusz
Łuba
W
ZCB
ZPT
19
Przykład 4.7 ze skryptu Synteza logiczna
y1 = Σ(2,3,5,7,8,9,10,11,13,15)
y2 = Σ(2,3,5,6,7,10,11,14,15)
y3 = Σ(6,7,8,9,13,14,15)
w którym bezpośrednia minimalizacja:
y1 = a b + bd + b c
y2 = c + a bd
y3 = bc + acd+ a b c
I
T
P
Tadeusz
Łuba
W
…wymagać będzie 7 bramek AND
ZCB
ZPT
20
c.d. przykładu 4.7 ze skryptu Synteza logiczna
…natomiast minimalizacja ze wspólnymi implikantami
y = b c + a bd + abd + a b c
1
y = b c + a bd+ bc
2
y = abd + a b c + bc
3
mimo pozornie większego skomplikowania
wymagać będzie…
I
T
P
Tadeusz
Łuba
W
… zaledwie 5 bramek AND!!!
ZCB
ZPT
21
Zalety Espresso…
Z powyższego przykładu wynika, że dla metod klasycznych
synteza wielowyjściowych funkcji boolowskich jest
procesem bardzo złożonym – trudnym do zalgorytmizowania.
Metoda Espresso jest szczególnie efektywna
w minimalizacji zespołów funkcji boolowskich.
W przykładzie tym po żmudnych obliczeniach
uzyskujemy wynik na 5 bramkach AND!
I
T
P
Tadeusz
Łuba
W
ZCB
ZPT
22
I
T
P
Tadeusz
Łuba
W
ZCB
ZPT
.type fr
.i
4
.o
3
.p
16
0000 000
0001 000
0010 110
0011 110
0100 000
0101 110
0110 011
0111 111
1000 101
1001 101
1010 110
1011 110
1100 000
1101 101
1110 011
1111 111
.e
Jak obliczy Espresso?
F,D
Complement
Expand
Essential primes
Irredundant-Cover
Reduce
FM
Last-gasp
.i 4
.o 3
.p 5
11-1
10001-1
-01-11.e
101
101
110
110
011
Można sprawdzić, że
jest to taki sam wynik
jak na planszy 21
23

Podobne dokumenty