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”)