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
118
Embed
Logické obvody Kombinační a sekvenční stavební blokymotor.feld.cvut.cz/sites/default/files/predmety/A1B14MIS-2017-04z... · A7B14SAP Struktura a architektura po číta čů
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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é)
• 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 12
Přehled kombinačních bloků (???)
A1B14MIS Mikroprocesory pro výkonové systémy 04 13
Přehled kombinačních bloků (???)
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
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
qq
qqqqd
⊕==+=
Moore
A1B14MIS Mikroprocesory pro výkonové systémy 04 95
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
A1B14MIS Mikroprocesory pro výkonové systémy 04 118
České vysoké učení technické Fakulta elektrotechnická
Logické obvodyKombinační a sekvenční stavební bloky
KONEC
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMYMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY