TC bl K


Bloki funkcjonalne&
& stanowią wyposażenie bibliotek komputerowych
systemów projektowania
Licznik
Rejestr
Mux
Każdy układ cyfrowy składamy
z bloków funkcjonalnych
ZPT 1
Edytor graficzny
INPUT
LB[7..0]
r3_v r2_v r1_v
IN OUT IN OUT LB[7..0] OUT
DA[3..0] DB[3..0] RB[7..0]
LOAD LOAD LOAD
INPUT
CK CK CK
CK
OUTPUT
CLOK
Us_v
Lk_v
INPUT
CLK CLOK
CK L[3..0]
CLK OUTPUT
LOAD
START
LOAD STOP
STOP
START
INPUT
STOP
r4_v
STOP]
LD[7..0] LD[7..0]
CLK
QDB[3..0]
OUTPUT
QDA[3..0]
ZPT 2
Blok funkcjonalny
& specjalizowany układ cyfrowy wykonujący jedną
lub kilka elementarnych operacji (mikrooperacji)
przetwarzania sygnałów cyfrowych
Na przykład:
dodawanie,
odejmowanie
Typowe bloki funkcjonalne: multipleksery,
demultipleksery, sumatory, liczniki, rejestry.
ZPT 3
Bloki funkcjonalne
B. kombinacyjne B. sekwencyjne Pamięci
Układy
Układy
Rejestry Liczniki (RAM)
ROM
Komutacyjne
Arytmetyczne
Komparator
Równoległe Zliczające
MUX
Sumator
Przesuwające W górę
DMUX
W dół
DEC
4
ZPT
Multiplekser (MUX)
e Wejście zezwalające
N = 2n d0
N-1
d1
y
wejść
= e P (A)d
"
k k
k =0
informacyjnych
Wyjście
dN-1
an-1 a0
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).
ZPT 5
Multiplekser (MUX)
e=1
N-1
d0
y
= e P (A)d
"
k k
k =0
d1
Dla n = 1 (MUX 2 : 1):
dN-1
y = ad + ad
0 1
dla n = 2 (MUX 4 : 1):
an-1 a0
y = a a d + a a d + a a d + a a d
1 0 0 1 0 1 1 0 2 1 0 3
dla n = 3 (MUX 8 : 1):
y = a a a d + a a a d + a a a d + a a a d +
2 1 0 0 2 1 0 1 2 1 0 2 2 1 0 3
+ a a a d + a a a d + a a a d + a a a d
2 1 0 4 2 1 0 5 2 1 0 6 2 1 0 7
ZPT 6
Multiplekser 4:1
e=1
d0
0
y = a a d + a a d + a a d + a a d
1 0 0 1 0 1 1 0 2 1 0 3
d
d1
1
=1
=0
=0 =0
d
d2
2
y=d0
d3
e
3
a0
y=d1
d0
a1
d1
a1 a0
=0 0
y
=0 1
d2
d3
ZPT 7
Multiplekser jako przełącznik
Multiplekser
00& 00
yródło
danych
I0
00& 01
2n yródło
danych
zródeł
I1
odbiornik
f
danych
11& 11
yródło
danych
n 2n-1
I2 -1
adresów
00& 01
11& 11
zródeł
To nie jest połączenie w postaci
ścieżki metalizowanej
ZPT 8
Multiplekser jako przełącznik
e=1
y = a1a0d0 + a1a0d1 + a1a0d2 + a1a0d3
0
0
0
1
1
1
0
2
3
1
1
0 0
0 1
1 1
ZPT 9
Demultiplekser
e
Wejście zezwalające
y0
Wejście
d
y1
N = 2n wyjść
informacyjne
yN-1
yk = ePk(A)d
Wejścia adresowe
an-1 a0
gdzie Pk(A) oznacza pełny iloczyn zmiennych
an 1,...,a0, prostych lub zanegowanych,
zgodnie z reprezentacją binarną liczby k = L(A).
ZPT 10
Demultiplekser jako przełącznik
y0 = a1a0d
=d
e=1
y1 = a1a0d
=d
0 0 y2 = a1a0d
0
1 0 0
1
1
1
1
y3 = a1a0d
=d
2
0 0 0
e
3
a0
0 0
y0
a1
y1
0 0
0 1
y2
1 1
y3
d
ZPT 11
Demultiplekser jako przełącznik
00& 00
Demultiplekser
f0
00& 01
f1
2n
yródło
odbiorników
danych
11& 11
f2n
-1
-
-
-
2n
adresów
odbiorników
00& 01
11& 11
ZPT 12
Dekoder
DMUX
DEKODER
e
d = 1
y0
y0
a0
e = 1
a1
d
y1 y1
an-1
yN-1
yN-1
an-1 a0
N = 2n
13
ZPT
Multipleksery kaskadowe
Jak zbudować większy MUX z mniejszych?
ZPT
Multipleksery grupowe
MUX-y i DMUX-y można przystosować do przełączania (komutacji)
sygnałów wielobitowych (grupowych)
A
A
Y=A
B
Y=B
B
1
0
15
ZPT
Bloki komutacyjne
0
0
1 0
1 0
0
0
0 0
0 0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
0 0
0 0
0
0
0
0
2
0
0
2
0
0
0
0
1
1
0
0
1
1
3
0
0
3
1
1
0
0
a1 a0
a1 a0
1 0
0 0
1 1
0 1
1 0
1 0
ZPT 16
Zastosowanie bloków komutacyjnych
Moduł A
Moduł X
Moduł B
Moduł Y
Moduł C
Moduł W
Moduł D
Moduł D
ZPT
Zastosowanie bloków komutacyjnych
Moduł A
0
Moduł X
0
1
Moduł B
1
Moduł Y
2
Moduł C
2
Moduł W
3
3
Moduł D
Moduł D
a1 a0
a1 a0
0 0 1 1
0 1 0 0
1 0 1 0
ZPT
MUX/DMUX w realizacji funkcji boolowskich
y = Ł(1,7,11,13,14,15)
0
0
0
1
1
1
2
2
0
3
3
0
4
4
0
5
5
0
6
6
0
y
7
7
1
8
8
y
0
1
9
9
0
10
10
0
11
11
1
12
12
0
13
13
1
14
14
1
15
15
1
x3x2x1x0 x3x2x1x0
ZPT 19
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
tzw. dekoderów mikrorozkazu.
ZPT 20
Komparator
0001
1001 0001
0111
B
A
n
n
 1 z 3
1 0 0
A < B
0 1 0
A = B
K
0 0 1
A > B
ZPT
Komparator
a3
i 3
ik = ak "bk
A = a3a2a1a0 B = b3b2b1b0
b3
a2
i 2
b2
A eq B = i3i2i1i0
a1
i 1
b1
a0
i 0
b0
A < B =
A eq B + A gt B
A > B = a3b3 +i3a2b2 +
+i3i2a1b1 +i3i2i1a0b0
ak `" bk ! A < B, gdy ak = 0, bk =1
A > B, gdy ak = 1, bk =0
ZPT 22
Sumatory
B
A
A
n
n
Sumator  podstawowy
BF powszechnie
c0
stosowany w technice
c n
DSP
Ł
Ł
Ł
Ł
n
Inne układy
Y
arytmetyczne:
układy odejmowania
układy mnożące
...są budowane z sumatorów
układy dzielenia
ZPT 23
Najprostszy sumator
Kaskadowy  ripple carry adder
0111
A
1001 B
0110
n
n
a n-1
b n-1 a b a b
i i 0 0
c0
c n
c
c
n
ci c
1
i+1
Ł
Ł c0
Ł
c
n-1
Ł
C4=0
C4=1
yn-1
yi y0
n
Y
0000
1111
ZPT 24
Funkcje logiczne sumatora
a b
a b c co y
0 0 0 0 0
c
co
0 0 1
0 1
Ł
Ł
Ł
Ł
0 1 0
0 1
0 1 1
1 0
1 0 0
0 1
y
1 0 1
1 0
1 1 0
1 0
1 1 1
1 1
ZPT 25
Funkcje logiczne sumatora
ab
a b
a b c co y
c 00 01 11 10
0 0 0 0 0
001 01
c
co
0 0 1
0 1 110 10
Ł
Ł
Ł
Ł
0 1 0
0 1
y =cab("cab("cab("cab
0 1 1
1 0
=cła"bł("c(a"b)
ł ł
ł łł
1 0 0
0 1
y
1 0 1
1 0
y =c"a"b
1 1 0
1 0 ab
c00 01 11 10
1 1 1
1 1
0 0 0 1 0
yi = ai "bi "ci
1 0 1 1 1
co =ab("c(a("b)=ab("c(a"b)
ci +1=aibi ("ci(ai ("bi)
ZPT 26
Sumator (Full adder)
ci
si
ai
bi
ci+1
si = ai "bi " ci
ci +1 = aibi (" ci(ai "bi)
ZPT 27
Jaka jest ścieżka
Ripple-carry adder - wady
krytyczna tego
układu?
n-1 n-1
1
n
n-1
Bardzo długa - liniowo zależna od wielkości sumatora
Dla większości zastosowań sumator kaskadowy jest zbyt wolny
ZPT 28
Sumator z antycypacją przeniesień
Znacznie lepszy jest sumator
z antycypacją przeniesień,
w 3 z i 3z ni i ni
ó3 z i 3z ni i ni
3 z i 3z ni i ni
3 z i 3z ni i ni
3z n j n z ni n
3z n j n z ni n
3z n j n z ni n
3z n j n z ni n
i i n
i i n
i i n
i i n
ł ni
łł ni
ł ni
ni
ZPT 29
Sumator z antycypacją przeniesień
Look ahead Carry Adder (LCA)
ci+1 = xiyi (" ci(xi (" yi)
gi = xiyi
pi = xi (" yi
si = ci " (pi gi)
Wtedy:
si = xi " yi " ci
ci+1 = gi (" pici
ZPT 30
Sumator z antycypacją przeniesień
ci+1 = gi (" pici
c0
c1 = g0 (" p0c0
c2 = g1 (" p1c1 = g1 (" p1(g0 (" p0c0)
(funkcja 5 arg.)
c2 = g1 (" p1g0 (" p1p0c0
ZPT 31
Sumator z antycypacją przeniesień
c2 = g1 (" p1g0 (" p1p0c0 c1 = g0 (" p0c0
x0 y
Wszystkie przeniesienia sĘ x1 y1
0
wytwarzane jednoczeŚnie na
podstawie bit w sumowanych
skadnik w!
p g p g
1 1 0 0
c0
C
C
F
F
c1
c2
s0
(funkcja 5 arg.) s1
ZPT 32
Sumatory z antycypacją przeniesień&
& można łączyć szeregowo
x31-24 y31-24 x15-8 y15-8 x7-0 y7-0
c24 c16 c8
c32 c0
Blok 3 Blok 1 Blok 0
S31-24 S15-8 S7-0
& ale można też stosować hierarchiczny sumator z antycypacją
przeniesień
ZPT 33
Hierarchiczny sumator z antycypacją przeniesień
x y x y x y
31 24 31 24 15 8 15 8 7  0 7  0
Block Block Block
c
0
3 1 0
c
24
G H3 G H1 G H0
3 1 0
s s s
31 24 15 8 7  0
c c c
32 16 8
Drugi poziom
ZPT 34
Sumator/układ odejmujący
Jak z sumatora zbudować układ odejmujący?
B
B
A
n
Co=1
XOR
n
n
Co=0
1
c0
c
n

B
Ł
B
0 +
n
Y
AU2 = (an 1 ,..., aj ,..., a0)
n-2
AD =L(AU2)= -an-1"2n-1 +
"a 2j
j
j=0
ZPT 35
Sumator/układ odejmujący
a3 b3 a2 b2 a1 b1 a0 b0
A B A B A B
c4 A B
Dodawanie/
CO + CI CO + CI CO + CI CO + CI
odejmowanie
c3 S
S S S
Overflow
S 3 S 2 S 1 S 0
OVR = cn 1"cn
"
"
"
OVR = c3"c4
"
"
"
ZPT 36
Pamięci typu ROM
X0
n
ROM
A
Xi
N = 2n
N m



N słów (komórek)
XN-1
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 37
Pamięci typu ROM
0
0 1 1 0
0 1 1 0
Adres
1
1 1 1 0
1 1 1 0
2
0 0 0 0
1 0 0
3
ROM
1 1 1 1
0 0 0
4
8 4



0 1 1 0
1 1 0
5
0 1 0 1
0 1 0 1
6
1 1 1 1
7
0 1 1 0
ZPT 38


Wyszukiwarka

Podobne podstrony:
TC bl fun
TC bl 1
Blümchen Nur geträumt
Cin Acr CNC TC [12] L273 85 1
IPV6 TC
BL?VAR
UL&TC 2
TC red arg
Bl alfa
tc lod
Termometr elektroniczny Thermocont TC 01a

więcej podobnych podstron