Рис. П2.5. Задание имени автомата
7. Нажмите кнопку Далее. Появится окно задания внешних контактов (портов) автомата (рис. П2.6).
Рис. П2.6. Окно Design Wizard – Ports
146
Пример
Дальнейшее рассмотрение работы с редактором FSM Editor проведем на примере создания графа переходов триггера (табл. П2.1). Любой триггер является элементарным автоматом Мура.
|
|
Таблица П2.1 |
||
Таблица переходов триггера |
||||
|
|
|
|
|
Е1(t) |
E2(t) |
|
Q(t+1) |
|
0 |
0 |
|
0 |
|
0 |
1 |
|
1 |
|
1 |
0 |
|
0 |
|
1 |
1 |
|
Q(t) |
|
Все переходы реализуются по фронту 0/1 синхроимпульсов. Состояния, помеченные временем t в таблице, это состояния до момента изменения 0/1 синхроимпульса, а состояния со временем t+1 это состояния, которые примет триггер после изменения 0/1 синхроимпульса. Триггер также должен иметь асинхронный вход установки в состояние «0».
Таким образом, триггер имеет следующие входы и выходы:
С синхронизирующий вход, CLR |
асинхронный вход установки |
триггера в состояние «0», Е1, Е2 |
логические входы, Q прямой |
выход, NQ инверсный выход. |
|
Определение внешних контактов автомата
Для задания очередного нового контакта (порта) проделайте следующую последовательность действий.
1.Нажмите кнопку New (см. рис. П2.6) для задания очередного нового контакта (порта). Это вызовет активизацию всех полей окна
Port.
2.Введите в поле Name имя контакта.
3.Выберите на панели Direction направление контакта: входной (In), выходной (Out), двунаправленный (Bidirectional).
На рис. П2.7 показано задание входа С.
147
Рис. П2.7. Задание входа С
ВНИМАНИЕ! Синхронизирующий вход в окне Ports необходимо определить, задав его тип.
4. Для этого нажмите кнопку Advanced (см. рис. П2.7). Появится окно дополнительных установок порта (рис. П2.8). Поставьте галочку в поле Clock. Нажмите кнопку OK.
Рис. П2.8. Задание входа С как синхронизирующего
148
Чтобы добавить новые порты, следует выполнить шаги 1-3. При создании очередного порта мастер добавляет его изображение в условное графическое обозначение создаваемого устройства. Это графическое обозначение является средством визуального контроля выполняемых действий.
На рис П2.9 показан вид окна Ports после определения всех контактов.
Рис. П2.9. Вид окна Ports после определения всех контактов
ВНИМАНИЕ! Выходы автомата также следует определить, задав их тип.
5. Для этого нажмите кнопку Advanced (см. рис. П2.9). Появится окно дополнительных установок порта (рис. П2.10). Если состояние выхода в данном внутреннем состоянии автомата должно сохраниться при переходе в другое внутреннее состояние, то выход следует определить как Registered. Если состояние выхода при переходе автомата в другое внутреннее состояние изменяется, то выход определяется как Combinatorial. В нашем случае выходы следует определить как Combinatorial, поставив галочку в соответствующем поле (см. рис. П2.10). Нажмите кнопку OK.
149
Рис. П2.10. Задание типа выхода
Примечание. Ошибочно созданные порты можно удалить, выделив их имя в списке портов и нажав кнопку Delete.
6. После задания последнего контакта, нажмите кнопку Далее (см. рис. П2.9). Появится окно редактора выбора количества автоматов на диаграмме (рис. П2.11).
Рис. П2.11. Окно выбора количества автоматов
7. Поставьте галочку в поле One и нажмите кнопку Готово. Появится окно редактора State Editor с описанием портов авто-
мата (рис. П2.12).
150