Układy kombinacyjne
Transkrypt
Układy kombinacyjne
Komponenty cyfrowe ✦ Kombinacje bramek implementują funkcje boolowskie ✦ Przykład ✦ Możemy uprościć wyrażenie boolowskie ✦ mapy Karnaugh (ang. K-maps) - 4 do 6 zmiennych ✦ metoda Quine’a-McKluskey’a – więcej zmiennych Układy kombinacyjne ✦ Zaprojektowaliśmy układ implementujący funkcję: ✦ Jest to przykład układu wykorzystującego logikę kombinacyjną ✦ Układ kombinacyjny daje dane wyjściowe jedynie w opraciu o podane dane wejściowe ✦ może mieć kilka wyników Sumator ✦ Najprostszy układ kombinacyjny to półsumator (ang. halfadder, HA) sumujący dwa bity ✦ dwa wyjścia ✦ daje dwa wyniki sumę i przeniesienie ✦ Suma to XOR ✦ Przeniesienie (ang. carry) to AND Sumator (c.d.) ✦ Możemy rozszerzyć półsumator do układu pozwalającego na dodawanie większych liczb binarnych ✦ Pełny sumator (ang. full adder, FA) stosuje bramki do uwzględnienia bitu przeniesienia Sumator (c.d.) ✦ Jak zmienić półsumator na pełny? Sumator (c.d.) ✦ Pełny sumator (ang. fulladder, FA) ✦ dodaje 3 bity Sumator (c.d.) ✦ Tak jak połączyliśmy dwa półsumatory (HA) aby uzyskać jeden pełny sumator (FA) tak łączymy je w sumator kaskadowy (ang. ripple-carry adder) ✦ Bity przeniesienia (ang. carry) przechodzą kaskadowo (ang. ripple) przez kolejne sumatory ✦ Współczesne systemy stosują bardziej wydajne sumatory Dekoder ✦ Dekodery pozwalają między innymi na lokalizację miejsca w pamięci na podstawie wartości binarnej podanej na liniach adresowych magistrali pamięci ✦ Dekodery adresowe na podstawie n danych wejściowych dają maksymalnie 2n danych wyjściowych Dekodery (c.d.) ✦ dekoder 2-do-4 bitowy ✦ którą linię włącza x=0,y=1? Multiplekser ✦ Działa odwrotnie niż dekoder: wybiera jedną z wielu linii wejściowych i kieruje do jenej linii wyjściowej ✦ Sposób wyboru linii jest określnony przy pomocy linii kontrolnych (ang. control lines) ✦ Do wybrania jednej z n linii wejściowych potrzeba log2n linii kontrolnych ✦ Zastosowanie – ładowanie licznika PC Multiplekser (c.d.) ✦ multiplekser 4-do-1 ✦ jaką linię wejściową wybiera S0 = 1, S1 = 0 Shifter ✦ shifter przesuwa bity o jedną pozycję w prawo lub lewo ✦ w którą stronę jest przesunięcie gdy S=0?