Automat Moore’a: Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
m integracja szablonu "źródła" z "dopracować" |
m WP:SK, drobne redakcyjne |
||
Linia 1:
{{Dopracować|źródła=2013-09|styl}}
{{Definicja|'''Automat Moore'a''' − automat, którego wyjście jest funkcją wyłącznie stanu wewnętrznego (por. [[automat Mealy'ego]]).}}
[[Plik:Moore machine-diagram.svg|thumb|Schemat
'''Automat Moore'a'''
<math>
\langle Z,Q,Y,\Phi,\Psi,q_0\rangle
</math>, gdzie:
* ''Z = {z<sub>1</sub>, z<sub>2</sub>, ... ,z<sub>n</sub>}''
* ''Q = {q<sub>1</sub>, q<sub>2</sub>, ... ,q<sub>n</sub>}''
* ''Y = {y<sub>1</sub>, y<sub>2</sub>, ... ,y<sub>n</sub>)''
* Φ
* Ψ
* q<sub>0</sub>
Automat Moore'a przedstawia się jako [[graf skierowany]] z wyróżnionym wierzchołkiem zwanym stanem początkowym. Podając sygnały na wejście automatu powodujemy zmianę bieżącego stanu i zwrócenie wartości przypisanej do nowego stanu.
Linia 24:
Synteza strukturalna automatu Moore'a ma na celu uzyskanie schematu logicznego. Składa się ona z pięciu etapów. Poszczególne etapy zostały przedstawione na przykładzie pokazanego wyżej grafu automatu.
=== Etap I
Przypisujemy tu stanom (''q<sub>1</sub>, q<sub>2</sub>, ... ,q<sub>n</sub>''), sygnałom (''z<sub>1</sub>, z<sub>2</sub>, ... ,z<sub>n</sub>'') i wyjściom (''y<sub>1</sub>, y<sub>2</sub>, ... ,y<sub>n</sub>'') reprezentację w systemie binarnym:
* Sygnały wejściowe: </B>z<SUB>1</SUB> → 0; z<SUB>2</SUB> → 1
Linia 67:
|}
=== Etap II
W powyższym układzie użyjemy trzech [[Przerzutnik#Przerzutniki typu D|przerzutników D]] (stany zapisane są na trzech bitach). Musimy określić funkcje wejść przerzutników (D<sub>1</sub>, D<sub>2</sub>, D<sub>3</sub>) w zależności od przejść między stanami. Tabela przejść i wyjść automatu połączona z tabelą wzbudzeń przerzutników wygląda następująco:
{| class="wikitable"
Linia 216:
Aby zrozumieć zasadę budowy tabeli prześledźmy tworzenie pierwszego wiersza: bit Q w następnym takcie zegara przechodzi w bit Q(t+1). W [[Przerzutnik#Tablica wzbudzeń ww. przerzutników|tabeli wzbudzeń]] sprawdzamy wartość, którą należy podać na przerzutnik D. Przykładowo Q<sub>2</sub>=0 przechodzi w Q<sub>2</sub>(t+1)=1. Na wejście przerzutnika D<sub>2</sub> musimy więc podać 1.
=== Etap III
Ze zbudowanej w poprzednim etapie tabeli odczytujemy funkcje, które musimy podać na wejścia odpowiednich przerzutników (przy określaniu funkcji nie bierzemy już pod uwagę stanów <math>q(t+1)</math>).
Linia 229:
* <math>D_3=Q_1+z\overline{Q_3}+\overline{Q_2}\overline{Q_3}+\overline{z}Q_2Q_3</math>
=== Etap IV
Wyjście Y może się zmieniać od stanu Q, w którym automat się znajduje. W tym przypadku <math>Y=1</math> dla automatu w stanie <math>Q=100</math>. Ponieważ funkcja wyjścia zwraca jeden bit, dlatego otrzymamy jeden wzór bitu wyjścia automatu:
<math>y=Q_1\overline{Q_2}\overline{Q_3}</math>. Wiadomo także, że automat nie posiada stanów dla <math>Q_1=1</math> i <math>Q_2=1</math>, dlatego można wzór uprościć do <math>y=Q_1\overline{Q_3}</math>.
=== Etap V
Możemy już przystąpić do budowy schematu logicznego automatu Moore'a:
|