1
I
T
P
W
ZPT
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 pamięciowe
(przerzutniki)
2) Bloki funkcjonalne: układy
arytmetyczne (sumatory),
liczniki, rejestry.
Tworzą one 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
Przerzutn
ik
typu D
D
D
Clk
Clk
Q
Q
Y
B
A
n
n
n
Y
n - 1
Z
O V R
P
G
c
n
c
0
S
A L U
R
(Q)
s
1
s
2
clock
X
Y
x
l
x
p
L
(Q)
s
1
s
2
clock
X
Y
2
I
T
P
W
ZPT
Układ
sterujący
(kontroler
)
Dane wyjściowe
Dane
wejściowe
Sygnały
sterujące
Stan części
operacyjnej
Układ operacyjny
(Datapath)
System cyfrowy
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Mikrooperacje
wywoływane przez
sygnały sterujące
3
I
T
P
W
ZPT
System cyfrowy…
D, F - przetwarzana
informacja (wektory
binarne),
UO - układ operacyjny
US - układ sterujący
X
Z
X
P
Z
Y
Z
D
F
X - sygnały warunków,
Z - sygnały sterujące
(mikrorozkazy)
US
UO
4
I
T
P
W
ZPT
System cyfrowy - realizacja
UO – z bloków funkcjonalnych
US – automat
lub układ mikroprogramowany
X
Z
X
P
Z
Y
Z
D
F
US
UO
5
I
T
P
W
ZPT
Bloki funkcjonalne
P
S
X
Y
BF
clk
X – wejścia sygnałów
reprezentujących
dane wejściowe
S – wejścia sterujące,
Y – wyjścia sygnałów
reprezentujących dane
wyjściowe,
P – wyjścia predykatowe,
sygnalizujące pewne
szczególne stany
przetwarzania danych,
clk – wejście zegarowe
6
I
T
P
W
ZPT
Bloki
funkcjonalne
B. kombinacyjne B. sekwencyjne Pamięci
Układy
arytmetyczne
Sumator
Układ odejmujący
Komparator
Układy
Komutacyjne
MUX
DMUX
DEC
Rejestry
Równoległe
Przesuwające
Liczniki
Zliczające
W górę
W dół
ROM
(RAM)
7
I
T
P
W
ZPT
Multiplekser (MUX)
N =
2
n
P
k
(A) oznacza pełny iloczyn zmiennych a
n–
1
,...,a
0
, prostych lub zanegowanych, zgodnie z
reprezentacją binarną liczby k = L(A).
a
n-1
a
0
e
d
d
d
0
1
N-1
1
N
0
k
k
k
(A)d
P
e
y
A = (a
n–1
,..., a
j
,..., a
0
)
8
I
T
P
W
ZPT
Multipleksery
1
0
ad
d
a
y
3
0
1
2
0
1
1
0
1
0
0
1
d
a
a
d
a
a
d
a
a
d
a
a
y
7
0
1
2
6
0
1
2
5
0
1
2
4
0
1
2
3
0
1
2
2
0
1
2
1
0
1
2
0
0
1
2
d
a
a
a
d
a
a
a
d
a
a
a
d
a
a
a
d
a
a
a
d
a
a
a
d
a
a
a
d
a
a
a
y
Dla n = 1 (MUX 2 : 1):
dla n = 2 (MUX 4 : 1):
dla n = 3 (MUX 8 : 1):
e = 1
0
1
2
3
a
1
a
0
d
d
d
0
1
3
d
d
2
d
1
N
0
k
k
k
(A)d
P
e
y
9
I
T
P
W
ZPT
Multiplekser jako przełącznik
e = 1
0
1
2
3
0 0
0
3
0
1
2
0
1
1
0
1
0
0
1
d
a
a
d
a
a
d
a
a
d
a
a
y
0 1
1 1
0
1
1
0
1
1
10
I
T
P
W
ZPT
Demultiplekser
a
n - 1
a
0
e
d
y
y
y
0
1
N - 1
(N = 2
n
)
(A)d
eP
y
k
k
P
k
(A) oznacza pełny iloczyn zmiennych a
n–
1
,...,a
0
, prostych lub zanegowanych, zgodnie
z reprezentacją binarną liczby k = L(A).
11
I
T
P
W
ZPT
Demultiplekser jako przełącznik
e = 1
0
1
2
3
0
0
0
d
a
a
y
d
a
a
y
d
a
a
y
d
a
a
y
0
1
3
0
1
2
0
1
1
0
1
0
0
0
0
0
0
0
0 0
0 1
1 1
1
1
1
1
12
I
T
P
W
ZPT
Dekoder
a
n - 1
a
0
e
d
y
y
y
0
1
N - 1
y
y
y
0
1
N - 1
a
a
a
0
1
n - 1
N =
2
n
DMU
X
d=1
e=1
DEKODER
13
I
T
P
W
ZPT
Multipleksery grupowe
A
B
Y=A
0 1
Y=B
MUX-y i DMUX-y można przystosować do przełączania
(komutacji) sygnałów wielobitowych (grupowych)
Y
A
B
14
I
T
P
W
ZPT
Bloki komutacyjne
Multiplekser służy do
wybierania jednego z wielu słów
wejściowych i przesyłania go na
wyjście. Na wyjściu Y pojawia
się słowo wejściowe wskazane
adresem A (wg naturalnego
kodu binarnego).
Demultiplekser służy do
przesyłania słowa X
wejściowego na jedno z
wielu wyjść; numer tego
wyjścia jest równy
aktualnej wartości adresu.
X
0
X
j
X
N-1
Y
n
A
e
Y
0
Y
j
Y
N-1
n
A
e
X
15
I
T
P
W
ZPT
Bloki komutacyjne
1 0
0 0
1 1
a
1
a
0
0
1
2
3
0
1
0
a
1
a
0
0
1
2
3
1 0
0 0
1 1
0
1
0
0
1
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
Najważniejsze zastosowanie:
16
I
T
P
W
ZPT
Inne zastosowania…
y =
(1,7,11,13,14,15)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
y
0
1
0
0
0
0
0
1
0
0
0
1
0
1
1
1
x
3
x
2
x
1
x
0
Zastosowanie MUX do realizacji
funkcji boolowskich
17
I
T
P
W
ZPT
y =
(1,7,11,13,14,15)
0
1
2
3
4
5
6
7
8
9
1 0
1 1
1 2
1 3
1 4
1 5
x
3
x
2
x
1
x
0
y
Zastosowanie dekodera do
realizacji
funkcji boolowskich
Inne zastosowania…
… należy odłożyć do kosza!
18
I
T
P
W
ZPT
Sumatory
Sumator –
podstawowy BF
powszechnie
stosowany w
technice cyfrowej
Inne układy
arytmetyczne:
układy odejmowania
układy mnożące
układy dzielenia
...są budowane z sumatorów
c
n
c
0
A
n
B
n
Y
n
A
19
I
T
P
W
ZPT
Najprostszy sumator
Najprostsza realizacja:
kaskadowy
(ripple carry adder)
a b
i
i
y
i
c
i+1
c
i
a b
0
0
y
0
c
1
c
0
a b
c
n-1
n-1
y
n-1
c
n
n-1
c
n
c
0
A
n
B
n
Y
n
1001 0110
1111
C
4
=0
0111
0000
C
4
=1
Jak jest zbudowane pojedyncze ogniwo?
20
I
T
P
W
ZPT
Funkcje logiczne sumatora
0
0
0
1
0
1
1
1
b)
c(a
ab
b)
c(a
ab
o
c
i
c
i
b
i
a
i
y
)
b
(a
c
b
a
c
i
i
i
i
i
1
i
a
b
c
c
o
y
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
y
c
o
c
a b
ab
c
00
01
11
10
0
0
1
0
1
1
1
0
1
0
ab
c
00
01
11
10
0
0
0
1
0
1
0
1
1
1
b
a
c
y
b
a
c
b
a
c
b
a
c
b
a
c
b
a
c
cab
y
0
1
1
0
1
0
0
1
21
I
T
P
W
ZPT
Co z odejmowaniem?
c
n
c
0
A
n
B
n
Y
n
A
c
n
c
0
A
n
B
n
Y
n
–
A
?
22
I
T
P
W
ZPT
Reprezentacje liczb – NKB/U2
A = <
a
n–1
,..., a
j
,..., a
0
> gdzie a
j
{0,1}
1
n
0
j
j
j
NKB
D
2
a
A
L
A
2
n
0
j
j
j
1
n
1
n
U2
D
2
a
2
a
A
L
A
NKB:
U2:
23
I
T
P
W
ZPT
Kod U2
A
U2
= <a
n–1
,..., a
j
,..., a
0
>, gdzie a
j
{0,1}
Zakres: –2
n–1
≤ A
D
≤ 2
n–1
– 1
2
n
0
j
j
j
1
n
1
n
U2
D
2
a
2
a
A
L
A
Bit a
n–1
można interpretować jako bit znaku.
Jeśli a
n–1
= 0, to liczba jest dodatnia;
jeśli a
n–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
24
I
T
P
W
ZPT
Sumator/układ odejmujący
Jak z sumatora zbudować układ odejmujący?
Y
A
c
n
c
0
n
n
B
n
X O R
n
–
+
1
B
C
o
=1
B
C
o
=0
B
Y = A – B = A + (–B|
U2
)
B
–B|
U2
= +1 = B1 + 1
–B|
U2
= +1 = B1 + 1
–B|
U2
= +1 = B1 + 1
Dla c
0
= 1
Y = A + + 1 = A –
B
B
B
B
B
0
Dla c
0
= 0
Y = A + B 0 + 0 = A + B
25
I
T
P
W
ZPT
Zastosowania
Jednostka arytmetyczno-logiczna
Y
B
A
n
n
n
Y
n - 1
Z
O V R
P
G
c
n
c
0
S
A L U
Arytmometr (układ
wykonawczy:
mikrokontrolera, procesora
sygnałowego)
Inne układy
arytmetyczne:
układy mnożące
układy
kryptograficzne
...są budowane z sumatorów
26
I
T
P
W
ZPT
Komparator
A
n
B
n
K
„1 z 3”
A < B
A = B
A > B
27
I
T
P
W
ZPT
Sekwencyjne bloki funkcjonalne
Rejestry
Liczniki
L
( Q )
s
1
s
2
c lo c k
X
Y
R
( Q )
s
1
s
2
c lo c k
X
Y
x
l
x
p
Y := X LOAD
Y := Y HOLD
Y := <0...0> RESET
(CLEAR)
Y := SHR(x
p
,
Y)
Y := SHL(Y, x
l
)
Y := Y + 1 = INC(Y)
Y := Y – 1 = DEC(Y)
28
I
T
P
W
ZPT
Prosty
rejestr
Rejestr zbudowany z przerzutników
– ładowanie (load) i pamiętanie
CLK
P
1
P
2
P
3
P
4
D
1
D
3
D
2
D
4
Q
1
Q
3
Q
2
Q
4
0
1
0
0
LOAD
0
1
0
0
29
I
T
P
W
ZPT
Rejestr przesuwający
WE
Q
1
Q
2
Q
3
Q
4
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
Q
1
Q
3
Q
2
Q
4
wejście
szeregowe
D
1
D
2
D
3
D
4
0
SHR
clk
0000 10
30
I
T
P
W
ZPT
Mikrooperacje licznika
L ic z n ik
c lo c k
1100
Zliczanie
LOAD
COUNT
LOAD
HOLD
COUNT
LOAD
HOLD
0010
1101
1110
111
1
1100
31
I
T
P
W
ZPT
Bloki funkcjonalne
Pamięci
ROM
(RAM)
32
I
T
P
W
ZPT
Pamięci typu ROM
ROM – uniwersalny układ kombinacyjny
A
ROM
m n
X
0
X
i
X
m-1
p
Y
n
33
I
T
P
W
ZPT
Pamięci typu ROM
Adres
ROM
8 4
0
1
2
3
4
5
6
7
0
0
0
0
0
1
1
0
1
1 1 1 1
0 1 1 0
1 1 1 0
0 1 1 0
0 1 1 0
0 1 0 1
0 0 0 0
0 1 1 0
1 1 1 0
0 1 0 1
1 1 1 1
34
I
T
P
W
ZPT
Pamięci typu ROM
(struktura)
y 3 y 2 y 1 y 0
M A T R Y C A O R
( P R O G R A M O W A L N A )
D
C
B
A
M A T R Y C A A N D
( S T A L A )
1010
0111
35
I
T
P
W
ZPT
Synteza strukturalna
Bloki funkcjonalne są stosowane w syntezie:
układów wykonawczych (operacyjnych),
układów sterujących.
Przerzutn
ik
typu D
D
D
Clk
Clk
Q
Q
Y
B
A
n
n
n
Y
n -1
Z
O V R
P
G
c
n
c
0
S
A L U
R
(Q)
s
1
s
2
clock
X
Y
x
l
x
p
L
(Q)
s
1
s
2
clock
X
Y