Материал: Ковригин Теория автоматов Лабораторный практикум 2012

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

4. Для завершения ввода щелкните левой клавишей мыши на свободном поле.

Рис. П2.19. Окно State Editor с присвоенными значениями выходов автомата

Правила записи выражений

Синтаксис выражений следующий:

-оператор присваивания обозначается составным символом <=,

-константы заключаются в одинарные кавычки, например, ‘0’,

-выражения для каждого выхода отделяются друг от друга сим-

волом точка с запятой «;»,

-в конце последнего выражения никакой символ не ставится (см.

рис. П2.19).

Ввыражениях можно использовать логические операторы, определенные в табл. П2.2.

156

Таблица П2.2

 

Логические операторы

 

 

not

Инверсия

and

И

or

ИЛИ

nand

И-НЕ

nor

ИЛИ-НЕ

хоr

ИСКЛЮЧАЮЩЕЕ ИЛИ

хnоr

ИСКЛЮЧАЮЩЕЕ ИЛИ-НЕ

У оператора not самый высокий приоритет, так что можно не заключать в скобки подвыражение типа not А1.

Логические операторы and, or, nand, nor, xor, хnоr имеют одинаковое старшинство и выполняются слева направо в выражениях. В сложных логических выражениях порядок выполнения операторов регулируется скобками.

Пробелы для удобства чтения выражений можно вставлять произвольно.

Задание переходов

Переход это изменение состояния автомата под воздействием входного сигнала. Переход, как правило, осуществляется при выполнении некоторого условия, однако возможны и безусловные переходы.

Переходы конечного автомата из одного состояния в другое задаются ориентированными рёбрами (дугами) графа переходов. Иногда требуется, чтобы автомат остался в данном состоянии при соответствующем условии. В этом случае переход представляется ориентированным ребром, замкнутым на ту же вершину.

Для задания перехода выполните следующие действия.

1.Щёлкните на вертикальной панели инструментов по кнопке Transition. Курсор примет форму перекрестия.

2.Наведите перекрестие курсора на вершину, из которой будет осуществляться переход, и щёлкните мышью. Затем повторите то же самое с вершиной, в которую будет осуществляться переход. Появится кривая со стрелкой, привязанная к двум выбранным вер-

шинам ребро графа (рис. П2.20).

157

Рис. П2.20. Окно State Editor с заданными переходами автомата

Используйте контрольные точки, чтобы изменить форму кривой

(см. рис. П2.20).

Задание условий переходов

Условие перехода автомата из одного состояния в другое задаётся равенством 1 или 0 логического выражения или переменной, которые соответствуют появлению тех или иных входных сигналов. Выражение заключается в круглые скобки, ставится знак ра-

венства, затем пишется 0 или 1, заключённые в одинарные ка-

вычки. Например:

(not E1 and E2) = ‘1’

В выражениях можно использовать логические операторы, определенные в табл. П2.2.

158

Если условие перехода определяется истинностью или ложностью переменной, то запись такого условия выглядит следующим образом:

E2 = ‘0’

Для задания условия перехода:

1.Щёлкните на вертикальной панели инструментов по кнопке Condition.

2.Наведите перекрестие на ребро перехода, для которого необходимо задать условие, и щёлкните мышью. Появится текстовое поле.

3.Введите условие перехода и щелкните левой клавишей мыши на свободном поле. Над ребром появится условие перехода

(рис. П2.21).

Рис. П2.21. Окно State Editor с заданными условиями переходов автомата

Чтобы изменить введённый код, выделите условие перехода, и дважды щёлкните на нём мышью.

159

Задание сброса автомата в начальное состояние

Как правило, на множестве состояний S автомата выделяется специальное начальное состояние sо S. Переход автомата в начальное состояние реализуется по специальному входу. Этот вход имеет стандартное имя clear (CLR) или reset. Перевод автомата в начальное состояние называют сбросом автомата. Подача определенного сигнала (0 или 1) на этот установочный вход называют условием сброса.

Переход в начальное состояние может осуществляться синхронно или асинхронно. При синхронной установке переход автомата в начальное состояние происходит по активному фронту синхросигнала при наличии разрешающего сигнала на установочном входе. При асинхронном сбросе автомат переходит в начальное состояние сразу при поступлении сигнала на установочный вход.

Для задания сброса автомата в начальное состояние выполните следующие действия.

1.Щёлкните на вертикальной панели инструментов по кнопке Reset. Курсор примет форму чёрного треугольника.

2.Наведите курсор на поле около состояния, которое необходимо объявить начальным, и щёлкните мышью. Появится символ сброса и курсор перейдёт в режим рисования перехода.

3.Подведите курсор к состоянию, которое необходимо объявить начальным, и щёлкните мышью. Появится ориентированное ребро от символа сброса к указанному состоянию (рис. П2.22). Это состояния и будет считаться начальным.

Теперь необходимо задать синхронность или асинхронность сброса.

4. Щёлкните правой кнопкой мыши на символе сброса и в появившемся меню установите галочку напротив Synchronous или

Asynchronous (рис. П2.23).

Условное графическое обозначение синхронного и асинхронного сброса:

синхронный сброс,

асинхронный сброс.

160

Источник: https://studfile.net/preview/16708773/