Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Układy logiczne – układy cyfrowe
Jak projektować układy cyfrowe (systemy cyfrowe) Układy kryptograficzne Układy arytmetyki rozproszonej filtrów cyfrowych Selek- tor ROM AND Komparator X Specjalizowane układy cyfrowe Układy wykrywania wzorców Tadeusz Łuba ZCB
2
Są to oddzielne elementy konstrukcyjne, ich struktura
Bloki funkcjonalne Multipleksery, sumatory, komparatory, liczniki, rejestry. Y n A e Komparator S LICZNIK REJESTR Są to oddzielne elementy konstrukcyjne, ich struktura i działanie jest ściśle zdeterminowane. Są budowane z bramek i przerzutników. Z bloków funkcjonalnych 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. Tadeusz Łuba ZCB 2
3
W latach 80…. A jak jest dziś? Bloki funkcjonalne: Sumatory Liczniki
Rejestry Komparatory Konwertery Bufory Rejestry przesuwajace Były produkowane w postaci katalogowych układów scalonych serii 74xx 74xx A jak jest dziś? Tadeusz Łuba ZCB
4
…stanowią wyposażenie bibliotek komputerowych systemów projektowania
Bloki funkcjonalne… …stanowią wyposażenie bibliotek komputerowych systemów projektowania Licznik Rejestr Mux Układ cyfrowy Każdy układ cyfrowy składamy z bloków funkcjonalnych Tadeusz Łuba ZCB 4
5
…stanowią wyposażenie bibliotek komputerowych systemów projektowania
Bloki funkcjonalne… …stanowią wyposażenie bibliotek komputerowych systemów projektowania Licznik Rejestr Mux Układ cyfrowy W procesie konstruowania systemów cyfrowych struktura wewnętrzna bloku w zasadzie nas nie interesuje Tadeusz Łuba ZCB 5
6
Bloki funkcjonalne B. kombinacyjne B. sekwencyjne Pamięci Komutacyjne
MUX DMUX DEC Arytmetyczne Komparator Sumator Rejestry Równoległe Przesuwające Liczniki Zliczające W górę W dół ROM (RAM) Tadeusz Łuba ZCB 6
7
Multiplekser (MUX) Wejście zezwalające e N = 2n wejść informacyjnych d 1 N-1 y Wyjście Wejścia adresowe a n-1 gdzie Pk(A) oznacza pełny iloczyn zmiennych an–1,...,a0, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A) Tadeusz Łuba ZCB 7
8
Jak działa Multiplekser…
n-1 e=1 d 1 N-1 Dla n = 1 (MUX 2 : 1): y dla n = 2 (MUX 4 : 1): d0 d1 d2 d3 a0 a1 e y dla n = 3 (MUX 8 : 1): Każdy blok funkcjonalny można skonstruować bramek logicznych Tadeusz Łuba ZCB 8
9
Multiplekser jako przełącznik
1 d 3 2 1 1 =1 =0 y=d0 1 1 y=d1 =0 0 0 0 =0 1 0 1 1 1 Tadeusz Łuba ZCB 9
10
Multiplekser jako przełącznik
Źródło danych I0 00…00 Źródło danych I1 00…01 2n źródeł danych f odbiornik 2n-1 Źródło danych I 11…11 2n-1 adresów źródeł 00…01 11…11 To nie jest połączenie w postaci ścieżki metalizowanej Tadeusz Łuba ZCB 10
11
Demultiplekser N = 2n wyjść
Wejście zezwalające N = 2n wyjść Wejście informacyjne Wejścia adresowe gdzie Pk(A) oznacza pełny iloczyn zmiennych an–1,...,a0, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A) Tadeusz Łuba ZCB 11
12
Demultiplekser jako przełącznik
1 1 1 1 =d a0 a1 e y0 d y1 y2 y3 0 0 0 1 1 1 Tadeusz Łuba ZCB 12
13
Demultiplekser jako przełącznik
00…00 Demultiplekser f0 00…01 f1 Źródło danych 2n odbiorników 11…11 f 2n-1 2n adresów odbiorników 00…01 11…11 Tadeusz Łuba ZCB 13
14
Dekoder DMUX DEKODER d = 1 e = 1 N = 2n Tadeusz Łuba ZCB 14
15
Dane można przesłać z dowolnego źródła do dowolnego odbiornika
Bloki komutacyjne W dzisiejszych czasach można skonstruować blok komutacyjny o dowolnych wymiarach… a a0 1 2 3 a a0 1 2 3 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 Dane można przesłać z dowolnego źródła do dowolnego odbiornika Tadeusz Łuba ZCB 15
16
MUX/DMUX w realizacji funkcji boolowskich
y = (1,7,11,13,14,15) x3x2x1x0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 y 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 y 1 x3x2x1x0 Tadeusz Łuba ZCB 16
17
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. Tadeusz Łuba ZCB 17
18
Taki komparator można łatwo zbudować
1001 0001 0001 0111 A n B n „1 z 3” K 1 1 1 A < B A = B A > B Taki komparator można łatwo zbudować z bramek logicznych Tadeusz Łuba ZCB 18
19
Metody syntezy logicznej można wspomagać intuicją inżynierską
Komparator a3 a2 a1 a0 b3 b2 b1 b0 Y1 Y2 Y3 1 . A n B K Metody syntezy logicznej można wspomagać intuicją inżynierską Tadeusz Łuba ZCB 19
20
Komparator dla liczb 4-bitowych
A = a3a2a1a0 B = b3b2b1b0 i 1 2 3 A eq B = i3i2i1i0 A < B = A > B = Zawsze A > B, jeśli a3 = 1 i jeśli b3 = 0 A 1000 B Tadeusz Łuba ZCB 20
21
S Sumatory ...są budowane z sumatorów
c n A B Y S 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 Tadeusz Łuba ZCB 21
22
S Sumator Sumator kaskadowy: ripple carry adder 1001 0111 0110 0000
n B n a b c n-1 y n S a b i y c i+1 S a b y c 1 S S c c n C4=1 C4=0 Jak jest zbudowane pojedyncze ogniwo? Y n 0000 1111 Tadeusz Łuba ZCB 22
23
Funkcje logiczne sumatora
y co c S a b a b c co y 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 Tadeusz Łuba ZCB 23
24
Funkcje logiczne sumatora
ab c 00 01 11 10 1 y co c S a b a b c co y 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 ab c 00 01 11 10 1 1 1 Tadeusz Łuba ZCB 24
25
Sumator (Full adder) ci ai bi si ci+1 Tadeusz Łuba ZCB 25
26
Bloki funkcjonalne c.d. B. kombinacyjne B. sekwencyjne Pamięci Układy
Komutacyjne MUX DMUX DEC Układy Arytmetyczne Komparator Sumator Rejestry Równoległe Przesuwające Liczniki Zliczające W górę W dół ROM Tadeusz Łuba ZCB 26
27
Rejestry Rejestry buduje się z przerzutników typu D
Najprostszy rejestr: ładowanie (load) i pamiętanie 1 CLK D 1 3 2 4 Q 1 LOAD Taki rejestr nazywamy równoległo-równoległym, krótko równoległym Tadeusz Łuba ZCB 27
28
Rejestr przesuwający 1 SHR clk WE Q1 Q2 Q3 Q4 1 28 Q D wejście
szeregowe D 1 clk WE Q1 Q2 Q3 Q4 1 Taki rejestr nazywamy szeregowo-równoległym, krótko szeregowym Tadeusz Łuba ZCB 28
29
Jak zbudować rejestr uniwersalny...
tzn. taki, który wykonywałby funkcje zarówno rejestru równoległego , jak też szeregowego CLK D 1 3 2 4 Q Q 1 3 2 4 CLK wejście szeregowe D Tadeusz Łuba ZCB 29
30
...wystarczy rozbudować rejestr przesuwający
Q 1 3 2 4 CLK wejście szeregowe D Clock D0 D1 D Q Sel Tadeusz Łuba ZCB 30
31
Rejestr szeregowo-równoległy
Clock Wejścia równoległe Wyjścia równoległe Wejście szeregowe D Q Wejście sterujące 1 Taki rejestr można rozbudowywać dalej uzyskując tzw. rejestr uniwersalny Clock D 1 X Y x p Y := X LOAD Y := Y HOLD Y := SHR(xp, Y) R (Q) clock Y x X s 1 2 Y := X LOAD Y := Y HOLD Y := SHR(xp, Y) R (Q) clock Y x p X s 1 2 Tadeusz Łuba ZCB 31
32
Mikrooperacje rejestru
SHR LOAD HOLD xR 1100 1100 LOAD HOLD SHR 0010 LOAD 0110 0011 SHR – przesuwanie w prawo 0001 Tadeusz Łuba ZCB 32
33
Liczniki… …przykład syntezy licznika
(zadanie 8.1 skrypt Układy logiczne w zadaniach) Zaprojektować licznik mod 8 z wejściem zezwalającym E (Enable). Przerzutniki do realizacji dobrać tak, aby uzyskać najprostszy schemat logiczny licznika. E S 1 S0 S1 S2 S3 S4 S7 Licznik E clock Q Tadeusz Łuba ZCB 33
34
Zakodowana tablica przejść licznika
kod binarny Tablica przejść E S 1 Q2Q1Q0 S0 S1 000 001 S2 010 S3 011 S4 100 S5 101 S6 110 S7 111 s0 S’ Q2’Q1’Q0’ Tadeusz Łuba ZCB 34
35
Zakodowana tablica transformowana do tablicy Karnaugha
E Q2Q1Q0 1 000 001 010 011 100 101 110 111 Q2’Q1’Q0’ Tadeusz Łuba ZCB 35
36
Funkcje wzbudzeń dla przerzutników D
QQ’ D 00 01 1 10 11 E Q2Q1Q0 1 000 001 010 011 100 110 111 101 Q2’Q1’Q0’ D2 D1 D0 D2 = D1 = D0 = Tadeusz Łuba ZCB 36
37
Errata do zad. 8.1 ze skryptu
QQ’ T 00 01 1 10 11 Funkcje wzbudzeń dla przerzutników T E Q2Q1Q0 1 000 001 010 011 100 110 111 101 Q2’Q1’Q0’ T2 T1 T0 T2 = T1 = T0 = Errata do zad. 8.1 ze skryptu Tadeusz Łuba ZCB 37
38
Q EQ T E = Q T = Funkcje wzbudzeń licznika 1) Najprostszy na świecie 1
2 Q EQ T E = 1 Q T = T0 Q Clock T1 Enable T2 1) Najprostszy na świecie Tadeusz Łuba ZCB 38
39
Schemat ten można uogólnić…
1 A0 A1 A2 A3 A4 A5 A14 A15 T Q Clock Enable Tadeusz Łuba ZCB 39
40
Wada: jest to licznik bez funkcji: LOAD (ładowanie)
Licznik 4-bitowy T Q Clock Enable Rst 1 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! Tadeusz Łuba ZCB 40
41
Przerzutnik T realizowany z D
Q 1 D Q 1 Q’ = D Równanie charakterystyczne: Q’ = f(I1,I2,Q) D = D Q T clk Tadeusz Łuba ZCB 41
42
Licznik z wpisem równoległym..
…uzyskamy, zastępując przerzutniki T… T Q Clock Enable Rst D Q T clk Tadeusz Łuba ZCB 42
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. Tadeusz Łuba ZCB 43
44
Licznik z wpisywaniem równoległym
Enable D Q 1 2 3 Load Clock Output carry Wejścia równoległe Wyjścia Tadeusz Łuba ZCB 44
45
Licznik z wpisywaniem równoległym
Enable D Q 1 2 3 Load Clock Output carry Y := X LOAD Y := Y HOLD Y := Y+1 COUNT L (Q) clock Y X s 1 2 Tadeusz Łuba ZCB 45
46
Mikrooperacje licznika
COUNT LOAD HOLD 1100 1100 LOAD HOLD COUNT 0010 LOAD 1101 1110 Zliczanie 1111 Tadeusz Łuba ZCB 46
47
Pamięci typu ROM N = 2n n ROM A N m N słów (komórek) m-bitowych m Y
X0 Xi XN-1 n Y m N = 2n N słów (komórek) m-bitowych W każdym komórce pamięci zapisane jest słowo m-bitowe Pamięć ROM jest uniwersalnym układem kombinacyjnym Tadeusz Łuba ZCB 47
48
Pamięci typu ROM Adres ROM 8 4 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0
1 2 3 4 5 6 7 1 1 Tadeusz Łuba ZCB 48
49
Pamięci typu ROM… Więcej o cyfrowych blokach funkcjonalnych w…
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 Tadeusz Łuba ZCB 49
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.