ulog w8a e


Układy cyfrowe
Układy logiczne (cyfrowe) konstruowane są w
różnych technologiach i na różnych poziomach opisu.
Poziomy opisu:
1) Bramki i elementarne układy
Q
D
Przerzutnik
typu D
pamięciowe (przerzutniki)
Q
Clk
A B
n n
Yn-1
Z
2) Bloki funkcjonalne:
S
OVR
X
P
G
ALU
cn c0
sumatory, liczniki, rejestry x x
p X l
n
s
1 L
s
2
(Q)
Y
clock s R
1
s
2
(Q)
Y
clock
Y
I
T
P
W
ZPT
1
Synteza układów cyfrowych
Bloki funkcjonalne tworzą 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
Konstruowanie układu cyfrowego z bloków funkcjonalnych:
I
Synteza strukturalna układów cyfrowych
T
P
W
ZPT
2
Synteza strukturalna układów cyfrowych
Licznik
Rejestr
Mux
F
B
u
l
n
o
k
c
k
j
i
o
n
a
l
n
e
Każdy układ cyfrowy składamy
z bloków funkcjonalnych
I
T
P Bloki funkcjonalne stanowią wyposażenie bibliotek
W
komputerowych systemów projektowania
ZPT
3
Blok funkcjonalny
& specjalizowany układ cyfrowy:
X, (Y)  wejścia (wyjścia) sygnałów
X
reprezentujących dane wejściowe i
wyjściowe
S S  wejścia sterujące,
P
BF
P  wyjścia predykatowe,
clk  wejście zegarowe
clk
Y
I
T
P
W
ZPT
4
Bloki funkcjonalne
B. kombinacyjne B. sekwencyjne Pamięci
Układy Układy
Rejestry Liczniki (RAM)
ROM
Komutacyjne arytmetyczne
Sumator
Równoległe Zliczające
MUX Układ odejmujący
Przesuwające W górę
DMUX Komparator
W dół
DEC
I
T
P
W
ZPT
5
Multiplekser (MUX)
e
d0
N-1
d1
y
= e P (A)d
"
k k
k =0
N = 2n
dN-1
an-1 a0
A =(an 1 ,..., aj ,..., a0 )
Pk(A) oznacza pełny iloczyn zmiennych an 1,...,a0,
prostych lub zanegowanych, zgodnie z reprezentacją
binarną liczby k = L(A).
I
T
P
W
ZPT
6
Multipleksery
N-1
y = e P (A)d
"
Dla n = 1 (MUX 2 : 1):
k k
k=0
y = ad + ad
0 1
e=1
d0
0
dla n = 2 (MUX 4 : 1):
d
d1 1
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
d2
2
3
d3
dla n = 3 (MUX 8 : 1):
a1 a0
y = a a a d + a a a d + a a a d + a a a d +
I
2 1 0 0 2 1 0 1 2 1 0 2 2 1 0 3
T
+ a a a d + a a a d + a a a d + a a a d
P
2 1 0 4 2 1 0 5 2 1 0 6 2 1 0 7
W
ZPT
7
Multiplekser jako przełącznik
e=1
y = a1a0d0 + a1a0d1 + a1a0d2 + a1a0d3
0
0
0
1
1
1
0
2
3
1
1
0 0
I
0 1
T
P
W 1 1
ZPT
8
Demultiplekser
e
y0
d
y1
yk = ePk(A)d
yN-1
(N = 2n)
an-1 a0
Pk(A) oznacza pełny iloczyn zmiennych an 1,...,a0,
I prostych lub zanegowanych, zgodnie z reprezentacją
T
P binarną liczby k = L(A).
W
ZPT
9
Demultiplekser jako przełącznik
e=1
y0 = a1a0d
0 0
0
y1 = a1a0d
1 0 0
1
1
1
1
y2 = a1a0d
2
0 0 0
3
0 0
y3 = a1a0d
0 0
0 1
I
1 1
T
P
W
ZPT
10
Dekoder
DMUX
DEKODER
e
y0
y0
a0
a1
d
y1 y1
an-1
yN-1
yN-1
an-1 a0
I
N = 2n
T
P
W
ZPT
11
Multipleksery grupowe
MUX-y i DMUX-y można przystosować do przełączania (komutacji)
sygnałów wielobitowych (grupowych)
A
A
Y=A
Y
B
Y=B
I
B
T
P
W
0 1
ZPT
12
Bloki komutacyjne
e e
X
0 Y0
X
j X Yj
Y
X
N-1 YN-1
n
n
A
A
Multiplekser służy do wybierania
Demultiplekser służy do
jednego z wielu słów wejściowych i
przesyłania słowa X
przesyłania go na wyjście. Na
wejściowego na jedno z wielu
I
T
wyjściu Y pojawia się słowo
wyjść; numer tego wyjścia jest
P
W
wejściowe wskazane adresem A
równy aktualnej wartości
(wg naturalnego kodu binarnego).
adresu.
ZPT
13
Bloki komutacyjne
Najważniejsze zastosowanie:
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
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
0
0
2
2
0
0
0
0
1
1
0
0
1
1
3
0
0
3
1
1
0
0
a1 a0 a1 a0
I 1 0
0 1
1 0
1 0
0 0
1 1
T
P
W
ZPT
14
Inne zastosowania&
0
0
1
1
Zastosowanie MUX do realizacji
2
0
funkcji boolowskich
3
0
4
0
5
0
6
0
7
1
8
y
0
9
0
10
0
y = Ł(1,7,11,13,14,15)
11
1
12
0
13
1
14
1
I
15
1
T
P
W
ZPT
x3x2x1x0
15
Inne zastosowania&
0
Zastosowanie dekodera do realizacji
1
2 funkcji boolowskich
3
4
5
6
y
7
8
9
10
y = Ł(1,7,11,13,14,15)
11
12
13
14
& należy odłożyć do kosza!
15
I
T
P
W
x3x2x1x0
ZPT
16
Sumatory
B
A
A
n
n
Sumator  podstawowy
BF powszechnie
c0
stosowany w technice
c n
cyfrowej
Ł
Ł
Ł
Ł
n
Inne układy
Y
arytmetyczne:
układy odejmowania
układy mnożące
...są budowane z sumatorów
układy dzielenia
I
T
P
W
ZPT
17
Najprostszy sumator
Najprostsza realizacja: kaskadowy
0111
A
1001 B
0110
(ripple carry adder)
n
n
a
n-1 b a bi a b
n-1 i 0 0
c0
c n
cn
ci+1
ci c1
Ł
Ł c0
Ł
cn-1
Ł
C4=0
C4=1
yn-1
yi y0
n
Y
0000
1111
I
T
P Jak jest zbudowane pojedyncze ogniwo?
W
ZPT
18
Funkcje logiczne sumatora
ab
a b c co y
a b
c 00 01 11 10
0 0 0
0
0
0 0 1 0 1
c
co
0 0 1
1
0
1 1 0 1 0
Ł
Ł
Ł
Ł
0 1 0 0 1
y =cab("cab("cab("cab
1 0
0 1 1
=cła"bł("c(a"b)
ł ł
0 1
ł łł
1 0 0
y
1 0
1 0 1
y =c"a"b
1 0
1 1 0
ab
1 1
1 1 1
c 00 01 11 10
0 0 0 1 0
I
yi = ai "bi "ci
1 0 1 1 1
T
P
W
ci+1=aibi ("ci(ai ("bi)
co =ab("c(a("b)=ab("c(a"b)
ZPT
19
Sumator/układ odejmujący
Jak z sumatora zbudować układ odejmujący?
B
B
A
n
Co=0
Co=1
XOR
n
n
1
c0
c
n

B
Ł
B
0 +
n
Y
I
T
P
W
ZPT
20
Reprezentacje liczb  NKB/U2
A =< an 1 ,..., aj ,..., a0 > gdzie aj " {0,1}
n-1
NKB:
AD = L(ANKB)=
"a 2j
j
j=0
U2:
n-2
AD = L(AU2)= -an-1 "2n-1 +
"a 2j
j
j=0
I
T
P
W
ZPT
21
Kod U2
AU2 = , gdzie aj " {0,1}
"
"
"
n-2
AD =L(AU2)= -an-1"2n-1 +
"a 2j
j
j=0
Bit an 1 można interpretować jako bit znaku.
Jeśli an 1 = 0, to liczba jest dodatnia;
jeśli an 1 = 1 to liczba jest ujemna; pozostałe bity stanowią
uzupełnienie (różnicę) wartości liczby do najwyższej potęgi
liczby 2
<0101>%U2 = +5%D; <1011>%U2 = 5%D
I
T
Zakres:  2n 1 d" AD d" 2n 1  1
P
W
ZPT
22
Sumator/układ odejmujący
B Y = A  B = A + ( B|U2)
A
n
 B|U2 = +1 = B"
 B|U2 = +1 = B" + 1
 B|U2 = +1 = B" + 1
"1 + 1
"1
"1
"
"
"
"
"
"
B
XOR
n
n
Dla c0 = 0
0
Y = A + B "
"0 + 0 = A + B
"
"
c0
c
n
Ł
1
n
Dla c0 = 1
Y
Y = A + + 1 = A  B
B
B
B
B
I
T
P
W
ZPT
23
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
"
"
"
I
T
P
W
ZPT
24
Komparator
B
A
n
n
 1 z 3
A < B
A = B
K
A > B
I
T
P
W
ZPT
25
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
I
T
ak `" bk A < B, gdy ak = 0, bk =1
P
W
A > B, gdy ak = 1, bk =0
ZPT
26
Komparator
a3
i 3
b3
A = a3a2a1a0 B = b3b2b1b0
a2
i 2
b2
A = B
a1
i 1
b1
a0
i 0
b0
A < B
A > B
I
T
P
W
ZPT
27
Sekwencyjne bloki funkcjonalne
Liczniki
Rejestry
xl
xp
X X
s1 s1
R L
s2 s2
(Q) (Q)
clock clock
Y Y
I
T
P
W
ZPT
28
Prosty rejestr
Rejestr zbudowany z przerzutników
 ładowanie (load) i pamiętanie
0 1 00
0 1 00
D1 D2 D3 D4
Q1 Q2 Q3 Q4
P
P1 P2 P4
3
CLK
I
LOAD
T
P
W
ZPT
29
Rejestr przesuwający
Q1 Q2 Q3 Q4
SHR
0 00001 0
D4
D1 D3
D2
wejście
szeregowe
clk
WE Q1 Q2 Q3 Q4
0 0 0 0 0
1 1 0 0 0
0 0 1 0 0
I
0 0 0 1 0
T
P
W
0 0 0 0 1
ZPT
0 0 0 0 0
30
Rejestr przesuwający
Q1 Q2 Q3 Q4
wejście
D4
D1 D3
D2
szeregowe
CLK
D Q
Aatwo można zbudować rejestr, w którym
obie funkcje (ładowanie, przesuwanie) są
Q
wykonywane w jednym układzie
Clock
D0
I
D1
T
P
W
Sel
ZPT
31
Rejestr przesuwający z wpisem równoległym
Wyjścia równoległe
Q0
Q3 Q2 Q1
D Q
D Q D Q D Q
Q
Q Q Q
Wejście
szeregowe
Shift/Load
I
T
Clock
Wejścia równoległe
P
W
ZPT
32
Rejestr uniwersalny
Y := X LOAD
Y := Y HOLD
xl
xp
X
s1
R
s2
(Q)
clock
Y
Y := <0...0> RESET
Y := SHR(xp, Y)
Y := SHR(xp, Y)
(CLEAR)
Y := SHL(Y, xll)
Y := SHL(Y, x )
I
T
P
W
ZPT
33
Liczniki
Prosty licznik z wejściem Enable
E
0 1
A
E
Licznik
A0 A0 A1
clock
A1 A1 A2
A2 A2 A3
Q
A3 A3 A4
A4 A A5
T0 = E
"
T1 = EQ0
"
"
T2 = EQ0Q1 = T1Q1
A14 A14 A15
A15 A15 A0
I T3 = EQ0Q1Q2 = T2Q2
T
P
W
ZPT Uwaga: w książce SUC w tym miejscu jest błąd!
34
Licznik w górę
Enable Q Q Q Q
T T T T
Clock
Q Q Q Q
Rst
T
Q
D
I
T Q
clk
P
W
ZPT
35
Licznik z przerzutnikami D
Enable
Q0
Q
D
Q
Q1
D Q
Q
Q2
D Q
Q
Q3
D Q
I
T
P Q
W
Clock Output
carry
ZPT
36
Licznik z wpisywaniem równoległym
Enable
0
Q
D Q
0
1
D
0
Q
0
D Q Q
1
1
D
1
Q
0
Q
D Q
2
1
D
2
Q
0
Q
D Q
3
1
D
I 3
T
Q
P
W
Output
Load carry
ZPT
Clock
37
Licznik uniwersalny
LOAD
HOLD
1100
1100
COUNT
LOAD
Licznik
HOLD
COUNT
clock
0010
LOAD
1101
I
T 1110
Zliczanie
P
W
1111
ZPT
38
Pamięci typu ROM
X0
n
ROM
A
Xi
N m



XN-1
m
(N = 2n)
Y
I
T
ROM  uniwersalny układ kombinacyjny.
P
W
Jest  zaprogramowana na pamiętanie N słów m-bitowych
ZPT
39
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
I
T
P
W
ZPT
40


Wyszukiwarka

Podobne podstrony:
ulog w8a T
ulog z t
ulog w6b
ulog w12
ulog w7
ulog w6
ulog w9
ulog w6a
ulog w8b T
ulog w4b
ulog w4a
ulog w8b e
ulog w10
ulog w8
ulog at
pul iz w8a
ulog t w8
ulog w7b

więcej podobnych podstron