ulog w8a T


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
X S
2) Bloki funkcjonalne: układy OVR
P
G
ALU
x x
l
p X cn c0
s L
1
arytmetyczne (sumatory),
n
s
2
(Q)
clock s R Y
1
s
2
liczniki, rejestry.
(Q)
Y
clock
Y
Tworzą one nowe elementy konstrukcyjne, z których buduje
I
się złożone układy cyfrowe o różnorodnych zastosowaniach:
T
P
układy przetwarzania sygnałów, układy sterowania,
W
specjalizowane procesory, układy kryptograficzne
ZPT
1
System cyfrowy
0
0
1
0
110
0 0
1
Dane
011
0
wejściowe
Sygnały
0
sterujące
Układ operacyjny
(Datapath)
Układ
sterujący
Mikrooperacje
(kontroler)
wywoływane przez
sygnały sterujące
Stan części
operacyjnej
I
Dane wyjściowe
T
P
W
ZPT
2
1
1
0
0
0
1
1
1
0
1
1
1
1
1
0
0
System cyfrowy&
XZ D
D, F - przetwarzana informacja
(wektory binarne),
Z
X - sygnały warunków,
US UO
Z - sygnały sterujące
(mikrorozkazy)
XP
ZY F
I
T
P
US - układ sterujący
W
UO - układ operacyjny
ZPT
3
System cyfrowy - realizacja
XZ D
Z
UO  z bloków funkcjonalnych
US UO
XP
ZY F
US  automat
I
T
P
lub układ mikroprogramowany
W
ZPT
4
Bloki funkcjonalne
X  wejścia sygnałów
X
reprezentujących dane wejściowe
Y  wyjścia sygnałów
reprezentujących dane wyjściowe,
S
P
BF
S  wejścia sterujące,
P  wyjścia predykatowe,
clk
sygnalizujące pewne szczególne
Y
stany przetwarzania danych,
I
T
clk  wejście zegarowe
P
W
ZPT
5
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
6
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
7
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
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
I
0 1
T
P
W 1 1
ZPT
9
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
10
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
11
Dekoder
DMUX
DEKODER
e
y0
y0
a0
a1
d
y1 y1
d=1
e=1
an-1
yN-1
yN-1
an-1 a0
I
N = 2n
T
P
W
ZPT
12
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
13
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
14
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
15
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
16
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
17
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
18
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
19
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
20
Co z odejmowaniem?
B B
A A
A A
n n
n n
c0 c0
c n c n
?
Ł 
Ł
Ł
Ł
n n
Y Y
I
T
P
W
ZPT
21
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
22
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
23
Sumator/układ odejmujący
Jak z sumatora zbudować układ odejmujący?
Dla c0 = 0
Y = A  B = A + ( B|U2)
Y = A + B "
"0 + 0 = A + B
"
"
 B|U2 = +1 = B"
 B|U2 = +1 = B" + 1
 B|U2 = +1 = B" + 1
"1 + 1
"1
"1
"
"
"
"
"
"
B
Dla c0 = 1
B
A
n
Y = A + + 1 = A  B
B
B
B
B
XOR
B
n
n
Co=0
Co=1
1
c0
c
n

Ł
0 +
I
n
T
P
Y
B
B
W
ZPT
24
Zastosowania
Jednostka arytmetyczno-logiczna
A
B
n
n
Yn-1
Arytmometr (układ
Z
S
OVR
wykonawczy: mikrokontrolera,
P
procesora sygnałowego)
G
ALU
c0
cn
n
Inne układy
arytmetyczne:
Y
układy mnożące
układy ...są budowane z sumatorów
I
kryptograficzne
T
P
W
ZPT
25
Komparator
B
A
n
n
 1 z 3
A < B
A = B
K
A > B
I
T
P
W
ZPT
26
Sekwencyjne bloki funkcjonalne
Y := X LOAD
Y := <0...0> RESET
Y := Y HOLD
(CLEAR)
Liczniki
Rejestry
xl
xp
X X
s1 s1
R L
s2 s2
(Q) (Q)
clock clock
Y Y
Y := SHR(xp, Y)
Y := Y + 1 = INC(Y)
Y := SHL(Y, xl)
I
Y := Y  1 = DEC(Y)
T
P
W
ZPT
27
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
28
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
29
Mikrooperacje licznika
LOAD
HOLD
1100
1100
COUNT
LOAD
Licznik
HOLD
COUNT
clock
0010
LOAD
1101
I
T 1110
Zliczanie
P
W
1111
ZPT
30
Bloki funkcjonalne
Pamięci
ROM (RAM)
I
T
P
W
ZPT
31
Pamięci typu ROM
X0
p
ROM
A
Xi
m n



Xm-1
n
Y
I
T
ROM  uniwersalny układ kombinacyjny
P
W
ZPT
32
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
33
Pamięci typu ROM
D C B A
(struktura)
MATRYCA OR
(PROGRAMOWALNA)
1010
0111
I
T
P
W
MATRYCA AND
(STALA)
y3 y2 y1 y0
ZPT
34
Synteza strukturalna
Q
D
Przerzutnik
typu D
Q
Clk
A B
n n
Yn-1
Z
X S
OVR
P
G
ALU
x xl
p X cn c0
s L
1
n
s
2
(Q)
clock s R Y
1
s
2
(Q)
Y
clock
Y
Bloki funkcjonalne są stosowane w syntezie:
układów wykonawczych (operacyjnych),



układów sterujących.



I
T
P
W
ZPT
35


Wyszukiwarka

Podobne podstrony:
ulog w8a e
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