MIKROPROCEORY PRO VÝKONOVÉ YTÉMY MIKROPROCEORY PRO VÝKONOVÉ YTÉMY Logcké obvody - sekvenční Formy popsu, konečný automat Příklady návrhu České vysoké učení techncké Fakulta elektrotechncká AB4MI Mkroprocesory pro výkonové systémy 3 Ver..2 J. Zděnek, 23
Logcký sekvenční obvod Logcký sekvenční obvod (LO) popsán stavovým dagramem, rovncem, tabulkam, HL jazykem Vstupní, výstupní vnřní ( ) proměnné nabývají pouze hodnot nebo Vstupní stav I O Výstupní stav x LO y x n k y m Vntřní stav Hodnoty všech výstupních proměnných jsou v každém časovém okamžku určeny hodnotam vstupních proměnných ve stejném okamžku ale též hodnotam vstupních proměnných předcházejících (LO má vntřní paměť) A7B4AP truktura a archtektura počítačů 2
Konečný automat (FA), přechodová a výstupní funkce Abstraktní model sekvenčního obvodu konečný automat (FA Fnte tate Automaton nebo také FM Fnte tate Machne) Konečný automat konečný počet vstupních, vntřních a výstupních stavů anou kombnac vstupních, vntřních a výstupních proměnných nazveme vstupní, vntřní a výstupní stav a označíme I,, O k j Přechodová funkce: f (, I t t t ) t t,, I t vntřní následující, vntřní a vstupní současný stav Výstupní funkce: t O g( t, I t ) t t O,, I t výstupní, vntřní a vstupní současný stav AB4MI Mkroprocesory pro výkonové systémy 3 3
Obecný model logckého sekvenčního obvodu (Huffmann) LO - Logcký sekvenční obvod t O g( t, I t ) I x,,x Logcký kombnační obvod O y,,y j t t f (, I t ) Paměťová část,, k AB4MI Mkroprocesory pro výkonové systémy 3 4
Rozdělení LO Podle časové reakce na změnu vstupních proměnných Asynchronní změna stavu LO po změně vstupních proměnných hned (resp. s malým zpožděním v důsledku reakce vntřních obvodů LO). ynchronní změna stavu LO synchronzována vnějším synchronzačním mpulsy (tzv. hodny, clock). LO jsou navrhovány většnou jako synchronní snadnější kontrola vntřních sgnálů LO. Podle způsobu výpočtu přechodové a výstupní funkce LKO Automat typu Mealy Automat typu Moore Autonomní automat (např. čítače, ) f (, I t t t f (, I t t t f ( t t ) ) ) t O g( O t g( t O t g( t t, I ) ) t ) AB4MI Mkroprocesory pro výkonové systémy 3 5
ynchronní FA typu Mealy f (, I t t t ) t O g( t, I t ) Budcí funkce tavový regstr Logka výstupů LKO LKO2 O C I AB4MI Mkroprocesory pro výkonové systémy 3 6
ynchronní FA typu Moore f (, I t t t ) O t g( t ) Budcí funkce tavový regstr Logka výstupů LKO LKO2 O C I AB4MI Mkroprocesory pro výkonové systémy 3 7
ynchronní FA autonomní f ( t t ) O t g( t ) Budcí funkce tavový regstr Logka výstupů LKO LKO2 O C AB4MI Mkroprocesory pro výkonové systémy 3 8
Forma popsu LO (FA) tavovým dagramem (tate dagram) forma orentovaného grafu oustavou rovnc Tabulkam přechodů a výstupů Některým programovacím jazykem Vyjmenováním všech posloupností vstupů a výstupů (TO NE) nepraktcké nepoužívá se, vstupní posloupnost může být nekonečné délky AB4MI Mkroprocesory pro výkonové systémy 3 9
Formy popsu FA typu Mealy tavový dagram Přechodová a výstupní funkce Přechod I / = / oučasný výskyt stavu a vstupu Přechod ze stavu v čase t do t+ Okamžté vytvoření výstupu : I / = / tav I / = / 2 I / = / I / = / I / = / I j k I I I I 2 I : I j O k : O : O I I : O I : O Vstup Výstup (umístěn u hran) 2 I 2 2 I I 2 : O I 2 : O AB4MI Mkroprocesory pro výkonové systémy 3
Formy popsu FA typu Mealy tavový dagram Tabulky přechodů a výstupů Přechod I / = / Tabulka přechodů I I I / = / I / = / 2 I / = / 2 2 I / = / 2 Tabulka výstupů tav Vstup I / = / Výstup (umístěn u hran) I I O O O O 2 O O AB4MI Mkroprocesory pro výkonové systémy 3
Formy popsu FA typu Moore tavový dagram Přechodová a výstupní funkce I oučasný výstkyt stavu a vstupu Přechod ze stavu v čase t do t+ Okamžté vytvoření výstupu : I I I j k : O k tav Vstup 3 I I I 2 I I Výstup (umístěn u uzlu) I I I I 2 2 I 2 2 I 3 3 I 3 I : O : O : O 2 : O 3 AB4MI Mkroprocesory pro výkonové systémy 3 2
Formy popsu FA typu Moore tavový dagram Tabulky přechodů a výstupů I Tabulka přechodů I I I I 2 3 I 2 3 2 I 3 I 2 I Tabulka výstupů O tav Vstup I Výstup (umístěn u uzlu) O O 2 O 3 O AB4MI Mkroprocesory pro výkonové systémy 3 3
Postup návrhu logckého sekvenčního obvodu (schema) Návrh obvodového řešení zápsem schematu Formulace zadání slovní pops tavový dagram (orentovaný graf přechodů a výstupů) Tabulky přechodů a výstupů Kódování vntřních stavů a výstupů Zakódované tabulky přechodů a výstupů Budící funkce a funkce výstupů Mnmalzace budící funkce a funkce výstupů (K mapy) Návrh z hradel (z požadovaných typů) schema [Logcká smulace] Realzace z hradel [Časová smulace po realzac (umístění do hradlového pole)] Výpočet (ověření) maxmální povolené frekvence synchronzačního sgnálu (následující přednáška) Ověření v aplkac AB4MI Mkroprocesory pro výkonové systémy 3 4
Postup návrhu logckého sekvenčního obvodu (HL) Návrh obvodového řešení zápsem v HL (VHL, Verlog) Formulace zadání slovní pops tavový dagram (orentovaný graf přechodů) Záps programu v HL (Hardware escrpton Language) yntéza zapojení (překlad programu v HL) [Logcká smulace] Realzace z hradel (z prostředků hradlového pole)(place & Route) [Časová smulace po realzac (umístění do hradlového pole)] Výpočet (ověření) maxmální povolené frekvence synchronzačního sgnálu (následující přednáška) Ověření v aplkac AB4MI Mkroprocesory pro výkonové systémy 3 5
AB4MI Mkroprocesory pro výkonové systémy 3 6 Paměťový člen záchytný regstr (Latch) R R!!! R Latch (NAN) R!!! R Latch (NOR) R!!! zakázaný stav
Paměťový člen záchytný regstr (Latch) R Clk X nezáleží R Latch (Clock enable) R Clk!!! X X!!! zakázaný stav AB4MI Mkroprocesory pro výkonové systémy 3 7
Paměťový člen záchytný regstr ( Latch) ymbol C Clk X nezáleží Latch (Clock enable) Clk X AB4MI Mkroprocesory pro výkonové systémy 3 8
Paměťový člen klopný obvod ( Flp-Flop) ymbol Clk záps řízený náběžnou hranou Flp-Flop Clk X X AB4MI Mkroprocesory pro výkonové systémy 3 9
Paměťový člen klopný obvod ( Flp-Flop) et ymbol ET CLR Clk Reset záps řízený náběžnou hranou asynchronní nulování/nastavení Flp-Flop Reset et Clk X X X X X X AB4MI Mkroprocesory pro výkonové systémy 3 2
ynchronní 2btový bnární čítač Navrhněte synchronní konečný automat (FA Fnte tate Automaton) typu čítač. Čítač čítá v bnárním kódu a je 2btový. Automat navrhněte s asynchronním nulováním. FA O (Outputs) 2 3 2 3 2 3 AB4MI Mkroprocesory pro výkonové systémy 3 2
ynchronní 2btový bnární čítač Co máme navrhnout? Budcí funkce tavový regstr Logka výstupů LKO LKO2 I C AB4MI Mkroprocesory pro výkonové systémy 3 22
ynchronní 2btový bnární čítač tavový dagram I Vstupy (Inputs) (nemá) O Výstupy (Outputs) -tý stav 2 3 2 3 2 3 3 3 Tabulka přechodů Tabulka výstupů + 2 O O 2 2 O 2 3 2 O 2 3 3 O 3 AB4MI Mkroprocesory pro výkonové systémy 3 23
ynchronní 2btový bnární čítač Tabulka přechodů + 2 2 3 3 Kódování stavů + Budcí funkce tavový regstr d d + d 2 d 2 3 3 Zpětná vazba AB4MI Mkroprocesory pro výkonové systémy 3 24
ynchronní 2btový bnární čítač Tabulka výstupů O I O O 2 O 2 3 O 3 Kódování výstupů O tavový regstr Logka výstupů d d y y y y O O O 2 O 2 3 O 3 = O AB4MI Mkroprocesory pro výkonové systémy 3 25
ynchronní 2btový bnární čítač Mnmalzace d d XOR 2 3 d 2 3 d y y AB4MI Mkroprocesory pro výkonové systémy 3 26
ynchronní 2btový bnární čítač Realzace d ET CLR y d ET y CLR reset AB4MI Mkroprocesory pro výkonové systémy 3 27
ynchronní 2btový bnární čítač Co jsme navrhl? Budcí funkce tavový regstr Logka výstupů LKO LKO2 C AB4MI Mkroprocesory pro výkonové systémy 3 28
Co jsme navrhl? ynchronní 2btový bnární čítač Budící funkce tavový regstr Logka výstupů d ET CLR y d ET y CLR reset LKO LKO2 AB4MI Mkroprocesory pro výkonové systémy 3 29
etektor posloupnost btů (FA typu Moore) Navrhněte synchronní konečný automat (FA Fnte tate Automaton), který v proudu vstupních btů detekuje posloupnost. Př detekc každé takové posloupnost automat vyšle na výstupu mpuls. Automat navrhněte s asynchronním nulováním. I (Inputs) x FA (Moore) O (Outputs) y x y AB4MI Mkroprocesory pro výkonové systémy 3 3
etektor posloupnost btů (FA typu Moore) Co máme navrhnout? Budcí funkce tavový regstr Logka výstupů LKO LKO2 I C AB4MI Mkroprocesory pro výkonové systémy 3 3
etektor posloupnost btů (FA typu Moore) tavový dagram I Vstupy (Inputs) O Výstupy (Outputs) -tý stav I I x y I 3 I Tabulka přechodů I Tabulka výstupů I I O 2 I 2 I O O 2 3 2 2 O 3 I 3 O AB4MI Mkroprocesory pro výkonové systémy 3 32
etektor posloupnost btů (FA typu Moore) Tabulka přechodů I I 2 2 3 2 3 Kódování stavů I + x d d + x Budcí funkce tavový regstr 2 d d 2 3 2 Zpětná vazba 3 AB4MI Mkroprocesory pro výkonové systémy 3 33
etektor posloupnost btů (FA typu Moore) Tabulka výstupů O I O O 2 O 3 O Kódování Výstupů y tavový regstr Logka výstupů 2 d d y 3 AB4MI Mkroprocesory pro výkonové systémy 3 34
AB4MI Mkroprocesory pro výkonové systémy 3 35 etektor posloupnost btů (FA typu Moore) 4 5 6 7 3 2 d x d 4 5 6 7 3 2 x x d y x x x x x d ) ( Mnmalzace
etektor posloupnost btů (FA typu Moore) Realzace d ET CLR x d ET y CLR reset AB4MI Mkroprocesory pro výkonové systémy 3 36
etektor posloupnost btů (FA typu Moore) Co jsme navrhl? Budcí funkce tavový regstr Logka výstupů LKO LKO2 I C AB4MI Mkroprocesory pro výkonové systémy 3 37
etektor posloupnost btů (FA typu Moore) Co jsme navrhl? Budící funkce tavový regstr Logka výstupů d ET CLR x d ET y CLR reset LKO LKO2 AB4MI Mkroprocesory pro výkonové systémy 3 38
etektor posloupnost btů (FA typu Moore) nt cbttream3ecoder(nt x_n, nt reset){ // Moore type FA, // Inputs: x_n, reset, Outputs: y_out enum {s,s,s2,s3}; statc nt statereg=s, nexttate=s, y_out; f(reset == TRUE){ statereg = s; nexttate = s; x_n = ; } y_out = ; statereg = nexttate; swtch(statereg){ case s: f(x_n == ); f(x_n == ) nexttate = s; break; case s: f(x_n == ) nexttate = s; f(x_n == ) nexttate = s2; break; case s2: f(x_n == ) nexttate = s3; f(x_n == ); break; case s3: y_out = ; f(x_n == ) nexttate = s; f(x_n == ) nexttate = s; break; default: // Error secton y_out = ; nexttate = s; }// swtch() EN return(y_out); }// cbttream3ecoder() EN C AB4MI Mkroprocesory pro výkonové systémy 3 39
etektor posloupnost btů (FA typu Moore) class JBttream3ecoder { fnal nt s =, s =, s2 = 2, s3 = 3; nt statereg = s, nexttate = s; nt yout = ; publc JBttream3ecoder() {// Constructor // empty } vod setfsareset (boolean reset){ statereg = s; nexttate = s; yout = ; } nt jbttream3ecoder(nt xin) { // Moore type FA // Inputs: xin, reset, Outputs: y_out yout = ; statereg = nexttate; swtch (statereg) { case s: f (xin == ); f (xin == ) nexttate = s; break; case s: f (xin == ) nexttate = s; f (xin == ) nexttate = s2; break; case s2: f (xin == ) nexttate = s3; f (xin == ); break; case s3: yout = ; f (xin == ) nexttate = s; f (xin == ) nexttate = s; break; default: // Error secton yout = ; nexttate = s; }// swtch() EN return (yout); }// jbttream3ecoder() EN }// JBttream3ecoder class EN Java AB4MI Mkroprocesory pro výkonové systémy 3 4
etektor posloupnost btů (FA typu Moore) entty vbttream3ecoder s Port ( : n T_LOGIC; x_n : n T_LOGIC; y_out : out T_LOGIC; reset : n T_LOGIC; : out std_logc_vector( downto ) ); end vbttream3ecoder; archtecture Behavoral of vbttream3ecoder s type states s (s,s2,s3,s4); sgnal statereg, nexttate: states:= s; begn -- FA - Fnte tate Machne process(, reset) begn f reset = '' then statereg <= s; elsf 'event and = '' then statereg <= nexttate; end f; end process; process(statereg, x_n) -- tate dagram defnton begn nexttate <= statereg; case statereg s when s => f x_n = '' then nexttate <= s2; end f; when s2 => f x_n = '' then nexttate <= s; elsf x_n = '' then nexttate <= s3; end f; when s3 => f x_n = '' then nexttate <= s3; elsf x_n = '' then nexttate <= s4; end f; when s4 => f x_n = '' then nexttate <= s2; elsf x_n = '' then nexttate <= s; end f; VHL when others => nexttate <= statereg; end case; end process; process(statereg) -- Output functon begn case statereg s when s => y_out <= ''; when s2 => y_out <= ''; when s3 => y_out <= ''; when s4 => y_out <= ''; when others => null; end case; end process; end Behavoral; AB4MI Mkroprocesory pro výkonové systémy 3 4
etektor posloupnost btů (FA typu Mealy) Navrhněte synchronní konečný automat (FA Fnte tate Automaton), který v proudu vstupních btů detekuje posloupnost. Př detekc každé takové posloupnost automat vyšle na výstupu mpuls. Automat navrhněte s asynchronním nulováním. I (Inputs) x FA (Mealy) O (Outputs) y x y AB4MI Mkroprocesory pro výkonové systémy 3 42
etektor posloupnost btů (FA typu Mealy) Co máme navrhnout? Budcí funkce tavový regstr Logka výstupů LKO LKO2 C I Budcí funkce tavový regstr Logka výstupů FA Mealy LKO LKO2 rovnej vs FA Moore I C AB4MI Mkroprocesory pro výkonové systémy 3 43
etektor posloupnost btů (FA typu Mealy) tavový dagram I Vstupy (Inputs) O Výstupy (Outputs) -tý stav I / = / I / = / x y I / = / I / = / I / = / 2 Tabulka přechodů I I 2 2 2 I / = / Tabulka výstupů I I O O O O 2 O O AB4MI Mkroprocesory pro výkonové systémy 3 44
etektor posloupnost btů (FA typu Mealy) Tabulka přechodů I I 2 2 2 Kódování stavů I + x d d + x Budcí funkce tavový regstr d d 2 2 2 Zpětná vazba AB4MI Mkroprocesory pro výkonové systémy 3 45
etektor posloupnost btů (FA typu Mealy) Tabulka výstupů I I O O O O 2 O O I O Kódování výstupů tavový regstr Logka výstupů d x y d y x 2 AB4MI Mkroprocesory pro výkonové systémy 3 46
etektor posloupnost btů (FA typu Mealy) d x d x 4 5 7 6 3 2 3 2 4 5 7 6 d x x d x Mnmalzace y x 3 2 4 5 7 6 y x AB4MI Mkroprocesory pro výkonové systémy 3 47
etektor posloupnost btů (FA typu Mealy) Realzace d ET CLR x d ET y CLR reset AB4MI Mkroprocesory pro výkonové systémy 3 48
etektor posloupnost btů (FA typu Mealy) Co jsme navrhl? Budcí funkce tavový regstr Logka výstupů LKO LKO2 C I AB4MI Mkroprocesory pro výkonové systémy 3 49
etektor posloupnost btů (FA typu Mealy) Co jsme navrhl? Budící funkce tavový regstr Logka výstupů d ET CLR x d ET y CLR reset LKO LKO2 AB4MI Mkroprocesory pro výkonové systémy 3 5
Časování výpočet maxmální hodnové frekvence Ovlvněno: Technologí Typy hradel Počtem vstupů u hradel Zatížením výstupů hradel (větvením) Typem klopných obvodů élkou propojovacích vodčů (na plošném spoj, ) Vzájemnou polohou vodčů (kvalta 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ů alším vlvy.. Podrobnost další přednášku AB4MI Mkroprocesory pro výkonové systémy 3 5
MIKROPROCEORY PRO VÝKONOVÉ YTÉMY MIKROPROCEORY PRO VÝKONOVÉ YTÉMY Logcké obvody - sekvenční Formy popsu, konečný automat Příklady návrhu KONEC České vysoké učení techncké Fakulta elektrotechncká AB4MI Mkroprocesory pro výkonové systémy 3 52