Układy kombinacyjne

Transkrypt

Układy kombinacyjne
Układy kombinacyjne
Układy kombinacyjne
Pojęcie układu kombinacyjnego
Wykorzystanie bramek logicznych
Minimalizacja układów kombinacyjnych
2/12
Układy kombinacyjne
3/12
Układy kombinacyjne
Są to układy logiczne, w których stan ich wyjść jest wyłącznie funkcją
bieŜącego stanu wejść. W ogólnym przypadku układ kombinacyjny
moŜe mieć n wejść i m wyjść:
x1
x2
:
:
xn
y1
y2
:
:
ym
Y = F(X) , F = {f1,f2,...,fm}
Oczywiście w rzeczywistych realizacjach układów cyfrowych występują
niezerowe czasy opóźnienia reakcji na zmianę sygnału wejściowego,
zwane czasem propagacji.
Układy kombinacyjne
Metody opisu układu kombinacyjnego
Takie same jak funkcji logicznych:
1.
Opis słowny
2.
Tablica prawdy
3.
WyraŜenie logiczne
4.
Zapis symboliczny
4/12
Wykorzystanie bramek logicznych
dla KPS: f1 = Σ[1, 3, 4, 6, 7]
5/12
1 : 001 : x1 x 2 x 3
3 : 011 : x1 x 2 x 3
4 : 100 : x1 x 2 x 3
6 : 110 : x1 x 2 x 3
x 1 x 2 x3
7 : 111 : x1 x 2 x 3
f1a = x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3
f1a(x1,x2,x3)
Wykorzystanie bramek logicznych
6/12
albo dla KPS: f1 = Σ[1, 3, 4, 6, 7]
f1b = x 1 x 2 x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 + x 1 x 2 x 3 =
= x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 + x1 x 2 x 3 =
x1
x2
x3
= x1 x 2 x 3 ⋅ x1 x 2 x 3 ⋅ x1 x 2 x 3 ⋅ x1 x 2 x 3 ⋅ x1 x 2 x 3
f1b
"1"
(Vcc)
Wykorzystanie bramek logicznych
dla KPI: f1 = Π[0, 2, 5]
7/12
0 : 000 : ( x 1 + x 2 + x 3 )
2 : 010 : ( x 1 + x 2 + x 3 )
5 : 101 : ( x 1 + x 2 + x 3 )
f1c = ( x 1 + x 2 + x 3 )( x 1 + x 2 + x 3 )( x 1 + x 2 + x 3 )
x1
x2
x3
f1
Wykorzystanie bramek logicznych
8/12
albo dla KPI: f1 = Π[0, 2, 5]
f1d = ( x1 + x 2 + x3 )( x1 + x 2 + x3 )( x1 + x2 + x3 ) =
= ( x1 + x 2 + x3 )( x1 + x 2 + x3 )( x1 + x2 + x3 ) =
= ( x1 + x 2 + x3 ) + ( x1 + x2 + x3 ) + ( x1 + x2 + x3 )
x1 x2 x3
f1
d
Wykorzystanie bramek logicznych
9/12
Inne przykłady:
a + bc
a)
a
b
c
b) a + bc = a + bc = a ⋅ bc
a
b
c
Wykorzystanie bramek logicznych
(a ⊕ b)(b + c)
c)
10/12
d)
(a ⊕ b)(b + c) = (ab + a b )( b + c ) =
= abb + abc + a bb + a bc = ab + abc + a bc =
= ab (1 + c ) + a bc = ab + a bc =
= ab + a bc = a + b + a bc = a + b + a bc
c
a
b
c
b
a
Minimalizacja funkcji logicznych
11/12
Minimalizacja funkcji logicznych
Przy bardziej złoŜonych funkcjach logicznych uŜycie wprost zapisów KPS
i KPI do realizacji układu prowadzi do rozbudowanych układów cyfrowych.
Dlatego dąŜy się do minimalizacji funkcji logicznych, polegającej
na zmniejszeniu liczby operatorów i zmiennych potrzebnych do ich zapisu.
Dzięki temu potrzeba mniejszej liczby bramek logicznych i mniejszej sieci
połączeń między nimi.
To z kolei pozwala uzyskać układ cyfrowy:
• zajmujący mniej miejsca;
• zuŜywający mniej energii podczas pracy;
• bardziej niezawodny;
• tańszy w produkcji i eksploatacji.
Minimalizacja funkcji logicznych
12/12
Zmniejszenie liczby zmiennych i operatorów w wyraŜeniu opisującym
funkcję logiczną moŜna osiągnąć poprzez odpowiednie przekształcenia
tegoŜ wyraŜenia.
Pomocne są przy tym właściwości algebry Boole'a podane wcześniej.
Spośród metod przydatnych przy "ręcznym" projektowaniu układów
cyfrowych naleŜy wymienić:
• metodę przekształceń algebraicznych;
• metodę tablic Karnaugh'a;
• metodę Quine'a-McCluskey'a.
( → skrypt PB: “Podstawy techniki cyfrowej”)