Upload
jace
View
65
Download
1
Embed Size (px)
DESCRIPTION
Układy logiczne. D. Przerzutnik typu D. Clk. …są stosowane w projektowaniu układów cyfrowych w sposób hierarchiczny:. 1) Bramki i elementarne układy pamięciowe (przerzutniki). Specjalizowane układy cyfrowe. 2) Bloki funkcjonalne: układy arytmetyczne (sumatory), liczniki, rejestry. - PowerPoint PPT Presentation
Citation preview
ZPT
Układy logiczne
…są stosowane w projektowaniu układów cyfrowych w sposób hierarchiczny:
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.
Przerzutniktypu D
DD
ClkClk Q
Q
Y
BAnn
n
Yn-1
ZO VR
PG
cn c0
S
ALU
R(Q)
s1s2
clock
X
Y
xlxpL(Q)
s1s2
clock
X
Y
1
Specjalizowane układy cyfrowe
ZPT
2
W latach 80….
SumatoryLiczniki Rejestry KomparatoryKonwerteryBuforyRejestry przesuwajace
Bloki funkcjonalne:
Były produkowane w postaci katalogowych układów scalonych serii 74xx
74xx
ZPT
Licznik
Rejestr
Mux
…stanowią wyposażenie bibliotek komputerowych systemów projektowania
Każdy układ cyfrowy składamyz bloków funkcjonalnych
3
Bloki funkcjonalne…
ZPT
Licznik
Rejestr
Mux
…stanowią wyposażenie bibliotek komputerowych systemów projektowania
W procesie konstruowania systemów cyfrowych struktura wewnętrzna bloku w zasadzie nas nie interesuje
4
Bloki funkcjonalne…
ZPT 5
Bloki funkcjonalne
B. kombinacyjne B. sekwencyjne Pamięci
Arytmetyczne
KomparatorSumator
Komutacyjne
MUXDMUXDEC
Rejestry
Równoległe Przesuwające
Liczniki
ZliczająceW górę W dół
ROM (RAM)
ZPT
Multiplekser (MUX)
gdzie Pk(A) oznacza pełny iloczyn zmiennych an–1,...,a0, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A).
an-1 a0
e
d
d
d
0
1
N-1
1N
0kkk
(A)dPey
6
N = 2n
wejść
informacyjnych
Wejście zezwalające
Wejścia adresowe
Wyjście
ZPT
Multiplekser (MUX)
an-1 a0
e=1
d
d
d
0
1
N-1
1N
0kkk
(A)dPey
7
10 adday
301201101001 daadaadaadaay
Dla n = 1 (MUX 2 : 1):
dla n = 2 (MUX 4 : 1):
7012601250124012
3012201210120012
daaadaaadaaadaaadaaadaaadaaadaaay
dla n = 3 (MUX 8 : 1):
ZPT
Multiplekser 4:1
301201101001 daadaadaadaay
e = 1
0
1
2
3
a1 a0
d
d
d
0
1
3
d
d2d
8
=0 0
=0 1
y=d0
y=d1
=1 =0 =0 =0
Multiplekser jako przełącznik
ZPT
Multiplekser jako przełącznik
e = 1
0
1
2
3
0 0
0
301201101001 daadaadaadaay
0 1
1 1
0
1
1
0
1
1
9
d0
d1
d2
d3
a0
a1
e
y
Każdy blok funkcjonalny można skonstruować bramek logicznych
ZPT
Multiplekser jako przełącznik
10
Źródłodanych
I0
00…00
00…01
odbiornik
2n1 adresówźródeł
Źródłodanych
I1
00…01
2n1
Źródłodanych
I
11…11
f
2n źródeł danych
11…11
Multiplekser
To nie jest połączenie w postaci ścieżki metalizowanej
ZPT
Demultiplekser
a n-1 a 0
e
d
y
y
y
0
1
N -1
(A)dePy kk
gdzie Pk(A) oznacza pełny iloczyn zmiennych an–1,...,a0, prostych lub zanegowanych, zgodnie z reprezentacją binarną liczby k = L(A).
11
N = 2n wyjść
Wejścia adresowe
Wejście
informacyjne
Wejście zezwalające
ZPT
Demultiplekser jako przełącznik
e = 1
0
1
2
3
0
0
0
daay
daay
daay
daay
013
012
011
010
0
0
0
0
0
0
0 0
0 1
1 1
1111
a0
a1
ey0
d
y1
y2
y3
12
=d
=d
=d
ZPT
Demultiplekser jako przełącznik
13
00…01
2n adresów
odbiorników
2n odbiorników
11…11
Źródłodanych
f0
f1
f2n1
Demultiplekser 00…00
00…01
11…11
ZPT 14
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 = 2n
DMUX DEKODER
d = 1e = 1
ZPT
Bloki komutacyjne
1 00 01 1
a1 a0
0
1
2
3
010
a1 a0
0
1
2
3
1 00 01 1
010
011
000
111
010
000
111
000
000
000
000
000
000
000
000
000
010
010
010
010
15
W dzisiejszych czasach można skonstruować blok komutacyjny o dowolnych wymiarach…
ZPT
y = (1,7,11,13,14,15)
16
MUX/DMUX w realizacji funkcji boolowskich
x3x2x1x0
1
y
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
x3x2x1x0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
y
0
00000
000
0
1
1
1
111
ZPT 17
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 zespołów funkcji boolowskich. Jest to problem z zadań 11.13 i 11.14 str. 194 skryptu ULOG w zadaniach.
ZPT
Komparator
A
n
B
n
K
„1 z 3”
A < B
A = B
A > B
1
0
0
0
1
0
0
0
1
0001 011100011001
Taki komparator można łatwo zbudować z bramek logicznych
ZPT
Komparator dla liczb 4-bitowych
kkk bai
33ba
B A B A gteq
A = a3a2a1a0 B = b3b2b1b0
A > B =
A < B =
A eq B = i3i2i1i0
i 0
i 1
i 2
i 3 a3
b3
a2
b2
a1
b1
a0
b0
19
223bai
001231123baiiibaii
A 1000B 0- - -
ZPT
Sumatory
Sumator – podstawowy BF powszechnie stosowany w technice DSP
Inne układy arytmetyczne:układy odejmowaniaukłady mnożąceukłady dzielenia
...są budowane z sumatorów
cn
c0
A
n
Bn
Y
n
A
20
ZPT
Najprostszy sumator
Kaskadowy – ripple carry adder
a bi i
yi
ci+1 ci
a b0 0
y0
c1 c0
a b
cn-1
n-1
yn-1
cn
n-1
cn
c0
A
n
B
n
Y
n
1001 0110
1111
C4=0
0111
0000
C4=1
Jak jest zbudowane pojedyncze ogniwo?
21
ZPT
Funkcje logiczne sumatora
a b c co 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
22
y
co c
a b
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
ZPT
Funkcje logiczne sumatora
b)c(aabb)c(aaboc i
ci
bi
ai
y
)b(acbaciiiii1i
a b c co 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
abc 00 01 11 10
0 0 1 0 1
1 1 0 1 0
abc 00 01 11 10
0 0 0 1 0
1 0 1 1 1
bacy
bacbac
bacbacbaccaby
23
y
co c
a b
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
ZPT 25
Bloki funkcjonalne c.d.
B. kombinacyjne B. sekwencyjne Pamięci
UkładyArytmetyczneKomparator
Sumator
UkładyKomutacyjne
MUXDMUXDEC
Rejestry
Równoległe Przesuwające
Liczniki
ZliczająceW górę W dół
ROM
ZPT
Rejestry
Rejestry buduje się z przerzutników typu D
CLK
D1 D3D2 D4Q1 Q3Q2 Q4
0 1 0 0
LOAD
0 1 0 0
Taki rejestr nazywamy równoległo-równoległym,krótko równoległym
Najprostszy rejestr: ładowanie (load) i pamiętanie
26
ZPT
Rejestr przesuwający
WE Q1 Q2 Q3 Q4
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
Q1 Q3Q2 Q4
wejścieszeregowe
D1 D2 D3 D40
SHR
clk
0 0 0 0 1 0
Taki rejestr nazywamy szeregowo-równoległym,krótko szeregowym
27
ZPT
Jak zbudować rejestr uniwersalny...
Q1 Q3Q2 Q4
CLK
wejścieszeregowe
D1 D2 D3 D4
tzn. taki, który wykonywałby funkcje zarówno rejestru
CLK
D1 D3D2 D4Q1 Q3Q2 Q4
równoległego
, jak też szeregowego
28
ZPT 29
...wystarczy rozbudować rejestr przesuwający
Q1 Q3Q2 Q4
CLK
wejścieszeregowe
D1 D2 D3 D4
Clock
D1
D0
D Q
Q
Sel
ZPT
Rejestr szeregowo-równoległy
Y := X LOADY := Y HOLD
Y := SHR(xp, Y)
R(Q)
clock
Y
x X
s1s2
Clock
D D D D
0
1
X
Y
xp
Clock
Wejścia równoległe
Wyjścia równoległe
Wejścieszeregowe
D
Q
D
Q
D
Q
D
Wejście sterujące
Q
0
1
Clock
30
Y := X LOADY := Y HOLD
Y := SHR(xp, Y)
R(Q)
clock
Y
xp
X
s1s2
Taki rejestr można rozbudowywać dalej uzyskując tzw. rejestr uniwersalny
ZPT
Mikrooperacje rejestru
1100
SHR – przesuwanie w prawo
LOAD
SHR
LOAD
HOLD
SHR
LOAD
HOLD
0010
01100011
0001
1100
31
Rejestr
clock
xR
0
ZPT
Liczniki…
LicznikE
clock
Q
E
S0 1
S0 S0 S1
S1 S1 S2
S2 S2 S3
S3 S3 S4
S7 S7 S0
…przykład syntezy licznika (zadanie 8.1 skrypt Układy logiczne w zadaniach)
…przykład syntezy licznika (zadanie 8.1 skrypt Układy logiczne w zadaniach)
32
Zaprojektować licznik mod 8 z wejściem zezwalającym E (Enable). Przerzutniki do realizacji dobrać tak, aby uzyskać najprostszy schemat logiczny licznika.
Zaprojektować licznik mod 8 z wejściem zezwalającym E (Enable). Przerzutniki do realizacji dobrać tak, aby uzyskać najprostszy schemat logiczny licznika.
ZPT
E
S0 1
EQ2Q1Q0
0 1
S0 S0 S1 000 000 001
S1 S1 S2 001 001 010
S2 S2 S3 010 010 011
S3 S3 S4 011 011 100
S4 S4 S5 100 100 101
S5 S5 S6 101 101 110
S6 S6 S7 110 110 111
S7 S7 s0 111 111 000
S’ Q2Q1Q0 Q2’Q1’Q0’
Zakodowana tablica przejść licznika
Tablica przejśćTablica przejśćZakodowana tablica przejśćkod binarny
Zakodowana tablica przejśćkod binarny
33
ZPT
EQ2Q1Q0
0 1E
Q2Q1Q00 1
000 000 001 000 000 001
001 001 010 001 001 010
010 010 011 011 011 100
011 011 100 010 010 011
100 100 101 110 110 111
101 101 110 111 111 000
110 110 111 101 101 110
111 111 000 100 100 101
Q2Q1Q0 Q2’Q1’Q0’ Q2Q1Q0 Q2’Q1’Q0’
Zakodowana tablica transformowana do tablicy Karnaugha
34
ZPT
EQ2Q1Q0
0 1E
Q2Q1Q00 1 0 1 0 1
000 000 001 000 0 0 0 0 0 1
001 001 010 001 0 0 0 1 1 0
011 011 100 011 0 1 1 0 1 0
010 010 011 010 0 0 1 1 0 1
110 110 111 110 1 1 1 1 0 1
111 111 000 111 1 0 1 0 1 0
101 101 110 101 1 1 0 1 1 0
100 100 101 100 1 1 0 0 0 1
Q2Q1Q0 Q2’Q1’Q0’ Q2Q1Q0 D2 D1 D0
Funkcje wzbudzeń dla przerzutników D
D2 = D2 = 1QQ2
0QQ2D1 = D1 = EQ1 D0 = D0 = EQ0EQ2
2Q1Q0EQ 1Q0EQ0QQ1 0EQ
QQ’ D
00 0
01 1
10 0
11 1
35
ZPT
EQ2Q1Q0
0 1E
Q2Q1Q00 1 0 1 0 1
000 000 001 000 0 0 0 0 0 1
001 001 010 001 0 0 0 1 0 1
011 011 100 011 0 1 0 1 0 1
010 010 011 010 0 0 0 0 0 1
110 110 111 110 0 0 0 0 0 1
111 111 000 111 0 1 0 1 0 1
101 101 110 101 0 0 0 1 0 1
100 100 101 100 0 0 0 0 0 1
Q2Q1Q0 Q2’Q1’Q0’ Q2Q1Q0 T2 T1 T0
T2 = T2 = EQ1Q0 T1 = T1 = T0 = T0 = EQ0 E
Funkcje wzbudzeń dla przerzutników TQQ’ T
00 0
01 1
10 1
11 0
36Errata do zad. 8.1 ze skryptu
ZPT
Schemat logiczny licznika1)
T0 Q
Q Clock
T1 Q
Q
Enable T2 Q
Q
11QT102
01
0
QEQTEQTET
1) Najprostszy na świecie
EQEQD 000
EQQQQEQD 010111
EQQQQQEQQQD 012022122
37
ZPT
E
A0 1
A0 A0 A1
A1 A1 A2
A2 A2 A3
A3 A3 A4
A4 A A5
A14 A14 A15
A15 A15 A0
222103
11102
01
0
QTQQEQTQTQEQT
EQTET
38
T Q
Q Clock
T Q
Q
Enable T Q
Q
T Q
Q
Schemat ten można uogólnić…
ZPT
T Q
Q Clock
T Q
Q
Enable
Rst
T Q
Q
T Q
Q
Wada: jest to licznik bez funkcji: LOAD (ładowanie)
0 1 0 0
Realizacja funkcji ładowania dla przerzutników T jest niemożliwa
Licznik 4-bitowy
39
Jak wybrnąć z tej sytuacji?
Trzeba znać i rozumieć układy logiczne!
z powodzeniem może być wykorzystany do realizacji licznika uniwersalnego
ZPT
Przerzutnik T realizowany z D
D
Q0 1
0 0 1
1 0 1
Q’ = D
T
Q0 1
0 0 1
1 1 0
Równanie charakterystyczne: Q’ = f(I1,I2,Q)
QTQTQ'
D = QTQT D Q
Q
T
clk
40
ZPT
Licznik z wpisem równoległym..
T Q
Q Clock
T Q
Q
Enable
Rst
T Q
Q
T Q
Q
D Q
Q
T
clk
…uzyskamy, zastępując przerzutniki T…
41
ZPT
Licznik z przerzutnikami D
42
Wprowadzając taką zmianę, jak też wprowadzając przed wejście każdego D multiplekser, uzyskujemy strukturę licznika z mikrooperacją wpisu równoległego.
ZPT
Licznik z wpisywaniem równoległym
EnableD Q
Q
Q 0
D Q
Q
Q 1
D Q
Q
Q 2
D Q
Q
Q 3
D 0
D 1
D 2
D 3
LoadClock
Outputcarry
0 1
0 1
0 1
0 1
Wejściarównoległe Wyjścia
równoległe
43
ZPT
Licznik z wpisywaniem równoległym
EnableD Q
Q
Q 0
D Q
Q
Q 1
D Q
Q
Q 2
D Q
Q
Q 3
D 0
D 1
D 2
D 3
LoadClock
Outputcarry
0 1
0 1
0 1
0 1
44
Y := X LOADY := Y HOLD
Y := Y+1 COUNT
L(Q)
clock
Y
X
s1s2
ZPT
Mikrooperacje licznika
Licznik
clock
1100
Zliczanie
LOAD
COUNT
LOAD
HOLD
COUNT
LOAD
HOLD
0010
11011110
1111
1100
45
ZPT
Pamięci typu ROM
N słów (komórek) m-bitowych
A ROMN m
X0
Xi
XN-1
n
Y
m
N = 2n
W każdym komórce pamięci zapisane jest słowo m-bitowe
Pamięć ROM jest uniwersalnym układem kombinacyjnym
46
ZPT
Pamięci typu ROM
Adres
ROM8 4
0
1
2
3
4
5
6
7
000
001
101
1 1 1 1
0 1 1 01 1 1 0
0 1 1 0
0 1 1 00 1 0 1
0 0 0 0
0 1 1 01 1 1 0
0 1 0 11 1 1 1
47