You are on page 1of 2

Sekvenční obvod může mít dva vstupní stavy (I0 a I1).

Pokud je dvakrát po sobě I0, je


výstupní stav O1, jinak je vždy O0. Řešte jako Mooreho automat.

Z počátečního stavu S0 se přejde při I0 do stavu S1, odtud při I0 do S2 (sekvence I0I0) a
výstupní stav se změní na O1. Při dalším I0 se ve stavu S2 setrvá (sekvence I0I0I0). Při I1 se
vždy přejde do počátečního stavu (není splněno I0I0).

O0
I1 I0
O0 S1

S0 I1
počáteční
stav I0

I1 O1
S2

I0

ROVNICE

stavové: výstupní (Moore):

1. S0 & I0 → S1
2. S0 & I1 → S0 1. S0 : O0
3. S1 & I0 → S2 2. S1 : O0
4. S1 & I1 → S0 3. S2 : O1
5. S2 & I0 → S2
6. S2 & I1 → S0

SIGNÁLY

vstupní ..... x vnitřní ...... Q1, Q0 výstupní ... y


(2 vstupní stavy) (3 vnitřní stavy) (2 výstupní stavy)

KÓDY (zvoleno)
negace jsou značeny jako /
vstupní vnitřní výstupní

I0 ... /x S0 ... /Q1 /Q0 O0 ... /y


I1 ... x S1 ... /Q1 Q0 O1 ... y
S2 ... Q1 /Q0
Dosazení kódů do rovnic

stavové rovnice: výstupní rovnice:

1. /Q1 /Q0 . /x → /Q1 Q0


2. /Q1 /Q0 . x → /Q1 /Q0 1. /Q1 /Q0 : /y
3. /Q1 Q0 . /x → Q1 /Q0 2. /Q1 Q0 : /y
4. /Q1 Q0 . x → /Q1 /Q0 3. Q1 /Q0 : y
5. Q1 /Q0 . /x → Q1 /Q0
6. Q1 /Q0 . x → /Q1 /Q0

Volba klopných obvodů: zvolíme obvody D (synchronní)

Nalezení budících funkcí:


Na vstupu D musí být stav 1, přechází-li Q z 0 do 1 nebo z 1 do 1 (tedy /Q → Q, Q → Q).
Budící funkci D budeme předpokládat v součtové formě, takže hledáme všechny případy, kdy
má být D=1.

D0 = /Q1 /Q0 . /x ......... z řádky 1 stavových rovnic


D1 = /Q1 Q0 . /x + Q1 /Q0 . /x ......... z řádek 3 a 5 stavových rovnic
možná úprava: D1 = /x (/Q1 Q0 + Q1 /Q0) = /x (Q1 ⊕ Q0)

Nalezení výstupních funkcí:


Výstupní funkci y budeme předpokládat v součtové formě, takže hledáme všechny případy,
kdy má být y = 1.

y = Q1 /Q0 ......... z řádky 3 výstupních rovnic

D1 D0

D Q Q0
_
Clk Q /Q0

D Q Q1
_
Clk Q /Q1

CLK

You might also like