Post on 19-Feb-2018
transcript
A1B14MIS Mikroprocesory pro výkonové systémy 04 1
České vysoké učení technické Fakulta elektrotechnická
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY
Ver.1.30
Část důležitá něco jen pro zájemce (Označeno ???)
Logické obvody
Kombinační a sekvenční stavební bloky
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY
J. Zděnek, 2017
A7B14SAP Struktura a architektura počítačů 4 – Logické bloky 2
Časování – výpočet maximální hodinové frekvence (Důležité)
• Ovlivněno:
• Technologií• Typy hradel
• Počtem vstupů u hradel
• Zatížením výstupů hradel (větvením)• Typem klopných obvodů
• Délkou propojovacích vodičů (na plošném spoji,…)
• Vzájemnou polohou vodičů (kvalita návrhu plošného spoje)• Rozmístěním součástek
• Počtem zemnících a napájecích vrstev
• Způsobem rozvodu napájení• Rozmístěním blokovacích kondezátorů
• Dalšími vlivy …..
A1B14MIS Mikroprocesory pro výkonové systémy 04 3
Časování klopného obvodu (Důležité)
• Předstih (Setup Time) – Vstup D musí být stabilní (ustálený) před aktivní(zde náběžnou) hranou hodinového signálu
• Přesah (Hold Time) – Vstup D musí zůstat stabilní (ustálený) po aktivní(zde náběžné) hraně hodinového signálu
• Zpoždění (Clock-to-Q Time) výstupu Q po aktivní (zde náběžné) hraněhodinového signálu
Zde na hodnotě nezáleží
A1B14MIS Mikroprocesory pro výkonové systémy 04 4
Maximální hodinová frekvence (Důležité)
• Všechny klopné obvody jsou řízeny stejným hodinovým signálem
• Kombinační logické bloky:
• Vstupy jsou aktualizovány při každém taktu hodin
• Všechny výstupy musí být stabilní před dalším taktem
A1B14MIS Mikroprocesory pro výkonové systémy 04 5
Kritická cesta a perioda hodin (Důležité)
• Kritická cesta: nejpomalejší cesta mezi libovolným z registrů (klop.obvodů)
• Minimální perioda hodin je funkcí kritické cesty• Perioda T
cminmusí být větší než:
• Musí být splněny požadavky na stabilitu vstupů a výstupů
7
8
11
8
7
8
7
Kritická cestaZpoždění hradla
Perioda hodin
Setupcasti kombinacnicestajsi„NejpomaleQtoClockTc ++−−≥ “min
A1B14MIS Mikroprocesory pro výkonové systémy 04 6
Kritická cesta (Kc) (Důležité)
I O
S
x1,… ,xi y1,… ,yj
q1,… ,qk
Kc3
Kc2
Kc1
Kc4
Clk
A1B14MIS Mikroprocesory pro výkonové systémy 04 8
Hodinová frekvence = 1/Kci max (Důležité)
• Kc1 – ze vstupů I na vstup stavového registru• Nestabilita vstupů + zpoždění v LKO1 + Setup (předstih)
• Kc2 – z výstupu stavového registru na výstup O• Clock-to-Q + zpoždění v LKO2 + požadavek na stabilitu výstupů
• Kc3 – ze vstupů I na výstupy O• Nestabilita vstupů + zpoždění v LKO2 + požadavek na stabilitu výstupů
• Kc4 – z výstupu stavového registru na jeho vstupy• Clock-to-Q + zpoždění v LKO1 + Setup (předstih)
A1B14MIS Mikroprocesory pro výkonové systémy 04 9
Detektor posloupnosti bitů ‘110’ (FSA typu Mealy) (Důležité)
• Kc1 = 8 + 8 + 4 [ns]
• Kc2 = 14 + 8 [ns]
• Kc3 = 6 + 8 [ns]• Kc4 = 14 + 8 + 8 + 4 [ns]
88
8
8
6
144
8
144
Kc1
Kc4
Kc3
Kc2
MHznsTf c 4,2934/1/1 minmax ===
nsQtoTClock 14=−−nsSetup 4=
A1B14MIS Mikroprocesory pro výkonové systémy 04 10
Přehled kombinačních bloků dle kategorie
Majority Decoder
Priority Encoder
Demultiplexer
Multiplexer 2 to 1
Multiplexer 4 to 1
Binary to Gray Dec.
Bin. to Johanson Dec.
Half Adder
1bit Comparator
4bit Comparator
1bit Shifter L/R
4bit Shifter L/R, L/A
4bit Barrel Shifter
Full Adder
Half Subtractor
Full Subtractor
4bit Full Adder
4bit Adder/Subtractor
A1B14MIS Mikroprocesory pro výkonové systémy 04 11
Přehled kombinačních bloků (???)
0y
1y0x
1x
2x
e
Prio
rity
En
cod
er 0y
1y0x
1x
3y2y
en
y0x
1x
s s
03 ... aa
03 ... bb03 ... yy
A1B14MIS Mikroprocesory pro výkonové systémy 04 14
Majoritní dekodér (???)
• Majorita
• Nabývá hodnoty 1, když většina vstupních proměnných je rovna 1• Majorita ze 3 – tj. 2 nebo 3 vstupní proměnné mají hodnotu 1
76543210D
1101000111100010
11
00f
11
00x2
1101
1000x0x1
76543210D
1101000111100010
11
00y
11
00x2
1101
1000x0x1
012012012012,65 xxxxxxxxxxxxy +++=∑= 7),(3,m
Majorita ze 3
A1B14MIS Mikroprocesory pro výkonové systémy 04 15
Majoritní dekodér (???)
76543210D
1101000111100010
11
00f
11
00x2
1101
1000x0x1
76543210D
1101000111100010
11
00y
11
00x2
1101
1000x0x1
10
4 5 67
3 2
111
1
0x1x
2x
y
021201 xxxxxxy ++=
Majorita ze 3
A1B14MIS Mikroprocesory pro výkonové systémy 04 16
Majoritní dekodér (???)
021201 xxxxxxy ++=
y
0x
1x
2x
Realizace
A1B14MIS Mikroprocesory pro výkonové systémy 04 17
Prioritní enkodér (???)
• Kóduje stav n vstupů do určeného kódu (např. binárního) na výstupu
• Libovolný počet vstupů xi prioritního enkodéru může současně nabývat hodnoty 1. Prioritní enkodér na výstupech yk vyšle vždy pouze kód aktivníhovstupu (tj. xi = 1) s nejvyšší prioritou (zde nejvyšší prioritu má x0)
• Použití – systém přerušení v počítačí (interrupt system), …
10111010
y0
01010100
y1
76543210
Di
1101300111102010
12
10
Do
11
00
x2
1101
1000
x0x1
0y
1y0x
1x
2x
Prioritní enkodér
A1B14MIS Mikroprocesory pro výkonové systémy 04 18
Prioritní enkodér (???)
0120120120120120 5,4,3 xxxxxxxxxxxxxxxy ++++=∑= 7),(1,m
0120120121 6,4 xxxxxxxxxy ++=∑= )(2,m
0y
1y0x
1x
2x
10111010
y0
01010100
y1
76543210
Di
1101300111102010
12
10
Do
11
00
x2
1101
1000
x0x1
Prioritní enkodér
A1B14MIS Mikroprocesory pro výkonové systémy 04 19
Prioritní enkodér (???)
0y
1y0x
1x
2x
10
4 5 67
3 2
11
1
0x1x
2x
10
4 5 67
3 2
111
11
0x1x
2x
0y 1y
1200 xxxy += 01021 xxxxy +=
10111010
y0
01010100
y1
76543210
Di
1101300111102010
12
10
Do
11
00
x2
1101
1000
x0x1
Prioritní enkodér
A1B14MIS Mikroprocesory pro výkonové systémy 04 20
Prioritní enkodér (???)
0y
1y0x
1x
2x
0y
1y
0x
1x
2x
Realizace
1200 xxxy +=
01021 xxxxy +=
A1B14MIS Mikroprocesory pro výkonové systémy 04 21
Prioritní enkodér (???)
Realizace
Blokování výstupu e = 1
0y
1y0x
1x
2x
e
Prio
rity
En
cod
er
Kroužek značí, že aktivní stav je pro
e = 0
0y
1y0x
1x
2x
e
A1B14MIS Mikroprocesory pro výkonové systémy 04 22
Dekodér/Demultiplexer (Důležité)
• Dekóduje kód na vstupu (např. binární) na kód 1 z n na výstupu
• Typicky je výstupní kód aktivní v 0
• Použití – dekodér adresových bloků v počítači, …
0100
y2
1000
Y3
0001
y0
0010
y1
3210
Di
11011000
x0x1
Dekodér/Demultiplexer
Dec
ode
rD
emul
tiple
xer
0y
1y0x
1x
3y2y
en
A1B14MIS Mikroprocesory pro výkonové systémy 04 23
Dekodér/Demultiplexer (Důležité)
0100
y2
1000
Y3
0001
y0
0010
y1
3210
Di
11011000
x0x1
Dekodér/Demultiplexer
Dec
ode
rD
emul
tiple
xer
0y
1y0x
1x
3y2y
en
010 xxy =
011 xxy =
012 xxy =
013 xxy =
A1B14MIS Mikroprocesory pro výkonové systémy 04 24
Dekodér/Demultiplexer (Důležité)
Dec
ode
rD
emul
tiple
xer
0y
1y0x
1x
3y2y
en
010 xxy =
011 xxy =
012 xxy =
013 xxy =
Realizace
0y
1y
0x
1x
3y
2y
en
A1B14MIS Mikroprocesory pro výkonové systémy 04 25
Multiplexer (Důležité)
• n – vstupový multiplexer je číslicový přepínač n – vstupů na jeden výstup
11001010
y
76543210
Di
101001110010
11
00
s
1101
1000
x0x1
Multiplexer 2 na 1
10
4 5 67
3 2
11
11
0x1x
y
s
Mu
ltiple
xer
y0x
1x
s
0x
1x
s
y
A1B14MIS Mikroprocesory pro výkonové systémy 04 26
Multiplexer (Důležité)
Realizace
10
4 5 67
3 2
11
11
0x1x
y
s
10 xsxsy +=
y0x
1x
s
A1B14MIS Mikroprocesory pro výkonové systémy 04 27
Multiplexer (Důležité)
• Multiplexer 4 na 1 ze tří multiplexerů 2 na 1
y
0x
1x
2x
0s
1s
3xx3
x2
x1
x0
y
3
2
1
0
Di
11
01
10
00
s0s1
Multiplexer 4 na 1
A1B14MIS Mikroprocesory pro výkonové systémy 04 28
Multiplexer (Důležité)
• Multiplexer 4 x 2 na 1 z multiplexerů 2 na 1
s
03...aa
03...bb03... yy
0a
1a
2a
3a
0b
1b
2b
3b
0y
1y
2y
3y
s
A1B14MIS Mikroprocesory pro výkonové systémy 04 29
Komparátor (1bit Comparator) (???)
100
111
000
100
gtout
001
000
000
001
eqout
1111111100000000x
110113000112
0010100100900008
11011
1117
001114
111
010
ltout
15
6543210Di
101001110010
1
1
00y
11
01
1000ltingtin
Komparátor
Nemůže nastat, doplníme pro co
nejlepší minimalizaci
[ ])1()()( ==>= inout gtyxyxgt ANDOR
[ ])1()()( ==<= inout ltyxyxlt ANDOR
)0()0()( ==== ininout ltgtyxeq ANDAND
A1B14MIS Mikroprocesory pro výkonové systémy 04 30
Komparátor (1bit Comparator) (???)
ininout gtygtxyxgt ... ++= ininininout ltgtyxltgtyxeq ...... +=
outgtouteq
x y
10
4 5 67
8 9 1011
12 13 1415
3 2
1?11
1?
?
1?10
4 5 67
8 9 1011
12 13 1415
3 2
?
?1
?
?1
ingt
inltingt
inlt
x y
Greater Than Equal
A1B14MIS Mikroprocesory pro výkonové systémy 04 31
Komparátor (1bit Comparator) (???)
10
4 5 67
8 9 1011
12 13 1415
3 2
?
?1
1?11
?1
ingt
inlt
x y
ininout ltyltxyxlt ... ++=
outlt
Less Than
A1B14MIS Mikroprocesory pro výkonové systémy 04 32
Komparátor (1bit Comparator) (???)
Realizace
outgt
outeq
outlt
x
y
ingt
inlt
A1B14MIS Mikroprocesory pro výkonové systémy 04 34
Převodník kódu (Code Converter) – Binary to Gray (???)
• Binární kód na Grayův kód (sousední kombinace se liší pouze v jednom bitu)
0011110000111100y1
1111111100000000y3
0000111111110000y2
1111111100000000x3
110113000112
1010101100900008
011011
01117
1011140
1100110y0
15
6543210Di
101001110010
1
1
00x2
11
01
1000x0x1
Binární na Grayův kód
A1B14MIS Mikroprocesory pro výkonové systémy 04 35
Převodník kódu (Code Converter) – Binary to Gray (???)
10
4 5 67
8 9 1011
12 13 1415
3 2
11
11
11
11
0y1y
0x1x
2x3x
10
4 5 67
8 9 1011
12 13 1415
3 2
1
11
11
110x1x
2x3x
1
0101010 xxxxxxy ⊕=+= 1212121 xxxxxxy ⊕=+=
A1B14MIS Mikroprocesory pro výkonové systémy 04 36
Převodník kódu (Code Converter) – Binary to Gray (???)
10
4 5 67
8 9 1011
12 13 1415
3 2
111
1111
0x1x
2x3x
2y
1
3y
10
4 5 67
8 9 1011
12 13 1415
3 2
111
1111
0x1x
2x3x
1
2323232 xxxxxxy ⊕=+= 33 xy =
A1B14MIS Mikroprocesory pro výkonové systémy 04 37
Převodník kódu (Code Converter) – Binary to Gray (???)
Realizace
0y
1y
0x
1x
2x
3y
2y
3x
A1B14MIS Mikroprocesory pro výkonové systémy 04 38
Převodník kódu (Code Converter) – Binary to Johanson (???)
• Binární kód na Johansonův kód (sousední kombinace se liší pouze v jednom bitu)
0
0
1
1
1
1
0
0
s1
1
1
1
1
0
0
0
0
s3
0
1
1
1
1
0
0
0
s2
01117
0
0
1
1
1
1
0
s0
6
5
4
3
2
1
0
Di
101
001
110
010
1
0
0
x2
01
10
00
x0x1
Binární na Johansonův kód
A1B14MIS Mikroprocesory pro výkonové systémy 04 39
Převodník kódu (Code Converter) – Binary to Johanson (???)
10
4 5 67
3 2
1
111
0x1x
2x
0s1s
2s3s
10
4 5 67
3 2
11
11
0x1x
2x
10
4 5 67
3 2
111
1
0x1x
2x
10
4 5 67
3 2
1111
0x1x
2x
1212121 xxxxxxs ⊕=+=
23 xs =
01202120 xxxxxxxs ++=
12012022 xxxxxxxs ++=
A1B14MIS Mikroprocesory pro výkonové systémy 04 40
Převodník kódu (Code Converter) – Binary to Johanson (???)
Realizace
x0
x1
x2
s0
s1
s2
s3
A1B14MIS Mikroprocesory pro výkonové systémy 04 41
Půlsčítačka (Half Adder) (???)
3210
D
1000
q
011101110000
sba
bababas ⊕=+=∑= )(1,m 2
baq =∑= )(m 3
Realizacebas +=
A1B14MIS Mikroprocesory pro výkonové systémy 04 42
Sčítačka (Full Adder) (???)
7
6
5
4
3
2
1
0
D
01101
10001
01110
10010
1
1
0
0
q
1
1
0
0
a
111
001
110
000
spb
pbapbapbapbas ........742 +++=∑= ),,(1,m
pbapbapbapbaq ........765 +++=∑= ),,(3,m
pbas ++=
A1B14MIS Mikroprocesory pro výkonové systémy 04 43
Sčítačka (Full Adder) (???)
)()()(
)()(........
bapbabapbabap
babapbabappbapbapbapbas
⊕⊕=+++=
=+++=+++=
XORXNOR=
XNORXOR
pbapbapbapbaq ........ +++=
p
a
bq
10
4 5 67
3 2
111
1
)(
)(
bapba
babapbabapbapbaq
⊕+==++=++=
Úprava logického výrazu
Vhodná minimalizace z K-mapy
Half Adder s
Half Adder q
A1B14MIS Mikroprocesory pro výkonové systémy 04 47
Půlodčítačka (Half Subtractor) (???)
3210
D
0010
c
011101110000
dba
Realizace
bababad ⊕=+=∑= )(1,m 2
bad −=
bac =∑= (1)m
A1B14MIS Mikroprocesory pro výkonové systémy 04 48
Odčítačka (Full Subtractor) (???)
7
6
5
4
3
2
1
0
D
00101
10001
01110
11010
1
0
1
0
ci+1
1
1
0
0
ai
111
001
110
000
dicibi
iiii cbad −−=
iiiiiiiiiiiii cbacbacbacbad ........742 +++=∑= ),,(1,m
iiiiiiiiiiiii cbacbacbacbac ........7321 +++=∑=+ ),,(1,m
A1B14MIS Mikroprocesory pro výkonové systémy 04 49
)(
)(1
iiiii
iiiiiiiiiiiiiiii
bacba
babacbabacbacbac
⊕+=
=++=++=+
)()()(
)()(........
iiiiiiiiiiiii
iiiiiiiiiiiiiiiiiiiiiii
bacbabacbabac
babacbabaccbacbacbacbad
⊕⊕=+++=
=+++=+++=
Odčítačka (Full Subtractor) (???)
XORXNOR=
XNORXOR
10
4 5 67
3 2
1
111
Úprava logického výrazu
Vhodná minimalizace z K-mapy
Half Subtractor d
Half Subtractor c
1+icic
ia
ib
XNOR
iiiiiiiiiiiii cbacbacbacbac ........1 +++=+
A1B14MIS Mikroprocesory pro výkonové systémy 04 50
Odčítačka (Full Subtractor) (???)
Realizace
Borrow
Borrow
A1B14MIS Mikroprocesory pro výkonové systémy 04 52
Sčítačka/odčítačka (4bit Adder/Subtractor) (???)
• Pro čísla kódovaná v dvojkovém doplňku (Two’s Complement) platí:
1++=−= babadTC
sub = 1→ odčítání
odčítání
4cborrow =
4ccarry =
sčítáníSčítání i odčítání realizováno pouze
sčítačkou
A1B14MIS Mikroprocesory pro výkonové systémy 04 54
Shifter (1bit Left/Right) (Důležité)
11001100--------
rout
--------11001100
lout
1111000010101010y
1111111100000000sr
1011300112
0101010090008
11011
1117
0111415
6543210Di
101001110010
1
1
00lin
11
01
1000rinx
Posun binárního řádu (o 1 bit)
sr = 1 → Shift Right
A1B14MIS Mikroprocesory pro výkonové systémy 04 55
Shifter (1bit Left/Right) (Důležité)
10
4 5 67
8 9 1011
12 13 1415
3 2
???
????
11
11
x
sr
inr
inl
outl y xinr
srinl
?
10
4 5 67
8 9 1011
12 13 1415
3 2
1111
11
11
xsrsrlout .+= inin rsrlsry .. +=
A1B14MIS Mikroprocesory pro výkonové systémy 04 56
Shifter (1bit Left/Right) (Důležité)
10
4 5 67
8 9 1011
12 13 1415
3 2
1
11
????
????
x
sr
inr
inl
1
outr
xsrsrrout .+=
A1B14MIS Mikroprocesory pro výkonové systémy 04 57
Shifter (1bit Left/Right) (Důležité)
Realizace
outr
outl
x
y
sr
inr
inl
A1B14MIS Mikroprocesory pro výkonové systémy 04 58
4bit Shifter (1bit Left/Right, Logical/Arithmetic) (Důležité)
sr = 1 → Shift Right
sar = 1 → Shift Arithmetic
A1B14MIS Mikroprocesory pro výkonové systémy 04 59
Barrel Shifter (4bit, Shift Left/Rotate Left) (Důležité)
• Posun vlevo nebo rotace vlevo o s bitů (kombinační obvod)
• Zde ukázka posunu vlevo, podobně vpravo (pozor vpravo se lišílogický a aritmetický posun)
rol = 1 → Rotate Leftrol = 0 → Shift Left
Posun o s bitůs = 0,1,2,3,4
A1B14MIS Mikroprocesory pro výkonové systémy 04 60
Barrel Shifter (4bit, Shift Left/Rotate Left) (Důležité)
rol =
1 →
rota
tele
ft
A1B14MIS Mikroprocesory pro výkonové systémy 04 61
Typy výstupů logických členů (Důležité)
• Standardní výstup – Totem-pole output (Push-Pull)
• Dvoustavový výstup• Na výstupu vždy hodnota 0 nebo 1
• Výstupy nelze navzájem spojovat
• Otevřený kolektor – Open-collector output (OC)
• Na výstupu pouze spodní spínač
• Výstupy lze spojit, nutný upínací odpor na Vcc
• Montážní součin – Wired-AND
• Třístavový výstup – Tri-state output (TS)• Na výstupu hodnoty 0, 1, Z (Z = vysoká impedance-odpojeno)
• Výstupy lze spojovat
• Řízení výstupních členů musí zajistit, že pouze jeden vysílač není v Z
A1B14MIS Mikroprocesory pro výkonové systémy 04 62
Dvoustavový výstup (Totem-pole output) (Důležité)
Spínače jsou nad sebou
A1B14MIS Mikroprocesory pro výkonové systémy 04 63
Otevřený kolektor (Open-collector output, OC) (Důležité)
ay
bz
vcc
Wired and
Common bus
GateLogic
GateLogic
Open-collector output
R
zyf .=
A1B14MIS Mikroprocesory pro výkonové systémy 04 64
Třístavový výstup (Tri-state output, TS) (Důležité)
A1B14MIS Mikroprocesory pro výkonové systémy 04 65
8bitový záchytný registr s třístavovým výstupem (Latch, TS)
• 8-bit D–type latch with tri-state outputs (TS – output) (Důležité)
D Latch with TS output
1
0
0
0
X0
X
1
1
X
11
00
iQ
1iQ
+iD
X – nezáleží
OE
Z
LE
Z – odpojeno
A1B14MIS Mikroprocesory pro výkonové systémy 04 66
8bitový obousměrný budič sběrnice (Transceiver) (Důležité)
• 8-bit bus transceiver with tri-state outputs
Bus Transceiver
1
0
0
X
1
0
OE
Z
ZBA →AB→
DIR portA portB
Z Z
Z – odpojeno
A1B14MIS Mikroprocesory pro výkonové systémy 04 67
Společná sběrnice (Bus, Common Bus) (Důležité)
• Použití: propojení komunikujících bloků počítače
• Sběrnice jednosměrná nebo obousměrná• Sběrnice s třístavovými budiči nebo s budiči s otevřeným kolektorem
A1B14MIS Mikroprocesory pro výkonové systémy 04 68
Přehled sekvenčních bloků a budičů dle kategorie
2-bit Counter - Moore
2-bit Counter - Mealy
8-bit Counter
4-bit Shift Reg. P-S
8-bit Shift Reg. P-S
16-bit Counter
4-bit Shift Reg. S-P
4-bit Register, Clock
Time Delay
Clock Impuls
Debounce Circuit
4-bit Shift Reg., Enable
Ring Counter
Register, Parallel Load
Tri-state Latch
8-bit Transceiver
Common Bus
Bus Drivers
A1B14MIS Mikroprocesory pro výkonové systémy 04 69
Čítače (Counter) (???)
• Speciální typ registru – zahrnuje funkce přičítaní nebo odčítání
• Čítače čítají (odčítají) modulo M• Úplné čítače čítají modulo 2n (tj. čítají do 4, 8, 16,……)• Neúplné čítače čítají např. do 5, 10, 13, 55, 80, ….
• Čítače čítají:• v binární kódu• v Grayově kódu (mění se vždy jen jedna stavová proměnná)• v Johansonově kódu (mění se vždy jen jedna stavová proměnná)• v dalších kódech
• Čítače jsou:• Synchronní – stavové klopné obvody mají společné hodiny• Asynchronní – výstup jednoho klopného obvodu tvoří hodiny
následujícího klopného obvodu
A1B14MIS Mikroprocesory pro výkonové systémy 04 70
Synchronní 2bitový binární čítač s blokováním (???)
Navrhněte synchronní konečný automat (FSA – Finite State Automaton, Moore) typu čítač. Čítač čítá v binárním kódu, je 2bitový a má blokování čítání. V zapojení použijte půlsčítačku (Half Adder). Automat navrhněte s asynchronním nulováním.
Blokování čítáníe = 0
Přenos
Moore
A1B14MIS Mikroprocesory pro výkonové systémy 04 71
Synchronní 2bitový binární čítač s blokováním (???)
S0
S1
S2
S3
I1
03
I0
00
01
02
I1I1
I0
I0I0
I1
Stavový diagram
I – Vstupy (Inputs)
O – Výstupy (Outputs)
Si – i-tý stav
S0S3S3
S3S2S2
S2S1S1
S1S0S0
I1I0Si
Tabulka přechodů
O3S3
O2S2
O1S1
O0S0
OiSi
Tabulka výstupů
Moore
A1B14MIS Mikroprocesory pro výkonové systémy 04 72
Synchronní 2bitový binární čítač s blokováním (???)
Tabulka přechodů
S3
S2
S!
S0
S3
S2
S!
S0
Si
1
0
1
0
1
0
1
0
q0
S00011
S31111
S20101
S11001
S31110
S20110
S!1000
S00000
Si+1d0d1q1e
Kódování stavů
Si Si+1
S0S3S3
S3S2S2
S2S1S1
S1S0S0
I1I0Si
Moore
A1B14MIS Mikroprocesory pro výkonové systémy 04 73
Synchronní 2bitový binární čítač s blokováním (???)
1
0
0
0
c
1
1
0
0
y1
1
0
1
0
y0
S3
S2
S!
S0
Si
O311
O201
O110
O000
Oiq0q1
Kódování výstupů
Si O
O3S3
O2S2
O1S1
O0S0
OiSi
Tabulka výstupů
Moore
A1B14MIS Mikroprocesory pro výkonové systémy 04 74
Synchronní 2bitový binární čítač s blokováním (???)
0d
10
4 5 67
3 2
11
110q1q
10
4 5 67
3 2
11
11
1d
0q1q Minimalizace
e
e)(
)()(
)(
01
0101
0101
011011
qeq
qeqqeq
qqeeqq
qqeqeqqd
⊕==+=
=++=
=++=
00 qy = 11 qy = 01 qqec =
Moore
0000 qeqeqed ⊕=+=
A1B14MIS Mikroprocesory pro výkonové systémy 04 75
Moore
Synchronní 2bitový binární čítač s blokováním (???)
RealizaceHalf AdderHalf Adder
Moore
A1B14MIS Mikroprocesory pro výkonové systémy 04 76
Synchronní 8bitový binární čítač s blokováním (???)
A1B14MIS Mikroprocesory pro výkonové systémy 04 77
Synchronní 2bitový binární čítač s blokováním (???)
Navrhněte synchronní konečný automat (FSA – Finite State Automaton, Mealy) typu čítač. Čítač čítá v binárním kódu, je 2bitový a má blokování čítaní. V zapojení použijte půlsčítačku (Half Adder). Automat navrhněte s asynchronním nulováním.
Blokování čítáníe = 0
Přenos
Mealy
A1B14MIS Mikroprocesory pro výkonové systémy 04 78
Synchronní 2bitový binární čítač s blokováním (???)
I – Vstupy (Inputs)
O – Výstupy (Outputs)
Si – i-tý stav
Stavový diagram
S0S3S3
S3S2S2
S2S1S1
S1S0S0
I1I0Si
Tabulka přechodů
O3
O2
O1
O0
I0
O0S3
O3S2
O2S1
O1S0
I1Si
Tabulka výstupů
Mealy
A1B14MIS Mikroprocesory pro výkonové systémy 04 79
Synchronní 2bitový binární čítač s blokováním (???)
Tabulka přechodů
S3
S2
S!
S0
S3
S2
S!
S0
Si
1
0
1
0
1
0
1
0
q0
S00011
S31111
S20101
S11001
S31110
S20110
S!1000
S00000
Si+1d0d1q1e
Kódování stavů
Si Si+1
S0S3S3
S3S2S2
S2S1S1
S1S0S0
I1I0Si
Mealy
A1B14MIS Mikroprocesory pro výkonové systémy 04 80
Synchronní 2bitový binární čítač s blokováním (???)
O3
O2
O1
O0
I0
O0S3
O3S2
O2S1
O1S0
I1Si
Tabulka výstupů
Kódování výstupů
S3
S2
S!
S0
S3
S2
S!
S0
Si
1
0
1
0
1
0
1
0
q0
O00011
O31111
O20101
O11001
O31110
O20110
O!1000
O00000
Oiy0y1q1e
Si Oi
Mealy
A1B14MIS Mikroprocesory pro výkonové systémy 04 81
Synchronní 2bitový binární čítač s blokováním (???)
0d
10
4 5 67
3 2
11
110q1q
10
4 5 67
3 2
11
11
1d
0q1q Minimalizace
e
e)(
)()(
)(
01
0101
0101
011011
qeq
qeqqeq
qqeeqq
qqeqeqqd
⊕==+=
=++=
=++=
01 qqec =
Mealy
0000 qeqeqed ⊕=+=
A1B14MIS Mikroprocesory pro výkonové systémy 04 82
Synchronní 2bitový binární čítač s blokováním (???)
10
4 5 67
3 2
11
110q1q
10
4 5 67
3 2
11
110q1q Minimalizace
e
e
01 qqec =
0y
1y
)(
)()(
)(
01
0101
0101
011011
qeq
qeqqeq
qqeeqq
qqeqeqqy
⊕==+=
=++=
=++=
Mealy
0000 qeqeqey ⊕=+=
A1B14MIS Mikroprocesory pro výkonové systémy 04 83
Synchronní 2bitový binární čítač s blokováním (???)
Realizace
Mealy
Mealy
A1B14MIS Mikroprocesory pro výkonové systémy 04 84
Synchronní 2bitový binární čítač s blokováním (porovnání) (???)
Moore Mealy
S0
S1
S2
S3
I1
03
I0
00
01
02
I1I1
I0
I0I0
I1 ≠
A1B14MIS Mikroprocesory pro výkonové systémy 04 85
Synchronní 2bitový binární čítač s blokováním (porovnání) (???)
S0S3S3
S3S2S2
S2S1S1
S1S0S0
I1I0Si
Tabulka přechodů
O3S3
O2S2
O1S1
O0S0
OiSi
Tabulka výstupů
Moore Mealy
≠
S0S3S3
S3S2S2
S2S1S1
S1S0S0
I1I0Si
Tabulka přechodů
O3
O2
O1
O0
I0
O0S3
O3S2
O2S1
O1S0
I1Si
Tabulka výstupů
≡
A1B14MIS Mikroprocesory pro výkonové systémy 04 86
Synchronní 2bitový binární čítač s blokováním (porovnání)
Moore Mealy
S3
S2
S!
S0
S3
S2
S!
S0
Si
1
0
1
0
1
0
1
0
q0
S00011
S31111
S20101
S11001
S31110
S20110
S!1000
S00000
Si+1d0d1q1e
Kódování stavů
Si Si+1
S3
S2
S!
S0
S3
S2
S!
S0
Si
1
0
1
0
1
0
1
0
q0
S00011
S31111
S20101
S11001
S31110
S20110
S!1000
S00000
Si+1d0d1q1e
Kódování stavů
Si Si+1≡
A1B14MIS Mikroprocesory pro výkonové systémy 04 87
Synchronní 2bitový binární čítač s blokováním (porovnání) (???)
Moore Mealy
1
0
0
0
c
1
1
0
0
y1
1
0
1
0
y0
S3
S2
S!
S0
Si
O311
O201
O110
O000
Oiq0q1
Kódování výstupů
Si O
Kódování výstupů
S3
S2
S!
S0
S3
S2
S!
S0
Si
1
0
1
0
1
0
1
0
q0
O00011
O31111
O20101
O11001
O31110
O20110
O!1000
O00000
Oiy0y1q1e
Si Oi≠
A1B14MIS Mikroprocesory pro výkonové systémy 04 88
Synchronní 2bitový binární čítač s blokováním (porovnání) (???)
Moore Mealy
≠
≡
A1B14MIS Mikroprocesory pro výkonové systémy 04 89
Synchronní 2bitový binární čítač s blokováním (porovnání) (???)
Moore
Mealy
≠
A1B14MIS Mikroprocesory pro výkonové systémy 04 90
Synchronní 4bitový binární čítač (???)
Navrhněte synchronní konečný automat (FSA – Finite State Automaton) typu čítač. Čítaččítá v binárním kódu a je 4bitový. V zapojení použijte půlsčítačku (Half Adder). Automat navrhněte s asynchronním nulováním.
A1B14MIS Mikroprocesory pro výkonové systémy 04 91
Synchronní 4bitový binární čítač (???)
Stavový diagram
I – Vstupy (Inputs)
O – Výstupy (Outputs)
Si – i-tý stav
Moore
A1B14MIS Mikroprocesory pro výkonové systémy 04 92
Synchronní 4bitový binární čítač (???)
S15
S14
S13
S12
S11
S10
S9
S8
Si
S15S7S6
S12S4S3
S13S5S4
S14S6S5
S0S8S7
S11S3S2
S10S2S1
S9S1S0
11Si
Tabulka přechodů
O7
O6
O5
O4
O3
O2
O1
O0
Oi
S15
S14
S13
S12
S11
S10
S9
S8
Si
O11S3
O12S4
O13S5
O14S6
O15S7
O10S2
O9S1
O8S0
OiSi
Tabulka výstupů
Moore
A1B14MIS Mikroprocesory pro výkonové systémy 04 93
Synchronní 4bitový binární čítač (???)
0101010101010101d0
0110011001100110d1
0111111110000000d3
0111100001111000d2
1111111100000000q3
14101131300112
110101010100990008
1211011
81117
15011140
7654321
Si+1
15
6543210Si
101001110010
1
1
00q2
11
01
1000q0q1
Kódování stavů
Si Si+1
1010101010101010y0
1100110011001100y1
1111111100000000y3
1111000011110000y2
1111111100000000q3
13101131200112
10010109100980008
1111011
71117
140111415
6543210Oi
15
6543210Si
101001110010
1
1
00q2
11
01
1000q0q1
Kódování výstupů
Si Oi
Moore
(???)
A1B14MIS Mikroprocesory pro výkonové systémy 04 94
10
4 5 67
8 9 1011
12 13 1415
3 21
Synchronní 4bitový binární čítač (???)
10
4 5 67
8 9 1011
12 13 1415
3 2
11
11
11
11
Minimalizace
0d0q1q
2q3q
11
11
11
10q1q
2q3q
1d
1000 ⊕== qqd
01
01011
qqqqd
⊕==+=
Moore
A1B14MIS Mikroprocesory pro výkonové systémy 04 95
10
4 5 67
8 9 1011
12 13 1415
3 2
1
Synchronní 4bitový binární čítač (???)Minimalizace
10
4 5 67
8 9 1011
12 13 1415
3 2
1
111
11
10q
2q3q
1111
111
1
0q
2q3q
2d 3d
1
)(
)()(
)(
012
012012
012102
01212022
qqq
qqqqqq
qqqqqq
qqqqqqqd
⊕==+=
=++=
=++=
)(
)()(
)()(
0123
01230123
01230123
01220313233
qqqq
qqqqqqqq
qqqqqqqq
qqqqqqqqqqd
⊕==+=
=+++=
=+++=
1q 1q
Moore
A1B14MIS Mikroprocesory pro výkonové systémy 04 96
Synchronní 4bitový binární čítač (???)
Realizace
Moore
A1B14MIS Mikroprocesory pro výkonové systémy 04 98
Posuvný registr (Shift Register) (Důležité)
• Použití:
• Převod sériové informace na paralelní• Sériová komunikace - příjem
• Převod paralelní informace na sériovou
• Sériová komunikace – vysílání• Definované zpoždění signálu
• Vícefázové hodiny pro řízení sekvenčních obvodů
• Kruhový čítač (Ring Counter)• Převod hladinového signálu na impuls
• Clock pulse circuit
• Potlačení zákmitů mechanických tlačítek a spínačů
• Debounce circuit
• Další použití …
A1B14MIS Mikroprocesory pro výkonové systémy 04 99
Posuvný registr (4bit Shift Register, Serial to Parallel) (Důležité)
A1B14MIS Mikroprocesory pro výkonové systémy 04 100
Posuvný registr (4bit Shift Register, Parallel to Serial) (Důležité)
load = 1→ nastav
A1B14MIS Mikroprocesory pro výkonové systémy 04 101
Posuvný registr (8bit Shift Register, Serial to Parallel) (Důležité)
A1B14MIS Mikroprocesory pro výkonové systémy 04 102
Posuvný registr (4bit Shift Register, Serial to Parallel) (Důležité)
• Definované zpoždění signálu
A1B14MIS Mikroprocesory pro výkonové systémy 04 103
Posuvný registr (4bit Shift Register, Serial to Parallel) (Důležité)
• Převod hladinového signálu na impuls (testování hardware)
A1B14MIS Mikroprocesory pro výkonové systémy 04 104
Posuvný registr (4bit Shift Register, Serial to Parallel) (Důležité)
• Potlačení zákmitů mechanických tlačítek a spínačů (Debounce Circuit)
A1B14MIS Mikroprocesory pro výkonové systémy 04 105
Posuvný registr (4bit Shift Register, Shift Enable) (???)
sh = 1→ posuv
A1B14MIS Mikroprocesory pro výkonové systémy 04 106
Kruhový čítač (4bit Ring Counter) (Důležité)
• Vícefázové hodiny pro řízení sekvenčních obvodů
A1B14MIS Mikroprocesory pro výkonové systémy 04 107
Kruhový čítač (4bit Ring Counter) (Důležité)
• Vícefázové hodiny pro řízení sekvenčních obvodů
A1B14MIS Mikroprocesory pro výkonové systémy 04 108
Posuvný registr (4bit Shift Register, Serial to Parallel) (???)
• Převod sériových dat na paralelní - princip
A1B14MIS Mikroprocesory pro výkonové systémy 04 109
Posuvný registr (16bit Shift Register, Serial to Parallel) (???)
A1B14MIS Mikroprocesory pro výkonové systémy 04 110
Registr (4bit Register) (Důležité)
• n – klopných obvodů řízených společným hodinovým signálem
4bitRegister
q0
q3
q1
q2
d3
d1
d2
d0
clk
reset
set
A1B14MIS Mikroprocesory pro výkonové systémy 04 111
Registr (4bit Register, Parallel Load) (Důležité)
• n – klopných obvodů řízených společným hodinovým signálem
• Zápis do registru i při trvale běžících hodinách signálem load = 1
1bit registru
A1B14MIS Mikroprocesory pro výkonové systémy 04 112
Registr (4bit Register, Parallel Load) (Důležité)
• n – klopných obvodů řízených společným hodinovým signálem
• Zápis do registru i při trvale běžících hodinách signálem load = 1
A1B14MIS Mikroprocesory pro výkonové systémy 04 113
Hazardy (Důležité)
• Co je hazard v logických obvodech
• Příčiny vzniku hazardu
• Nalezení hazardu
• Kdy hazard ovlivní činnost logických obvodů?
• Poznámka: zde se zabýváme jen statickým hazardem.
• Existují ještě hazardy dynamické (souvisejí se statickými)
A1B14MIS Mikroprocesory pro výkonové systémy 04 114
Příčiny vzniku hazardu (Důležité)
• Hazard je krátká neočekávaná změna výstupního signálu (glitch), která
není matematickým výstupem logické funkce
• Signál ze vstupu logického obvodu se šíří na výstup různými cestami, kterése někdy rozdělí a pak zase spojí. Signál se různými cestami vlivem časového zpoždění na hradlech a vodičích šíří různou dobu. V místěopětovného spojení má signál z různých cest různý časový posun.
• Statický hazard – výstup logického obvodu má být trvale v 0 nebo 1
(má být statický), místo toho se objeví krátký impuls do opačné úrovně.• 0-1-0 … statický hazard v 0
• 1-0-1 … statický hazard v 1
A1B14MIS Mikroprocesory pro výkonové systémy 04 115
Statický hazard v úrovni 1 (Důležité)
zyyxf +=nsT 2=∆
nsT 4=∆
nsT 4=∆1c
2c
nsTc 10 =++=∆ 4421
nsTc 8 =+=∆ 442
nsTTT ccH 221 =∆−∆=∆
nsT 4=∆
A1B14MIS Mikroprocesory pro výkonové systémy 04 116
Statický hazard v úrovni 1 (Důležité)
1=+=→
→==
zyyxf
1z 1, x:Pro
!! hazard
nsT 2=∆nsT 4=∆
nsT 4=∆1c
2c
nsT 4=∆
Má býtSkutečnost
A1B14MIS Mikroprocesory pro výkonové systémy 04 117
Kdy hazardy vadí? (Důležité)
• Hazardy v kombinačních obvodech nejsou kritické – výstup kombinačního obvodu se po určité (krátké) době vždy ustálí ve správné hodnotě
• Hazardy v sekvenčních obvodech mohou uvést klopné obvody do nesprávného stavu a tím nastavit celý sekvenční obvod (konečný automat) do nevratného kritického stavu !!!
• Řešení:
• Hazard-free design• Synchronní návrh a správný výpočet maximální povolené hodinové
(synchronizační) frekvence