ZPT Evatronix Kontroler Ethernet MAC (Media Access Control) 10/100Mbit spełniający rolę rolę podstawowej arterii wymiany danych pomiędzy urządzeniami sterującymi i kontrolnym samolotu A380. Układy logiczne – układy cyfrowe Jak projektować układy cyfrowe (systemy cyfrowe) Układy arytmetyki rozproszonej filtrów cyfrowych Układy kryptograficzne
ZPT Układy cyfrowe …nie są projektowane bezpośrednio z bramek logicznych i przerzutników. 1) Bramki i elementarne układy pamięciowe (przerzutniki) 2) multipleksery, sumatory, komparatory, liczniki, rejestry. 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. Przerzutnik typu D D Clk 2 Bloki funkcjonalne Specjalizowane układy cyfrowe Układy cyfrowe są projektowane w sposób hierarchiczny:
ZPT 3 W latach 80…. Sumatory Liczniki Rejestry Komparatory Konwertery Bufory Rejestry przesuwajace Bloki funkcjonalne: Były produkowane w postaci katalogowych układów scalonych serii 74xx 74xx A jak jest dziś?
ZPT Licznik Rejestr Mux …stanowią wyposażenie bibliotek komputerowych systemów projektowania Każdy układ cyfrowy składamy z bloków funkcjonalnych 4 Bloki funkcjonalne…
ZPT Licznik Rejestr Mux …stanowią wyposażenie bibliotek komputerowych systemów projektowania W procesie konstruowania systemów cyfrowych struktura wewnętrzna bloku w zasadzie nas nie interesuje 5 Bloki funkcjonalne…
ZPT 6 Bloki funkcjonalne B. kombinacyjneB. sekwencyjnePamięci Arytmetyczne Komparator Sumator Komutacyjne MUX DMUX DEC Rejestry Równoległe Przesuwające Liczniki Zliczające W górę W dół ROM (RAM)
ZPT Multiplekser (MUX) gdzie P k (A) oznacza pełny iloczyn zmiennych a n–1,...,a 0, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A). a n-1 a 0 e d d d 0 1 N-1 y 7 N = 2 n wejść informacyjnych Wejście zezwalające Wejścia adresowe Wyjście
ZPT Multiplekser (MUX) a n-1 a 0 e=1 d d d 0 1 N-1 y 8 Dla n = 1 (MUX 2 : 1): dla n = 2 (MUX 4 : 1): dla n = 3 (MUX 8 : 1):
ZPT Multiplekser 4:1 a 1 a 0 d d d d d 2 d 9 =0 0 =0 1 y=d 0 y=d 1 =1=1 =0=0 =0=0=0=0 Multiplekser jako przełącznik
ZPT Multiplekser jako przełącznik d0d1d2d3d0d1d2d3 a0a1a0a1 e y Każdy blok funkcjonalny można skonstruować bramek logicznych
ZPT Multiplekser jako przełącznik 11 Źródło danych I 0 00…00 00…01 odbiornik 2 n 1 adresów źródeł Źródło danych I 1 00…01 2n12n1 Źródło danych I 11…11 f 2 n źródeł danych 11…11 Multiplekser To nie jest połączenie w postaci ścieżki metalizowanej
ZPT Demultiplekser gdzie P k (A) oznacza pełny iloczyn zmiennych a n–1,...,a 0, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A). 12 N = 2 n wyjść Wejścia adresowe Wejście informacyjne Wejście zezwalające
ZPT Demultiplekser jako przełącznik a0a1a0a1 e y0y0 d y1y1 y2y2 y3y3 13 =d
ZPT Demultiplekser jako przełącznik 14 00…01 2 n adresów odbiorników 2 n odbiorników 11…11 Źródło danych f0f0 f1f1 f 2n12n1 Demultiplekser 00…00 00…01 11…11
ZPT 15 Dekoder N = 2 n DMUX DEKODER d = 1 e = 1
ZPT Bloki komutacyjne a 1 a W dzisiejszych czasach można skonstruować blok komutacyjny o dowolnych wymiarach… Dane można przesłać z dowolnego źródła do dowolnego odbiornika
ZPT y = (1,7,11,13,14,15) 17 MUX/DMUX w realizacji funkcji boolowskich x3x2x1x0x3x2x1x0 1 y x3x2x1x0x3x2x1x y
ZPT 18 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ń i str. 194 skryptu ULOG w zadaniach.
ZPT Komparator A n B n K „1 z 3” A < B A = B A > B Taki komparator można łatwo zbudować z bramek logicznych 19
ZPT Komparator Metody syntezy logicznej można wspomagać intuicją inżynierską A n B n K 20 a3a3 a2a2 a1a1 a0a0 b3b3 b2b2 b1b1 b0b0 Y1Y1 Y2Y2 Y3Y
ZPT Komparator dla liczb 4-bitowych A = a 3 a 2 a 1 a 0 B = b 3 b 2 b 1 b 0 A > B = A < B = A eq B = i 3 i 2 i 1 i 0 i 0 i 1 i 2 i 3 a3b3a2b2a1b1a0b0a3b3a2b2a1b1a0b0 21 A 1000 B Zawsze A > B, jeśli a 3 = 1 i jeśli b 3 = 0
ZPT Sumatory Sumator – podstawowy BF powszechnie stosowany w technice DSP Inne układy arytmetyczne: układy odejmowania układy mnożące układy dzielenia...są budowane z sumatorów c n c 0 A n B n Y n A 22
ZPT Najprostszy sumator Kaskadowy – ripple carry adder a b ii y i c i+1 c i a b 00 y 0 c 1 c 0 a b c n-1 y c n c n c 0 A n B n Y n C 4 = C 4 =1 Jak jest zbudowane pojedyncze ogniwo? 23
ZPT Funkcje logiczne sumatora abccoco y y coco c a b
ZPT Funkcje logiczne sumatora abccoco y ab c ab c y coco c a b
ZPT Sumator (Full adder) ciaibiciaibi s i c i+1 26
ZPT 27 Bloki funkcjonalne c.d. B. kombinacyjneB. sekwencyjnePamięci Układy Arytmetyczne Komparator Sumator Układy Komutacyjne MUX DMUX DEC Rejestry Równoległe Przesuwające Liczniki Zliczające W górę W dół ROM
ZPT Rejestry Rejestry buduje się z przerzutników typu D CLK D 1 D 3 D 2 D 4 Q 1 Q 3 Q 2 Q LOAD 0100 Taki rejestr nazywamy równoległo-równoległym, krótko równoległym Najprostszy rejestr:ładowanie (load) i pamiętanie 28
ZPT Rejestr przesuwający WEQ1Q1 Q2Q2 Q3Q3 Q4Q Q 1 Q 3 Q 2 Q 4 wejście szeregowe D 1 D 2 D 3 D 4 0 SHR clk Taki rejestr nazywamy szeregowo-równoległym, krótko szeregowym 29
ZPT Jak zbudować rejestr uniwersalny... Q 1 Q 3 Q 2 Q 4 CLK wejście szeregowe D 1 D 2 D 3 D 4 tzn. taki, który wykonywałby funkcje zarówno rejestru CLK D 1 D 3 D 2 D 4 Q 1 Q 3 Q 2 Q 4 równoległego, jak też szeregowego 30
ZPT 31...wystarczy rozbudować rejestr przesuwający Q 1 Q 3 Q 2 Q 4 CLK wejście szeregowe D 1 D 2 D 3 D 4 Clock D0 D1 D Q Q Sel
ZPT Rejestr szeregowo-równoległy Y := X LOAD Y := Y HOLD Y := SHR(x p, Y) R (Q) clock Y x X s 1 s 2 Clock D D D D 0 1 X Y x p Wejścia równoległe Wyjścia równoległe Wejście szeregowe D Q D Q D Q D Wejście sterujące Q 0 1 Clock 32 Y := X LOAD Y := Y HOLD Y := SHR(x p, Y) R (Q) clock Y x p X s 1 s 2 Taki rejestr można rozbudowywać dalej uzyskując tzw. rejestr uniwersalny
ZPT Mikrooperacje rejestru 1100 SHR – przesuwanie w prawo LOAD SHR LOAD HOLD SHR LOAD HOLD xRxR 0
ZPT Liczniki… Licznik E clock Q ESES 01 S0S0 S0S0 S1S1 S1S1 S1S1 S2S2 S2S2 S2S2 S3S3 S3S3 S3S3 S4S4 S7S7 S7S7 S0S0 …przykład syntezy licznika (zadanie 8.1 skrypt Układy logiczne w zadaniach) 34 Zaprojektować licznik mod 8 z wejściem zezwalającym E (Enable). Przerzutniki do realizacji dobrać tak, aby uzyskać najprostszy schemat logiczny licznika.
ZPT E S 01 E Q2Q1Q0 01 S0S0 S0S0 S1S S1S1 S1S1 S2S2 010 S2S2 S2S2 S3S3 011 S3S3 S3S3 S4S4 100 S4S4 S4S4 S5S5 101 S5S5 S5S5 S6S6 110 S6S6 S6S6 S7S7 111 S7S7 S7S7 s0s0 000 S’Q2Q1Q0Q2’Q1’Q0’ Zakodowana tablica przejść licznika Tablica przejść Zakodowana tablica przejść kod binarny 35
ZPT E Q2Q1Q0 01 E Q2Q1Q Q2Q1Q0Q2’Q1’Q0’Q2Q1Q0Q2’Q1’Q0’ Zakodowana tablica transformowana do tablicy Karnaugha 36
ZPT E Q2Q1Q0 01 E Q2Q1Q Q2Q1Q0Q2’Q1’Q0’Q2Q1Q0D2D1D0 Funkcje wzbudzeń dla przerzutników D D2 = D1 =D0 = QQ’D
ZPT E Q2Q1Q0 01 E Q2Q1Q Q2Q1Q0Q2’Q1’Q0’Q2Q1Q0T2T1T0 T2 = T1 =T0 = Funkcje wzbudzeń dla przerzutników T QQ’T Errata do zad. 8.1 ze skryptu
ZPT Schemat logiczny licznika 1) T0T0 Q Q Clock T1T1 Q Q Enable T2T2 Q Q 11 QT QEQT T ET 1) Najprostszy na świecie 39
ZPT EAEA 01 A0A0 A0A0 A1A1 A1A1 A1A1 A2A2 A2A2 A2A2 A3A3 A3A3 A3A3 A4A4 A4A4 AA5A5 A 14 A 15 A0A0 40 T Q Q Clock T Q Q Enable T Q Q T Q Q Schemat ten można uogólnić…
ZPT T Q Q Clock T Q Q Enable Rst T Q Q T Q Q Wada: jest to licznik bez funkcji: LOAD (ładowanie) 0100 Realizacja funkcji ładowania dla przerzutników T jest niemożliwa Licznik 4-bitowy 41 Jak wybrnąć z tej sytuacji? Trzeba znać i rozumieć układy logiczne! z powodzeniem może być wykorzystany do realizacji licznika uniwersalnego
ZPT Przerzutnik T realizowany z D DQDQ Q’ = D TQTQ Równanie charakterystyczne: Q’ = f(I 1,I 2,Q) D = D Q Q T clk 42
ZPT Licznik z wpisem równoległym.. T Q Q Clock T Q Q Enable Rst T Q Q T Q Q D Q Q T clk …uzyskamy, zastępując przerzutniki T… 43
ZPT Licznik z przerzutnikami D 44 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 Licznik z wpisywaniem równoległym 45
ZPT Licznik z wpisywaniem równoległym 46 Y := X LOAD Y := Y HOLD Y := Y+1 COUNT L (Q) clock Y X s 1 s 2
ZPT Mikrooperacje licznika 1100 Zliczanie LOAD COUNT LOAD HOLD COUNT LOAD HOLD
ZPT Pamięci typu ROM N słów (komórek) m-bitowych A ROM N m X0X0 XiXi X N-1 n Y m N = 2 n W każdym komórce pamięci zapisane jest słowo m-bitowe Pamięć ROM jest uniwersalnym układem kombinacyjnym 48
ZPT Pamięci typu ROM Adres ROM 8
ZPT Więcej o cyfrowych blokach funkcjonalnych w… 50 Pamięci typu ROM… Pamięci typu ROM odgrywają coraz większą rolę w syntezie logicznej układów cyfrowych Są doskonałymi elementami konstrukcyjnymi w strukturach FPGA z wbudowanymi pamięciami