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..3 J. Zděnek, 24
Logcký sekvenční obvod Logcký sekvenční obvod (LO) popsán stavovým dagramem, rovncem, tabulkam, HDL jazykem Vstupní, výstupní vnřní (q ) proměnné nabývají pouze hodnot nebo Vstupní stav I O Výstupní stav x y q x n q 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ů Danou 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 q,,q 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 ) AB4MI Mkroprocesory pro výkonové systémy 3 6
ynchronní FA typu Moore = f (, I t+ t t ) O t = g( t ) AB4MI Mkroprocesory pro výkonové systémy 3 7
ynchronní FA autonomní = f ( t+ t ) O t = g( t ) 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 Přechod I / = / tav tavový dagram I / = / Vstup I / = / I / = / I / = / I / = / Výstup (umístěn u hran) Přechodová a výstupní funkce oučasný výskyt stavu a vstupu Přechod ze stavu v čase t do t+ Okamžté vytvoření výstupu α I α j k I α I α I α I 2 α 2 I 2 α 2 I α I : α I j α : O k : O : O α I α I : O α I : O α 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 / = / I / = / I / = / I / = / Tabulka přechodů I I I / = / Tabulka výstupů tav Vstup I / = / Výstup (umístěn u hran) I I O O O O O O AB4MI Mkroprocesory pro výkonové systémy 3
Formy popsu FA typu Moore tav tavový dagram Vstup Výstup (umístěn u uzlu) Přechodová a výstupní funkce oučasný výstkyt stavu a vstupu Přechod ze stavu v čase t do t+ Okamžté vytvoření výstupu α I j k α I α I α I α I 2 2 α I 2 2 α I 3 3 α I 3 α I : O k : O : O : O 3 : O α : AB4MI Mkroprocesory pro výkonové systémy 3 2
Formy popsu FA typu Moore tavový dagram Tabulky přechodů a výstupů Tabulka přechodů I I 3 3 Tabulka výstupů O tav Vstup Výstup (umístěn u uzlu) O O 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 (HDL) Návrh obvodového řešení zápsem v HDL (VHDL, Verlog) Formulace zadání slovní pops tavový dagram (orentovaný graf přechodů) Záps programu v HDL (Hardware Descrpton Language) yntéza zapojení (překlad programu v HDL) [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 Q Q Q Q R!!! R Latch (NAND) R Q Q +!!! R Latch (NOR) R Q Q +!!! zakázaný stav
Paměťový člen záchytný regstr (Latch) Q R Clk Q R Latch (Clock enable) R Clk Q + Q X nezáleží X X!!! Q!!! zakázaný stav AB4MI Mkroprocesory pro výkonové systémy 3 7
Paměťový člen záchytný regstr (D Latch) D Q ymbol Q Clk D Latch (Clock enable) Clk D Q + X Q X nezáleží AB4MI Mkroprocesory pro výkonové systémy 3 8
Paměťový člen D klopný obvod (D Flp-Flop) ymbol Q Q D Clk záps řízený náběžnou hranou D Flp-Flop Clk D X X Q + Q Q AB4MI Mkroprocesory pro výkonové systémy 3 9
Paměťový člen D klopný obvod (D Flp-Flop) et ymbol Q Q D Clk Reset záps řízený náběžnou hranou D Flp-Flop Reset et D X X X Clk X Q + Q Q asynchronní nulování/nastavení 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. AB4MI Mkroprocesory pro výkonové systémy 3 2
ynchronní 2btový bnární čítač Co máme navrhnout? 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 Tabulka přechodů + 3 3 Tabulka výstupů O O O O 2 3 O 3 AB4MI Mkroprocesory pro výkonové systémy 3 23
ynchronní 2btový bnární čítač Tabulka přechodů + 3 3 Kódování stavů + q q d d + 3 3 AB4MI Mkroprocesory pro výkonové systémy 3 24
ynchronní 2btový bnární čítač Tabulka výstupů O I O O O 2 3 O 3 Kódování výstupů O q q y y O O O O 2 3 O 3 = O AB4MI Mkroprocesory pro výkonové systémy 3 25
ynchronní 2btový bnární čítač Mnmalzace d q 2 3 d = q q + q q = XOR q d q 2 3 d = q q y = q y = q AB4MI Mkroprocesory pro výkonové systémy 3 26
ynchronní 2btový bnární čítač Realzace AB4MI Mkroprocesory pro výkonové systémy 3 27
ynchronní 2btový bnární čítač Co jsme navrhl? 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ů LKO LKO2 AB4MI Mkroprocesory pro výkonové systémy 3 29
Detektor 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. (Moore) AB4MI Mkroprocesory pro výkonové systémy 3 3
Detektor posloupnost btů (FA typu Moore) Co máme navrhnout? AB4MI Mkroprocesory pro výkonové systémy 3 3
Detektor posloupnost btů (FA typu Moore) tavový dagram I Vstupy (Inputs) O Výstupy (Outputs) -tý stav Tabulka přechodů I I 3 3 Tabulka výstupů O O O O 3 O AB4MI Mkroprocesory pro výkonové systémy 3 32
Detektor posloupnost btů (FA typu Moore) Tabulka přechodů I I 3 3 Kódování stavů 3 q I + q x d d + 3 AB4MI Mkroprocesory pro výkonové systémy 3 33
Detektor posloupnost btů (FA typu Moore) Tabulka výstupů O I O O O 3 O Kódování Výstupů y 3 AB4MI Mkroprocesory pro výkonové systémy 3 34
AB4MI Mkroprocesory pro výkonové systémy 3 35 Detektor posloupnost btů (FA typu Moore) 4 5 6 7 3 2 d x q q d 4 5 6 7 3 2 x q q x q q q q d + = y = q q x q q q q q q x x q q x q q x q q d ) ( + + = = + + = Mnmalzace
Detektor posloupnost btů (FA typu Moore) Realzace AB4MI Mkroprocesory pro výkonové systémy 3 36
Detektor posloupnost btů (FA typu Moore) Co jsme navrhl? AB4MI Mkroprocesory pro výkonové systémy 3 37
Detektor posloupnost btů (FA typu Moore) Co jsme navrhl? Budící funkce tavový regstr Logka výstupů LKO LKO2 AB4MI Mkroprocesory pro výkonové systémy 3 38
Detektor posloupnost btů (FA typu Moore) nt cbttream3decoder(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() END return(y_out); }// cbttream3decoder() END C AB4MI Mkroprocesory pro výkonové systémy 3 39
Detektor posloupnost btů (FA typu Moore) class JBttream3Decoder { fnal nt s =, s =, s2 = 2, s3 = 3; nt statereg = s, nexttate = s; nt yout = ; publc JBttream3Decoder() {// Constructor // empty } vod setfsareset (boolean reset){ statereg = s; nexttate = s; yout = ; } nt jbttream3decoder(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() END return (yout); }// jbttream3decoder() END }// JBttream3Decoder class END Java AB4MI Mkroprocesory pro výkonové systémy 3 4
Detektor posloupnost btů (FA typu Moore) entty vbttream3decoder s Port ( clk : n TD_LOGIC; x_n : n TD_LOGIC; y_out : out TD_LOGIC; reset : n TD_LOGIC; q : out std_logc_vector( downto ) ); end vbttream3decoder; archtecture Behavoral of vbttream3decoder s type states s (s,s2,s3,s4); sgnal statereg, nexttate: states:= s; begn -- FA - Fnte tate Machne process(clk, reset) begn f reset = '' then statereg <= s; elsf clk'event and clk = '' 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; VHDL 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
Detektor 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. (Mealy) clk x y AB4MI Mkroprocesory pro výkonové systémy 3 42
Detektor posloupnost btů (FA typu Mealy) Co máme navrhnout? FA Mealy rovnej vs FA Moore AB4MI Mkroprocesory pro výkonové systémy 3 43
Detektor posloupnost btů (FA typu Mealy) tavový dagram I / = / I Vstupy (Inputs) O Výstupy (Outputs) -tý stav I / = / I / = / I / = / I / = / Tabulka přechodů I I I / = / Tabulka výstupů I I O O O O O O AB4MI Mkroprocesory pro výkonové systémy 3 44
Detektor posloupnost btů (FA typu Mealy) Tabulka přechodů I I Kódování stavů q I + q x d d + AB4MI Mkroprocesory pro výkonové systémy 3 45
Detektor posloupnost btů (FA typu Mealy) Tabulka výstupů I I O O O O O O I O Kódování výstupů q q x y tavový regstr Logka výstupů q d D Q d clk D Q q y x AB4MI Mkroprocesory pro výkonové systémy 3 46
Detektor posloupnost btů (FA typu Mealy) d x d x 4 5 7 6 3 2 3 2 4 5 7 6 q q q q d = qx + qx d = q q x Mnmalzace y q q x 3 2 4 5 7 6 y = q q x AB4MI Mkroprocesory pro výkonové systémy 3 47
Detektor posloupnost btů (FA typu Mealy) Realzace AB4MI Mkroprocesory pro výkonové systémy 3 48
Detektor posloupnost btů (FA typu Mealy) Co jsme navrhl? AB4MI Mkroprocesory pro výkonové systémy 3 49
Detektor posloupnost btů (FA typu Mealy) Co jsme navrhl? Budící funkce tavový regstr Logka výstupů 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ů Dé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ů Další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