Синтез автомата Мура по ГСА. Простейшая реализация.


 

1.Разметка состояний автомата Мура по ГСА.

 

Каждой операторной вершине ГСА автомата Мура соответствует определенное состояние - ai . Начальное состояние автомата соответствует началу ГСА, а точнее – входу в первую вершину ГСА. Первая вершина ГСА обычно соответствует логическому условию «Пуск». Поэтому начальное состояние можно отметить на входе этой вершины. Поскольку этому состоянию не соответствует никакая операторная вершина, то и автомат в начальном состоянии не выдает никаких микрокоманд. При такой отметке начального состояния конечное состояние автомата соответствует завершению ГСА (перед вершиной «Конец»).

Для корректной работы автомата необходимо, что бы после завершения выполнения алгоритма автомат вернулся в начальное состояние. Таким образом можно совместить начальное и конечное состояния автомата и обозначить их одинаково a0.

Часто дополнительно введенную операторную вершину, соответствующую микрокоманде «Операция выполнена», отмечают как конечное состояние автомата (a0). А так как конечное состояние автомата должно совпадать с начальным, в ГСА вводится еще одна дополнительная операторная вершина, которая отмечается состоянием a0, так же, как конечная (см. рис.3.14). Такое преобразование ГСА имеет определенные преимущества: если автомат «свободен», он не «молчит», а выдает микрокоманду «Операция выполнена», что говорит о его готовности к работе.

Остальным операторным вершинам соответствуют состояния, которые можно пронумеровать так: a1, a2, a3 и т.д. (рис. 3.14).

Таким образом ГСА автомата Мура (рис.53.14 в нашем примере) отличается от исходной ГСА (рис.3.2) еще одной дополнительной вершиной с состоянием a0. Обе вершины, помеченные состоянием a0, можно мысленно совместить, так как после завершения операции автомат должен вернуться в начальное состояние

 

2.Построение графа переходов автомата Мура (по ГСА рис.3.14)

 

Вершины графа соответст­вуют состояниям автомата, дуги – переходам из состояния am в сос­тояние as. У вершин графа записы­ваются микрокоманды, соответст­вующие состояниям, в начале дуги – логические условия, опреде­ляющие переход из состояния am в состояние as (рис.6).

3.Построение прямой таблицы переходов автомата Мура.

Прямая таблица переходов (Таб­лица 3.6) строится по графу переходов (рис.3.15). Количество строк в таблице равно коли­честву переходов в графе. В столбце аm за­писываются состояния, из которых начи­нается переход, в столбце as – состояния, в которые перешел автомат из аm. В столбце Yas записываются Yi – мик­рокоманды, вырабатываемые автоматом в состоянии as. В столбце Xamas записываются логические условия (их конъюнкция), обеспечи­вающие переход из состояния аm в состояние as. Прямая таблица по­зволяет проверить полноту переходов, показанных на графе перехо­дов: дизъюнкция всех Xa ma s из состояния a m должна быть равна «1». В нашем примере дизъюнкция всех Xa0 a s равна: Ø x 3 Ú x 3 = 1 .

Таблица 3.6

am a s Yas Xamas
a 0 a 0 a 1 y7 y1, y2 Ø x 3 x 3
a 1 a 2 a 3 y3 y4, y5 x 1 Ø x 1
a 2 a 3 y4, y5
a 3 a 4 a 0 y6 y7 Ø x 2 x 2
a 4 a 2 a 3 y3 y4, y5 x 1 Ø x 1

 

4. Кодирование состояний автомата. Выбор элементов памяти.

Так как поведение автомата всегда зависит от его текущего состояния аm, необходимо хранить код состояния аm в памяти состояний автомата. Объем памяти зависит от способа кодирования состояний. При минимальном кодировании каждому состоянию соответствует число в двоичном представлении, причем количество разрядов этого числа n определяется выражением: n = ] log2 | A | [. Другой крайний случай – унитарное кодирование, при котором: n = | A | . От выбранного способа кодирования и самого кодирования состояний может зависеть сложность схемы автомата.

Используем для нашего примера минимальное кодирование состояний. Так как автомат имеет пять состояний, то минимальное количество элементов памяти

n = ] log2 | A | [ = ] log2 5 [ = 3.

Выберем в качестве элементов памяти D-триггера. Для нашего примера их количество равно трем. Обозначим их как Т2 Т1 Т0 , причем Т2 соответствует старшему разряду кода состояний. Выходы триггеров обозначаются соответственно Q2Q1Q0. Значение числа Q2Q1Q0 на этих выходах - есть код состояния автомата.

Закодируем состояния автомата произвольно (Ka i = Q2Q1Q0):

 

К а0 = 100. К а1 = 001. К а2 = 010.

К а3 = 000. К а4 = 011.

 

5. Обратная структурная таблица автомата Мура.

Обратная структурная таблица автомата Мура строится на основе прямой таблицы переходов путем упорядочивания строк по столбцу a s .и добавления столбцов:

Ka m - код состояния a m.

Ka s - код состояния a s.

F a m a s – функции управления элементами памяти при переходе из состояния a m в состояние a s. Поскольку в качестве элементов памяти используем D-триггера, в этом столбце записываем только Di, соответствующие триггерам, которые необходимо установить в состояние «1», что бы обеспечить переход в состояние с кодом K a s.

Таблица 3.7

a m Kam a s Kas Xamas Yas Famas
a 0 a 3 a 0 Ø x 3 x 2 y 7 D 2 D 2
a 0 a 1 x 3 y 1, y 2 D 0
a 1 a 4 a 2 x 1 x 1 y 3 D 1 D 1
a 1 a 2 a 4 a 3 Ø x 1 Ø x 1 y 4, y 5 - - -
a 3 a 4 Ø x 2 y 6 D 1 D 0

6. Функции управления элементами памяти и функции выходов автомата

Функции управления элементами памяти записываются по обратной структурной таблице автомата:

D i = F( a m , X a m a s).

Смысл этого выражения следующий (например для D2): значение функции D2 должно быть равно 1 (см. обратную структурную таблицу) в двух случаях (1-ая и 2-ая строки таблицы): если автомат находился в состоянии a0, а значение x 3 = 0 и если автомат находился в состоянии a3, а значение x 2 =1. Таким образом, функция D 2 имеет вид:

D 2 = a0Øx 3 Ú a3 x 2.

Остальные функции D 1 и D 0 записываются аналогично:

D 1 = a1 x 1 Ú a4 x 1 Ú a3Øx 2 = x 1 (a1 Ú a4) Ú a3 Øx 2.

D 0 = a0 x 3 Ú a3Øx 2.

Функции выходов так же записываются по обратной структурной таблице автомата:

y i = F( a s).

Так как yi в автомате Мура зависят только текущего состояния автомата, то для нашего примера они имеют вид:

y1 = y2 = a1. y3 = a2. y4 = y5 = a3. y6 = a4. y7 = a0,

что означает следующее: в состоянии a1 автомат вырабатывает микрокоманды y1 и y2 , в состоянии a2 - микрокоманду y3 и т.д.

 

7. Структурная схема автомата Мура на жесткой логике

 

Структурная схема автомата Мура состоит из следующих цифро­вых узлов (Рисунок 3.16):

Рисунок 1.16

Рисунок 3.16

Память состояний (ПС), де­шифратор состояний (DC), комбинационная схема фор­мирования сигналов управ­ления элементами памяти состояний (КСF), комбина­ционная схема формирова­ния выходных сигналов ав­томата (КСУ). Взаимодейст­вие узлов автомата следую­щее. Автомат находится в некотором состоянии am, код которого Kam в виде значений Q на вы­ходе триггеров памяти состояний (ПС) подается на вход дешифратора состояний (DC), на выходе которого собственно и формируются зна­чения переменных am. На выходах комбинационной схемы КСУ формируются микрокоманды У, а на выходах схемы КСF формируются значения функций управления элементами памяти, которые обеспечивают переход автомата в новое состояние a s при поступлении импульса синхронизации С на вход синхронизации ПС.

 

8. Функциональная схема автомата Мура на жесткой логике

 

Функциональная схема автомата Мура состоит из следующих цифровых узлов:

· Память состояний. В нашем примере – триггера: Т2 Т1 Т0.

· Дешифратор состояний DC. Дешифратор необходим для преобразования двоичного кода состояний автомата Ka m в унитарный, соответствующий переменным a i , используемым в записанных выше функциях. В нашем примере – дешифратор DC имеет 3 входа и 8 выходов. На вход DC подается Kam – код состояния am , а на выходах DC формируется унитарный код состояния автомата a m: единица на i-ом выходе дешифратора DC формируется при Kam = i.

· Комбинационная схема формирования сигналов управления элементами памяти состояний автомата реализует функции:

D i = F( a m , X a m a s)..

· Комбинационная схема формирования выходных сигналов автомата реализует функции: y i = F( a s).

В функциональной схеме (рис.3.17) использованы «шины». Шины представляют из себя множество соединений схемы, изображенных в виде одной утолщенной линии. Вход в шину и выход из нее конкретного соединения обозначается либо одним и тем же числом, либо содержательным обозначением сигнала, передаваемого по этому соединению. Применение шин в схемах позволяет избежать большого числа пересечений на схеме и делает ее более простой для чтения.

С целью упрощения схемы, в ней не по­казаны элементы, обеспечивающие ус­тановку автомата в начальное состояние а0 с кодом Ка0 = 100. Этот вопрос будет рассмотрен ниже.


На рис.3.18 приведены временные диаграммы, поясняющие работу автомата Мура. Находясь в некотором состоянии a i автомат вырабаты­вает выходной сигнал (микрокоманду) yj ,соответствующий этому состоя­нию. В это же время формируются сигналы управления элементами памяти D i , которые определяют следующее состояние автомата в зависимости от теку­щего и значений логи­ческих условий x i. При поступлении на вход синхронизации авто­мата положительного фронта импульса С, ав­томат переходит в но­вое состояние, определяемое значениями Di на входах триггеров Т2 Т1 Т0.




Дата добавления: 2021-11-16; просмотров: 270;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.014 сек.