Синтез автомата Мура по граф-схеме

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Синтез автомата Мура по граф-схеме — метод построения функциональной схемы автомата.

Описание[править]

Автомат Мура (Moore machine) — кортеж из 6 элементов, включающий: множество внутренних состояний S (внутренний алфавит); начальное состояние S0; множество входных сигналов X (входной алфавит); множество выходных сигналов Y (выходной алфавит); функция переходов X; функция выходов Y.

Определение[править]

Автомат Мура — абстрактный автомат второго рода — конечный автомат, выходное значение сигнала в котором зависит лишь от текущего состояния данного автомата, и, не зависит напрямую, в отличие от автомата Мили, от входных значений. Автомат Мура назван в честь описавшего его свойства Эдварда Ф. Мура.

Обозначения[править]

ГСА — граф-схема автомата;

ФСА — функциональная схема автомата;

b0 — операторная вершина — начальное и конечное состояние автомата;

bm — операторная вершина — исходное состояние перехода;

bs — операторная вершина — конечное состояние перехода;

өs — узел — дополнительная операторная вершина для упрощения ГСА;

bm→bs — переход из одной операторной вершины в другую;

bm→өs, өm→bs, өm→өs — дополнительные переходы;

X(bm, bs) — логическое условие перехода;

Si — значение на S-триггере;

Ri — значение на R-триггере.

Примеры:[править]

Пример 1[править]

Синтез автомата Мура по ГСА (рис.1).

ГСА011.png

Рис.1. ГСА автомата Мура с узлами.

Разметка состояний[править]

В автомате Мура каждой операторной вершине соответствует состояние автомата. Переход из состояния bm в состояние bs — это переход из одной операторной вершины в другую при выполнении логический условий X(bm,bs) на пути из bm в bs. Т.к. начальное и конечное состояние автомата совпадают, на ГСА искусственно добавлена еще одна операторная вершина, соответствующая состоянию b0. Узлы ө используются для упрощения формул переходов и ставятся на ГСА в точках, где несколько путей сходятся, а затем расходятся. Узлы не кодируются.

ГСА012.png

Рис.2. Размеченная ГСА автомата Мура с узлами.

Построение прямой таблицы переходов 1[править]

Отличительная особенность: в данном примере в ГСА введены узлы ө. В ГСА с узлами возможны переходы четырех видов: bm→bs, bm→өs, өm→bs, өm→өs. Все эти переходы описываются в прямой таблице переходов.

Таблица 1.

ГСА013.png

В столбце X(bm,bs) единица записывается тогда, когда bm в bs переход осуществляется всегда.

Кодирование состояний[править]

Произведём кодирование узлов (узлы ө не кодируются). В данном примере — автомат имеет четыре состояния (кроме начального), для кодирования необходимо не менее трёх двоичных разрядов. Память состояний на RS триггерах. Коды состояний: k(b0)=000; k(b1)=001; k(b2)=010; k(b3)=011; k(b4)=100.

Построение обратной структурной таблицы 2[править]

Вначале описываем переходы в узлы, затем остальные переходы автомата.

Таблица 2.

ГСА014.png

Если переход в некоторое состояние bs происходит из узла ө, то в автомате с памятью на RS триггерах значения Ri и Si в обратной структурной таблице записываются с учетом кодов состояний bm из которых был переход в узел ө.

ГСА015.png

Рис.3. Схема определения значений Ri и Si.

Запись функции выходов и переходов автомата[править]

По обратной структурной таблице запишем функции для ө, Yi, Ri и Si.

ГСА016.png

Легко заметить, что использование узлов в ГСА автомата Мура позволило значительно упростить функции выходов и переходов.

Построение ФСА автомата Мура[править]

ГСА017.png

Рис.4. ФСА автомата Мура на жёсткой логике.

Пример 2[править]

Синтез автомата Мура по ГСА (рис.5).

ГСА021.png

Рис.5. ГСА автомата Мура с узлами.

Разметка состояний[править]

В автомате Мура каждой операторной вершине соответствует состояние автомата. Переход из состояния bm в состояние bs — это переход из одной операторной вершины в другую при выполнении логический условий X(bm,bs) на пути из bm в bs. Т.к. начальное и конечное состояние автомата совпадают, на ГСА искусственно добавлена еще одна операторная вершина, соответствующая состоянию b0. Узлы ө используются для упрощения формул переходов и ставятся на ГСА в точках, где несколько путей сходятся, а затем расходятся. Узлы не кодируются.

ГСА022.png

Рис.6. Размеченная ГСА автомата Мура с узлами.

Построение прямой таблицы переходов 3[править]

Отличительная особенность: в данном примере в ГСА введены узлы ө. В ГСА с узлами возможны переходы четырех видов: bm→bs, bm→өs, өm→bs, өm→өs. Все эти переходы описываются в прямой таблице переходов.

Таблица 3.

ГСА023.png

В столбце X(bm,bs) единица записывается тогда, когда bm в bs переход осуществляется всегда.

Кодирование состояний[править]

Произведём кодирование узлов (узлы ө не кодируются). В данном примере — автомат имеет три состояния (кроме начального), для кодирования необходимо не менее двух двоичных разрядов. Память состояний на RS триггерах. Коды состояний: k(b0)=00; k(b1)=01; k(b2)=01; k(b3)=11.

Построение обратной структурной таблицы 4[править]

Вначале описываем переходы в узлы, затем остальные переходы автомата.

Таблица 4.

ГСА024.png

Если переход в некоторое состояние bs происходит из узла ө, то в автомате с памятью на RS триггерах значения Ri и Si в обратной структурной таблице записываются с учётом кодов состояний bm из которых был переход в узел ө.

ГСА025.png

Рис.7. Схема определения значений Ri и Si.

Запись функции выходов и переходов автомата[править]

По обратной структурной таблице запишем функции для ө, Yi, Ri и Si.

ГСА026.png

Легко заметить, что использование узлов в ГСА автомата Мура позволило значительно упростить функции выходов и переходов.

Построение ФСА автомата Мура[править]

ГСА027.png

Рис.8. ФСА автомата Мура на жёсткой логике.

Другие алгоритмы:[править]

Другие разделы[править]

Ссылки[править]