Bloki funkcjonalne stanowią wposażenie bibliotek komputerowch sstemów projektowania Licznik Mux Rejestr Każd układ cfrow składam z bloków funkcjonalnch
Edtor graficzn IN CLK CK IN LB[7..] STOP] OUT CLOK L[3..] OUT OUT LOAD START LOAD LOAD LOAD CLK DA[3..] LOAD STOP DB[3..] RB[7..] LD[7..] CK STOP CK CK QDB[3..] QDA[3..] r3_v Us_v r_v r_v r4_v Lk_v LB[7..] CK CLK START CLOK STOP LD[7..] INPUT INPUT INPUT INPUT OUTPUT OUTPUT OUTPUT
Blok funkcjonaln specjalizowan układ cfrow wkonując jedną lub kilka elementarnch operacji (mikrooperacji) przetwarzania sgnałów cfrowch Na przkład: dodawanie, odejmowanie Tpowe bloki funkcjonalne: multiplekser, demultiplekser, sumator, liczniki, rejestr. 3
Bloki funkcjonalne B. kombinacjne B. sekwencjne Pamięci Układ Komutacjne MUX DMUX DEC Układ Artmetczne Komparator Sumator Rejestr Równoległe Przesuwające Liczniki Zliczające W górę W dół ROM (RAM) 4
Multiplekser (MUX) e Wejście zezwalające N = n wejść informacjnch d d d N- = Wjście e N k = P k (A)d k Wejścia adresowe a n- a gdzie P k (A) oznacza pełn iloczn zmiennch a n,...,a, prostch lub zanegowanch, zgodnie z reprezentacją binarną liczb k = L(A). 5
Multiplekser (MUX) e= d d d N- = e N k = P k (A)d k Dla n = (MUX : ): = ad + ad a n- a dla n = (MUX 4 : ): = a a d + + a a d + a a d a a d 3 = a a a d + a a a d + a a a d + a a a d + 3 + a a a d + a a a d + a a a d + a a a d dla n = 3 (MUX 8 : ): 4 5 6 7 6
e= Multiplekser 4: d d d d 3 3 = a a d + = = = = + a a d + a a d a a d 3 =d =d d a e a a = = d d a d 3 7
Multiplekser jako przełącznik Źródło danch I Multiplekser n źródeł danch Źródło danch I f odbiornik Źródło danch I n n adresów źródeł To nie jest połączenie w postaci ścieżki metalizowanej 8
Multiplekser jako przełącznik e= = a + ad + aa d + aa d aa d3 3 9
Demultiplekser e Wejście zezwalające Wejście d informacjne Wejścia adresowe a n- a N- N = n wjść k = ep (A)d k gdzie P k (A) oznacza pełn iloczn zmiennch a n,...,a, prostch lub zanegowanch, zgodnie z reprezentacją binarną liczb k = L(A).
Demultiplekser jako przełącznik e= = a = a a a d d =d =d = a a d 3 a 3 = a a d e =d d a 3
Demultiplekser jako przełącznik Demultiplekser f Źródło danch f n odbiorników n adresów odbiorników f n
Dekoder DMUX e DEKODER d d = e = a a N- a n- N- a n- a N = n 3
Multiplekser kaskadowe Jak zbudować większ MUX z mniejszch?
Multiplekser grupowe MUX- i DMUX- można przstosować do przełączania (komutacji) sgnałów wielobitowch (grupowch) A A B Y=A Y=B B 5
Bloki komutacjne a a 3 a a 3 6
Zastosowanie bloków komutacjnch Moduł A Moduł X Moduł B Moduł Y Moduł C Moduł W Moduł D Moduł D
Zastosowanie bloków komutacjnch Moduł A Moduł X Moduł B Moduł Y Moduł C Moduł W Moduł D 3 3 Moduł D a a a a
MUX/DMUX w realizacji funkcji boolowskich = Σ(,7,,3,4,5) 3 4 5 6 7 8 9 3 4 5 3 4 5 6 7 8 9 3 4 5 x 3 x x x x 3 x x x 9
Bezpośrednie zastosowanie MUX/DMUX do realizacji funkcji boolowskich należ odłożć do kosza! Sensowne jest natomiast stosowanie tch układów do wspomagania procesu sntez funkcji boolowskich Dobrm przkładem jest zastosowanie dekoderów do zmniejszania liczb wjść pamięci ROM w realizacjach tzw. dekoderów mikrorozkazu.
Komparator A B n n z 3 K A < B A = B A > B
Komparator a 3 b 3 i 3 A = a 3 a a a B = b 3 b b b i k = a k b k a b i a b i A eq B = i 3 i i i a b i A < B = A eq B+ A gt B A > B = a 3 + i b 3 3 i + i a 3 b a b + i 3 i + i a b a k b k A < B, gd a k =, b k = A > B, gd a k =, b k =
Sumator A B Sumator podstawow BF powszechnie stosowan w technice DSP c n n Σ n c Inne układ artmetczne: układ odejmowania układ mnożące układ dzielenia...są budowane z sumatorów Y n 3
Najprostsz sumator Kaskadow ripple carr 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 n- i Y 4
Funkcje logiczne sumatora a b a b c c o c o Σ c 5
Funkcje logiczne sumatora c o c i i + a b = = Σ a b c i i i ab c(a b) i i c i a b c c o i i c o ab c = cab cab cab cab = c a b c a = c a b ( b) ab c = ab c(a b) = ab c(a b) 6
Sumator (Full adder) c i a i b i s i c i+ c i s i = = a i a b c b i ( a c i b + i i i i i ) 7
Jaka Ripple-carr jest ścieżka adder - wad krtczna tego układu? n- n- n n- Bardzo długa - liniowo zależna od wielkości sumatora Dla większości zastosowań sumator kaskadow jest zbt woln 8
Sumator z antcpacją przeniesień Znacznie lepsz jest sumator z antcpacją przeniesień, w 9ó7 8 89 57 3 8 3,8 9,7,3 /34. 3 3, 3 3, 54/89, - 9 8:4,3. 8:4,3. 8 h,/3,/3 9
Sumator z antcpacją przeniesień Look ahead Carr Adder (LCA) c i+ = x i i c i (x i i ) g i = x i i p i = x i i Wted: c i+ = g i p i c i s i = c i (p i g i ) s i = x i i c i 3
Sumator z antcpacją przeniesień c i+ = g i p i c i c c = g p c c = g p c = g p (g p c ) c = g p g p p c (funkcja 5 arg.) 3
Sumator z antcpacją przeniesień c = g p g p p c c = g p c W8 89 57 3 8 3,8 9,7,3 /34. 3 3, 54/89, - 9 8:4,3. 8 h,/3! x x p g p g c C C c F c F (funkcja 5 arg.) s s 3
Sumator z antcpacją przeniesień można łączć szeregowo x 3-4 3-4 x 5-8 5-8 x 7-7- c 4 c 6 c 3 Blok 3 Blok Blok c 8 c S 3-4 S 5-8 S 7- ale można też stosować hierarchiczn sumator z antcpacją przeniesień 33
Hierarchiczn sumator z antcpacją przeniesień x 3 4 3 4 x 5 8 5 8 x 7 7 Block 3 c 4 Block Block c G 3 H 3 G H G H s 3 4 s 5 8 s 7 c 3 c 6 c 8 Drugi poziom 34
Sumator/układ odejmując Jak z sumatora zbudować układ odejmując? A B n B n XOR n C o = C o = cn c Σ + B B n Y A U = (a n,..., a j,..., a ) ( ) = n + U n j= A = L A a a D j n j 35
Sumator/układ odejmując a 3 b 3 a b a b a b c 4 A CO B + CI A CO B + CI A CO B + CI A CO B + CI Dodawanie/ odejmowanie S c 3 S S S Overflow S 3 S S S OVR = c n c n OVR = c 3 c 4 36
Pamięci tpu ROM X n A X i ROM N m N = n X N- N słów (komórek) m-bitowch m Y W każdm komórce pamięci zapisane jest słowo m-bitowe Pamięć ROM jest uniwersalnm układem kombinacjnm 37
Pamięci tpu ROM Adres 3 4 5 6 7 ROM 8 4 38