Układy logiczne układy cyfrowe Jak projektować układy cyfrowe (systemy cyfrowe) Układy arytmetyki rozproszonej filtrów cyfrowych Układy kryptograficzne Evatronix KontrolerEthernet MAC (Media Access Control) /Mbit spełniający rolę rolę podstawowej arterii wymiany danych pomiędzy urządzeniami sterującymi i kontrolnym samolotu A38. ZPT
Układy cyfrowe nie są projektowane bezpośrednio z bramek logicznych i przerzutników. Układy cyfrowe są projektowane w sposób hierarchiczny: ) Bramki i elementarne układy pamięciowe (przerzutniki) Bloki funkcjonalne Specjalizowane układy cyfrowe D Clk Przerzutnik typu D A n B n 2) multipleksery, sumatory, komparatory, liczniki, rejestry. s s 2 clock X L () Y s s 2 clock x p Y n- Z OVR P G X x l R () ALU c n c n Y S ZPT Tworzą one nowe elementy konstrukcyjne, z których buduje się złożone układy cyfrowe o różnorodnych zastosowaniach: układy przetwarzania sygnałów, układy sterowania, specjalizowane procesory, układy kryptograficzne. Y 2
W latach 8. Bloki funkcjonalne: Sumatory Liczniki Rejestry Komparatory Konwertery Bufory Rejestry przesuwajace Były produkowane w postaci katalogowych układów scalonych serii 74xx 74xx ZPT A jak jest dziś? 3
Bloki funkcjonalne stanowią wyposażenie bibliotek komputerowych systemów projektowania Licznik Mux Rejestr ZPT Każdy układ cyfrowy składamy z bloków funkcjonalnych 4
Bloki funkcjonalne stanowią wyposażenie bibliotek komputerowych systemów projektowania Licznik Mux Rejestr ZPT W procesie konstruowania systemów cyfrowych struktura wewnętrzna bloku w zasadzie nas nie interesuje 5
Bloki funkcjonalne B. kombinacyjne B. sekwencyjne Pamięci Komutacyjne Arytmetyczne Rejestry Liczniki ROM (RAM) MUX DMUX DEC Komparator Sumator Równoległe Przesuwające Zliczające W górę W dół ZPT 6
Multiplekser (MUX) e Wejście zezwalające N = 2 n wejść informacyjnych d d = e N d N- y Wyjście k = P(A)d k k Wejścia adresowe a n- a gdzie P(A) k oznacza pełny iloczyn zmiennych a n,...,a, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A). ZPT 7
Multiplekser (MUX) e= d d y = e N k = P k (A)d k Dlan=(MUX2:): d N- y = ad + ad a n- a dlan=2(mux4:): y = aad + + aad + aad aad 2 3 y dla n= 3 (MUX 8 : ): = aaad + aaad + aaad + aaad 2 + aaad + 2 2 2 2 3 aad + aaad + aaad + aaad 2 4 2 5 2 6 2 7 + ZPT 8
Multiplekser 4: e= d d d 2 2 d y=d 3 3 y = aad + = = = = + aad + aad + aad 2 3 y=d a a = = Multiplekser jako przełącznik ZPT 9
Multiplekser jako przełącznik e= y = aa + d + aa d + aa d2 aa d3 2 3 d a d a e d 2 y d 3 Każdy blok funkcjonalny można skonstruować bramek logicznych ZPT
Multiplekser jako przełącznik Źródło danych I Multiplekser 2 n źródeł danych Źródło danych I f odbiornik Źródło danych I 2 n 2 n adresów źródeł To nie jest połączenie w postaci ścieżki metalizowanej ZPT
Demultiplekser e Wejście zezwalające y Wejście d informacyjne Wejścia adresowe a n- a y N = 2 n wyjść y N- y k = ep k (A)d gdzie P(A) k oznacza pełny iloczyn zmiennych a n,...,a, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A). ZPT 2
Demultiplekser jako przełącznik e= y = aa d=d = a y2 = aad y a d =d y3 = aad=d 2 3 a e d y a y y 2 y 3 ZPT 3
Demultiplekser jako przełącznik Demultiplekser f Źródło danych f 2 n odbiorników f 2n 2 n adresów odbiorników ZPT 4
Dekoder DMUX e DEKODER d y y d = e = a a a n- y y N- y N- y a n- a N = 2 n ZPT 5
Bloki komutacyjne W dzisiejszych czasach można skonstruować blok komutacyjny o dowolnych wymiarach komutacyjny o dowolnych wymiarach 2 2 3 3 a a a a ZPT 6 Dane można przesłać z dowolnego źródła do dowolnego odbiornika
MUX/DMUX w realizacji funkcji boolowskich y = Σ(,7,,3,4,5) 2 3 4 5 6 7 8 9 2 3 4 5 y 2 3 4 5 6 7 8 9 2 3 4 5 y x 3 x 2 x x x 3 x 2 x x ZPT 7
Bezpośrednie zastosowanie MUX/DMUX do realizacji funkcji boolowskich należy odłożyć do kosza! Sensowne jest natomiast stosowanie tych układów do wspomagania procesu syntezy funkcji boolowskich Dobrym przykładem jest zastosowanie dekoderów do zmniejszania liczby wyjść pamięci ROM w realizacjach zespołów funkcji boolowskich. Jest to problem z zadań.3 i.4 str. 94 skryptu ULOG w zadaniach. ZPT 8
Komparator A B n n z 3 K A < B A = B A > B ZPT Taki komparatormożna łatwo zbudować z bramek logicznych 9
Komparator A n K B n a 3 a 2 a a b 3 b 2 b b Y Y 2 Y 3...................... Metody syntezy logicznej można wspomagać intuicją inżynierską ZPT 2
Komparator dla liczb 4-bitowych a 3 b 3 i 3 A = a 3 a 2 a a B = b 3 b 2 b b i k = a k b k a 2 i 2 b 2 y = a b = ab + ab a b a b i i A eqb = i 3i 2i i A <B = Aeq B + A gt B A >B = ab iab 3 3 3 2 2 + +i iab + iiiab 3 2 3 2 ZawszeA >B, jeśli a 3 = i jeśli b 3 = A B --- ZPT 2
Sumatory A B Sumator podstawowy BF powszechnie stosowany w technice DSP c n n Σ n c Inne układy arytmetyczne: układy odejmowania układy mnożące układy dzielenia n Y...są budowane z sumatorów ZPT 22
Najprostszy sumator Kaskadowy ripple carry adder A B n n a n-b n- a b i i a b c n C 4 = = Σ c c n Σ c n- c i+ Σ c i c Σ c n y n- y i y Y Y Jak jest zbudowane pojedyncze ogniwo? ZPT 23
Funkcje logiczne sumatora a b a b c c o y c o Σ y c ZPT 24
Funkcje logiczne sumatora ZPT c o c y i i + a b Σ y c = a b i i = ab c(a i i i a b c c o y ab c y = cab cab cab cab c a b ca y = c a b ab c c i i b) i c o ( b ) = ab c(a b) = ab c(a b) 25
Sumator (Full adder) c i si a i b i c i+ c i s i = = a i ab c b i ( a c i b + i i i i i ) ZPT 26
Bloki funkcjonalne c.d. B. kombinacyjne B. sekwencyjne Pamięci Układy Układy Rejestry Liczniki ROM Komutacyjne Arytmetyczne Komparator Równoległe Zliczające MUX Sumator Przesuwające W górę DMUX W dół DEC ZPT 27
Rejestry Rejestry buduje się z przerzutników typu D Najprostszy rejestr: ładowanie (load) i pamiętanie D D 2 2 D 3 3 D 4 4 CLK ZPT LOAD Taki rejestr nazywamy równoległo-równoległym, krótko równoległym 28
Rejestr przesuwający SHR wejście szeregowe clk 2 3 4 D D 2 D 3 D 4 ZPT Taki rejestr nazywamy szeregowo-równoległym, krótko szeregowym WE 2 3 4 29
Jak zbudować rejestr uniwersalny... tzn. taki, który wykonywałby funkcje zarówno rejestru równoległego, jak też szeregowego D D 2 2 D 3 3 D 4 4 CLK 2 3 4 wejście szeregowe D D 2 D 3 D 4 CLK ZPT 3
...wystarczy rozbudować rejestr przesuwający 2 3 4 wejście szeregowe D D 2 D 3 D 4 CLK D Clock D D Sel ZPT 3
Rejestr szeregowo-równoległy x p Wejście szeregowe Wejścia równoległe Taki rejestr można rozbudowywać dalej uzyskując tzw. rejestr uniwersalny X x p X Wejście sterujące Clock D D D D Y Clock s s 2 clock R () Y Y:= X LOAD Y:= Y HOLD D D D D Clock Wyjścia równoległe Y:= SHR(x p, Y) ZPT 32
LOAD Mikrooperacje rejestru HOLD SHR x R LOAD HOLD SHR clock Rejestr ZPT LOAD SHR przesuwanie w prawo 33
Liczniki przykład syntezy licznika (zadanie 8. skrypt Układy logiczne w zadaniach) Zaprojektować licznik mod8 z wejściem zezwalającym E (Enable). Przerzutniki do realizacji dobrać tak, aby uzyskać najprostszy schemat logiczny licznika. S E E Licznik S S S S S S 2 clock S 2 S 2 S 3 S 3 S 3 S 4 S 7 S 7 S ZPT 34
Zakodowana tablica przejść licznika Tablica przejść Zakodowana tablica przejść kod binarny S E 2 E ZPT S S S S S S 2 S 2 S 2 S 3 S 3 S 3 S 4 S 4 S 4 S 5 S 5 S 5 S 6 S 6 S 6 S 7 S 7 S 7 s S 2 2 35
Zakodowana tablica transformowana do tablicy Karnaugha 2 E E 2 2 2 2 2 ZPT 36
Funkcje wzbudzeń dla przerzutników D D 2 E E 2 2 2 2 D2 D D D2 = 2 + 2 E D = E + D = E +E + 2 + 2E +E ZPT 37
Funkcje wzbudzeń dla przerzutników T T 2 E E 2 2 2 2 T2 T T T2 = E T = E T = Errata do zad. 8. ze skryptu ZPT 38 E
Schemat logiczny licznika ) D = E + E D + D = E + + E D = + E + + E 2 2 2 2 2 T =E E T = E T =E 2 =T Enable T T T 2 Clock ) Najprostszy na świecie ZPT 39
Schemat ten można uogólnić T = T = T2 = T = E 3 E E = E 2 T = T 2 2 E A A A A A A A 2 A 2 A 2 A 3 A 3 A 3 A 4 A 4 A A 5 Enable T T T T Clock A 4 A 4 A 5 A 5 A 5 A ZPT 4
Licznik 4-bitowy Enable T T T T Clock Rst z powodzeniem może być wykorzystany do realizacji licznika uniwersalnego Wada: jest to licznik bez funkcji: LOAD (ładowanie) Realizacja funkcji ładowania dla przerzutników T jest niemożliwa Jak wybrnąć z tej sytuacji? Trzeba znać i rozumieć układy logiczne! ZPT 4
Przerzutnik T realizowany z D D T = D ' = T + T Równanie charakterystyczne: = f(i,i 2,) D = T + T T D clk ZPT 42
Licznik z wpisem równoległym.. uzyskamy, zastępując przerzutniki T Enable T T T T Clock Rst T D clk ZPT 43
Licznik z przerzutnikami D Wprowadzając taką zmianę, jak też wprowadzając przed wejście każdego D multiplekser, uzyskujemy strukturę licznika z mikrooperacją wpisu równoległego. ZPT 44
Licznik z wpisywaniem równoległym Enable D D Wejścia równoległe D D Wyjścia równoległe D 2 D 2 D 3 D 3 ZPT Load Clock Output carry 45
Licznik z wpisywaniem równoległym Enable D D X D s s 2 D 2 D L () clock D 2 Y D 3 Y:= X LOAD Y:= Y HOLD 3 D Y:= Y+ COUNT ZPT Load Clock Output carry 46
Mikrooperacje licznika LOAD HOLD COUNT LOAD HOLD COUNT clock Licznik LOAD Zliczanie ZPT 47
Pamięci typu ROM X n A X i ROM N m N = 2 n X N- N słów (komórek) m-bitowych m Y W każdym komórce pamięci zapisane jest słowo m-bitowe Pamięć ROM jest uniwersalnym układem kombinacyjnym ZPT 48
Pamięci typu ROM Adres 2 3 4 5 6 7 ROM 8 4 ZPT 49
Pamięci typu ROM Pamięci typu ROM odgrywają coraz większą rolę w syntezie logicznej układów cyfrowych Więcej o cyfrowych blokach funkcjonalnych w Są doskonałymi elementami konstrukcyjnymi w strukturach FPGA z wbudowanymi pamięciami ZPT 5