Struktura a archtektura počítačů Logcké obvody - sekvenční Formy popsu, konečný automat Příklady návrhu České vysoké učení techncké Fakulta elektrotechncká Ver..2 J. Zděnek 24
Logcký sekvenční obvod Logcký sekvenční obvod (LSO) 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 LSO S y 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 (LSO má vntřní paměť) A7B4SAP Struktura a archtektura počítačů 2
Konečný automat (FSA), přechodová a výstupní funkce Abstraktní model sekvenčního obvodu konečný automat (FSA Fnte State Automaton nebo také FSM Fnte State 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, S, O k j Přechodová funkce: t+ t S = f ( S, I t ), S t+ t S, I t vntřní následující, vntřní a vstupní současný stav Výstupní funkce: t t t O = g( S, I ) t t O S,, I t výstupní, vntřní a vstupní současný stav A7B4SAP Struktura a archtektura počítačů 3
Obecný model logckého sekvenčního obvodu (Huffmann) LSO - Logcký sekvenční obvod t t t O = g( S, I ) I,, Logcký kombnační obvod O y,,y j t+ t t S = f ( S, I ) S Paměťová část,, k A7B4SAP Struktura a archtektura počítačů 4
Rozdělení LSO Podle časové reakce na změnu vstupních proměnných Asynchronní změna stavu LSO 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ů LSO). Synchronní změna stavu LSO synchronzována vnějším synchronzačním mpulsy (tzv. hodny, clock). LSO jsou navrhovány většnou jako synchronní snadnější kontrola vntřních sgnálů LSO. Podle způsobu výpočtu přechodové a výstupní funkce LKO Automat typu Mealy Automat typu Moore Autonomní automat (např. čítače, ) t+ t t S = f ( S, I ) t+ t S = f ( S, I t ) t+ t S = f ( S ) t t t O = g( S, I ) O t = g( t S ) O t = g( t S ) A7B4SAP Struktura a archtektura počítačů 5
Synchronní FSA typu Mealy t+ t S = f ( S, I t ) t t t O = g( S, I ) Budcí funkce Stavový regstr Logka výstupů LKO LKO2 O C I A7B4SAP Struktura a archtektura počítačů 6
Synchronní FSA typu Moore t+ t S = f ( S, I t ) O t = g( t S ) Budcí funkce Stavový regstr Logka výstupů LKO LKO2 O C I A7B4SAP Struktura a archtektura počítačů 7
Synchronní FSA autonomní t+ t S = f ( S ) O t = g( t S ) Budcí funkce Stavový regstr Logka výstupů LKO LKO2 O C A7B4SAP Struktura a archtektura počítačů 8
Forma popsu LSO (FSA) Stavovým dagramem (State dagram) forma orentovaného grafu Soustavou 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 A7B4SAP Struktura a archtektura počítačů 9
Formy popsu FSA typu Mealy Přechod I / = / Stav Stavový dagram I / = / Vstup S 2 I / = / S I / = / I / = / S I / = / Výstup (umístěn u hran) Přechodová a výstupní funkce Současný výskyt stavu a vstupu Přechod ze stavu v čase t do t+ Okamžté vytvoření výstupu S α I S j S α I S k S α I S S α S S S I S α I S2 2 α I S2 2 α I S S α I : O S α I j α : k : O : O S α I S α I : O S α I : O S α I 2 : O S α I 2 : O A7B4SAP Struktura a archtektura počítačů
Formy popsu FSA typu Mealy Stavový dagram Tabulky přechodů a výstupů Přechod I / = / Tabulka přechodů S I I I / = / S I / = / S S S S S S 2 I / = / S 2 S S 2 I / = / S 2 S Tabulka výstupů Stav Vstup I / = / Výstup (umístěn u hran) S I I S O O S O O S 2 O O A7B4SAP Struktura a archtektura počítačů
Formy popsu FSA typu Moore Stavový dagram Stav Vstup I S I S 3 I I I S 2 I I I S Výstup (umístěn u uzlu) Přechodová a výstupní funkce Současný výstkyt stavu a vstupu Přechod ze stavu v čase t do t+ Okamžté vytvoření výstupu S α I S S S S S S S S S j k α I S α I S α I S α I S2 2 α I S2 2 α I S3 3 α I S 3 α I S S : O k S : O S : O S 2 : O S 3 : O α : A7B4SAP Struktura a archtektura počítačů 2
Formy popsu FSA typu Moore Stavový dagram Tabulky přechodů a výstupů I Tabulka přechodů S I I I S I S S S S S S 2 S 3 I S S 2 S 3 S 2 I S 3 S S I S 2 I Tabulka výstupů S O Stav Vstup I Výstup (umístěn u uzlu) S O S O S 2 O S 3 O A7B4SAP Struktura a archtektura počítačů 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 Stavový 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í) mamální povolené frekvence synchronzačního sgnálu (následující přednáška) Ověření v aplkac A7B4SAP Struktura a archtektura počítačů 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 Stavový dagram (orentovaný graf přechodů) Záps programu v HL (Hardware escrpton Language) Synté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í) mamální povolené frekvence synchronzačního sgnálu (následující přednáška) Ověření v aplkac A7B4SAP Struktura a archtektura počítačů 5
A7B4SAP Struktura a archtektura počítačů 6 Paměťový člen záchytný regstr (Latch) R S R S!!! R S Latch (NAN) R S +!!! R S Latch (NOR) R S +!!! zakázaný stav
Paměťový člen záchytný regstr (Latch) S R Clk X nezáleží R S Latch (Clock enable) R S Clk!!! X X +!!! zakázaný stav A7B4SAP Struktura a archtektura počítačů 7
Paměťový člen záchytný regstr ( Latch) Symbol C Clk Latch (Clock enable) Clk X + X nezáleží A7B4SAP Struktura a archtektura počítačů 8
Paměťový člen klopný obvod ( Flp-Flop) Symbol Clk záps řízený náběžnou hranou Flp-Flop Clk X X + A7B4SAP Struktura a archtektura počítačů 9
Paměťový člen klopný obvod ( Flp-Flop) Set Symbol SET CLR Clk Reset záps řízený náběžnou hranou asynchronní nulování/nastavení Flp-Flop Reset Set Clk X X X X X X + A7B4SAP Struktura a archtektura počítačů 2
Synchronní 2btový bnární čítač Navrhněte synchronní konečný automat (FSA Fnte State Automaton) typu čítač. Čítač čítá v bnárním kódu a je 2btový. Automat navrhněte s asynchronním nulováním. FSA S O (Outputs) 2 3 2 3 2 3 A7B4SAP Struktura a archtektura počítačů 2
Synchronní 2btový bnární čítač Co máme navrhnout? Budcí funkce Stavový regstr Logka výstupů LKO LKO2 I C A7B4SAP Struktura a archtektura počítačů 22
Synchronní 2btový bnární čítač Stavový dagram I Vstupy (Inputs) (nemá) O Výstupy (Outputs) S -tý stav S 2 3 2 3 2 3 3 S 3 S Tabulka přechodů Tabulka výstupů S S + S 2 S O S S S O S S 2 2 S O S 2 S 3 S 2 O 2 S 3 S S 3 O 3 A7B4SAP Struktura a archtektura počítačů 23
Synchronní 2btový bnární čítač Tabulka přechodů S S + S S S S 2 S 2 S 3 S 3 S Kódování stavů S S + Budcí funkce Stavový regstr S d d S + S S! d S! S 2 d S 2 S 3 S 3 S Zpětná vazba A7B4SAP Struktura a archtektura počítačů 24
Synchronní 2btový bnární čítač Tabulka výstupů S O I S O S O S 2 O 2 S 3 O 3 S Kódování výstupů O Stavový regstr Logka výstupů d d y y S y y O S O S! O S 2 O 2 S 3 O 3 S = O A7B4SAP Struktura a archtektura počítačů 25
Synchronní 2btový bnární čítač Mnmalzace d d = + = XOR 2 3 d 2 3 d = y = y = A7B4SAP Struktura a archtektura počítačů 26
Synchronní 2btový bnární čítač Realzace d SET CLR y d SET y CLR reset A7B4SAP Struktura a archtektura počítačů 27
Synchronní 2btový bnární čítač Co jsme navrhl? Budcí funkce Stavový regstr Logka výstupů LKO LKO2 C A7B4SAP Struktura a archtektura počítačů 28
Co jsme navrhl? Synchronní 2btový bnární čítač Budící funkce Stavový regstr Logka výstupů d SET CLR y d SET y CLR reset LKO LKO2 A7B4SAP Struktura a archtektura počítačů 29
etektor posloupnost btů (FSA typu Moore) Navrhněte synchronní konečný automat (FSA Fnte State 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) FSA S (Moore) O (Outputs) y y A7B4SAP Struktura a archtektura počítačů 3
etektor posloupnost btů (FSA typu Moore) Co máme navrhnout? Budcí funkce Stavový regstr Logka výstupů LKO LKO2 I C A7B4SAP Struktura a archtektura počítačů 3
etektor posloupnost btů (FSA typu Moore) Stavový dagram I Vstupy (Inputs) O Výstupy (Outputs) S -tý stav I I S y I S 3 I S Tabulka přechodů I Tabulka výstupů S I I S O S S S S S S 2 I S 2 I S O S O S 2 S 3 S 2 S 2 O S 3 S S I S 3 O A7B4SAP Struktura a archtektura počítačů 32
etektor posloupnost btů (FSA typu Moore) Tabulka přechodů S I I S S S S S S 2 S 2 S 3 S 2 S 3 S S Kódování stavů S I S + S d d S + S S S! Budcí funkce Stavový regstr S S S 2 d d S 2 S 3 S 2 Zpětná vazba S 3 S S! A7B4SAP Struktura a archtektura počítačů 33
etektor posloupnost btů (FSA typu Moore) Tabulka výstupů S O I S O S O S 2 O S 3 O Kódování Výstupů S y S S Stavový regstr Logka výstupů S 2 d d y S 3 A7B4SAP Struktura a archtektura počítačů 34
A7B4SAP Struktura a archtektura počítačů 35 etektor posloupnost btů (FSA typu Moore) 4 5 6 7 3 2 d d 4 5 6 7 3 2 d + = y= d ) ( + + = = + + = Mnmalzace
etektor posloupnost btů (FSA typu Moore) Realzace d SET CLR d SET y CLR reset A7B4SAP Struktura a archtektura počítačů 36
etektor posloupnost btů (FSA typu Moore) Co jsme navrhl? Budcí funkce Stavový regstr Logka výstupů LKO LKO2 I C A7B4SAP Struktura a archtektura počítačů 37
etektor posloupnost btů (FSA typu Moore) Co jsme navrhl? Budící funkce Stavový regstr Logka výstupů d SET CLR d SET y CLR reset LKO LKO2 A7B4SAP Struktura a archtektura počítačů 38
etektor posloupnost btů (FSA typu Moore) nt cbtstream3ecoder(nt _n, nt reset){ // Moore type FSA, // Inputs: _n, reset, Outputs: y_out enum {s,s,s2,s3}; statc nt statereg=s, netstate=s, y_out; f(reset == TRUE){ statereg = s; netstate = s; _n = ; } y_out = ; statereg = netstate; swtch(statereg){ case s: f(_n == ); f(_n == ) netstate = s; break; case s: f(_n == ) netstate = s; f(_n == ) netstate = s2; break; case s2: f(_n == ) netstate = s3; f(_n == ); break; case s3: y_out = ; f(_n == ) netstate = s; f(_n == ) netstate = s; break; default: // Error secton y_out = ; netstate = s; }// swtch() EN return(y_out); }// cbtstream3ecoder() EN C A7B4SAP Struktura a archtektura počítačů 39
etektor posloupnost btů (FSA typu Moore) class JBtStream3ecoder { fnal nt s =, s =, s2 = 2, s3 = 3; nt statereg = s, netstate = s; nt yout = ; publc JBtStream3ecoder() {// Constructor // empty } vod setfsareset (boolean reset){ statereg = s; netstate = s; yout = ; } nt jbtstream3ecoder(nt In) { // Moore type FSA // Inputs: In, reset, Outputs: y_out yout = ; statereg = netstate; swtch (statereg) { case s: f (In == ); f (In == ) netstate = s; break; case s: f (In == ) netstate = s; f (In == ) netstate = s2; break; case s2: f (In == ) netstate = s3; f (In == ); break; case s3: yout = ; f (In == ) netstate = s; f (In == ) netstate = s; break; default: // Error secton yout = ; netstate = s; }// swtch() EN return (yout); }// jbtstream3ecoder() EN }// JBtStream3ecoder class EN Java A7B4SAP Struktura a archtektura počítačů 4
etektor posloupnost btů (FSA typu Moore) entty vbtstream3ecoder s Port ( : n ST_LOGIC; _n : n ST_LOGIC; y_out : out ST_LOGIC; reset : n ST_LOGIC; : out std_logc_vector( downto ) ); end vbtstream3ecoder; archtecture Behavoral of vbtstream3ecoder s type states s (s,s2,s3,s4); sgnal statereg, netstate: states:= s; begn -- FSA - Fnte State Machne process(, reset) begn f reset = '' then statereg <= s; elsf 'event and = '' then statereg <= netstate; end f; end process; process(statereg, _n) -- State dagram defnton begn netstate <= statereg; case statereg s when s => f _n = '' then netstate <= s2; end f; when s2 => f _n = '' then netstate <= s; elsf _n = '' then netstate <= s3; end f; when s3 => f _n = '' then netstate <= s3; elsf _n = '' then netstate <= s4; end f; when s4 => f _n = '' then netstate <= s2; elsf _n = '' then netstate <= s; end f; VHL when others => netstate <= 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; A7B4SAP Struktura a archtektura počítačů 4
etektor posloupnost btů (FSA typu Mealy) Navrhněte synchronní konečný automat (FSA Fnte State 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) FSA S (Mealy) O (Outputs) y y A7B4SAP Struktura a archtektura počítačů 42
etektor posloupnost btů (FSA typu Mealy) Co máme navrhnout? Budcí funkce Stavový regstr Logka výstupů LKO LKO2 C I Budcí funkce Stavový regstr Logka výstupů FSA Mealy LKO LKO2 Srovnej vs FSA Moore I C A7B4SAP Struktura a archtektura počítačů 43
etektor posloupnost btů (FSA typu Mealy) Stavový dagram I Vstupy (Inputs) O Výstupy (Outputs) S -tý stav I / = / I / = / S y I / = / I / = / I / = / S 2 S Tabulka přechodů S I I S S S S S S 2 S 2 S S 2 I / = / Tabulka výstupů S I I S O O S O O S 2 O O A7B4SAP Struktura a archtektura počítačů 44
etektor posloupnost btů (FSA typu Mealy) Tabulka přechodů S I I S S S S S S 2 S 2 S S 2 Kódování stavů S I S + S d d S + Budcí funkce Stavový regstr S S S! d d S S S 2 S 2 S S 2 Zpětná vazba A7B4SAP Struktura a archtektura počítačů 45
etektor posloupnost btů (FSA typu Mealy) Tabulka výstupů S I I S O O S O O S 2 O O S I O Kódování výstupů Stavový regstr Logka výstupů d S y S d y S S 2 A7B4SAP Struktura a archtektura počítačů 46
etektor posloupnost btů (FSA typu Mealy) d d 4 5 7 6 3 2 3 2 4 5 7 6 = d + d = Mnmalzace y 3 2 4 5 7 6 y= A7B4SAP Struktura a archtektura počítačů 47
etektor posloupnost btů (FSA typu Mealy) Realzace d SET CLR d SET y CLR reset A7B4SAP Struktura a archtektura počítačů 48
etektor posloupnost btů (FSA typu Mealy) Co jsme navrhl? Budcí funkce Stavový regstr Logka výstupů LKO LKO2 C I A7B4SAP Struktura a archtektura počítačů 49
etektor posloupnost btů (FSA typu Mealy) Co jsme navrhl? Budící funkce Stavový regstr Logka výstupů d SET CLR d SET y CLR reset LKO LKO2 A7B4SAP Struktura a archtektura počítačů 5
Časování výpočet mamá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 A7B4SAP Struktura a archtektura počítačů 5
Struktura a archtektura počítačů Logcké obvody - sekvenční Formy popsu, konečný automat Příklady návrhu KONEC České vysoké učení techncké Fakulta elektrotechncká A7B4SAP Struktura a archtektura počítačů 52