Подготовка к выпо л нению работы
1.Изучить описание лабораторной работы.
2.Получить индивидуальное задание у преподавателя.
3.Составить таблицу переходов и выходов автомата.
4.Составить кодированную таблицу переходов и выходов автомата.
5.Составить таблицу возбуждения триггеров автомата.
6.Выполнить минимизацию функций возбуждения и выходов автомата
7.Построить логическую схему проектируемого цифрового автомата.
8.Составить тестовые последовательности для входа X автома-
та.
Порядок выполнения раб оты
1.Выполнить ввод спроектированной схемы автомата в редакторе схем системы Xilinx Foundation.
2.Выполнить функциональное моделирование автомата.
3.Продемонстрировать преподавателю работу отлаженного автомата.
4.Сдать преподавателю оформленный отчет в конце занятия.
Отчет по работе
Отчет должен содержать:
1)исходные данные варианта задания;
2)все этапы проектирования автомата Мура;
3)принципиальную схему автомата.
СПИСОК ЛИТЕРАТУРЫ
1. Уэйкерли Дж. Ф. Проектирование цифровых устройств. Том 2. – М.: Постмаркет, 2002. – 528 с.
41
Лабораторная работа 4
СИНТЕЗ УПРАВЛЯЮЩЕГО АВТОМАТА
Цель: освоить практические приемы создания управляющих алгоритмов в виде графа переходов автомата; приобрести практические навыки работы с подсистемой Finite State Machine Editor; овладеть практическими навыками отработки проектируемых схем как моделированием с использованием САПР, так и макетированием на универсальном лабораторном стенде.
Введение
Управляющий автомат можно рассматривать как устройство, реализующее алгоритм функционирования систем управления, задающий последовательность выполнения тех или иных операций по управлению некоторым объектом. Управляющий автомат реализует разнообразные функции: контролирует значения входных/выходных сигналов, выполняет логические/арифметические операции, поддерживает необходимые значения параметров, обеспечивает связь с датчиками и исполнительными устройствами.
Создание управляющего автомата начинается с его словесного описания или задания его технических характеристик. При проектировании небольших конечных автоматов и устройств средних размеров часто пользуются графом переходов автомата (диаграммами состояний). В этой работе приводится пример разработки с использованием диаграмм состояний. Эта процедура лежит в основе метода, реализуемого средствами автоматизированного проектирования, которые могут создавать логическую структуру из графического представления.
Задание автомата с помощью ориентированного графа – более удобная и компактная форма описания автомата. Состояния автомата изображаются вершинами графа, а переходы между состояниями
дугами между соответствующими вершинами. Каждая дуга отмечается входным сигналом, вызывающим в автомате соответствующий данной ветви переход. Если графом изображается автомат Мили, то выходные сигналы автомата проставляются на дугах графа. Если графом изображается автомат
42
Мура, то выходные сигналы автомата проставляются около вершин графа.
Ориентированный граф конечного автомата называют
диаграммой состояний автомата или графом переходов автомата.
Разработка графа переходов автомата во многом подобна составлению таблицы состояний. Однако имеется одно принципиальное различие между графом переходов и таблицей состояний автомата, которое делает составление графа переходов проще, хотя при этом риск допустить ошибку увеличивается. Таблица состояний представляет собой исчерпывающий список следующих состояний для каждой комбинации состояние/вход. Никакая неоднозначность не возможна. В графе переходов имеется множество стрелок, у которых надписаны выражения переходов. Даже при наличии многих входов с каждой стрелкой связано только одно выражение перехода. Однако при составлении графа переходов нет гарантии, что выражениями переходов у стрелок, выходящих из данного состояния, все комбинации входных сигналов покрываются точно по одному разу.
Таким образом, самым важным является шаг перехода от словесного описания автомата к его заданию в форме графа переходов, так как именно здесь разработчик занимается собственно проектированием в творческом процессе перевода словесного (возможно, неоднозначного) описания конечного автомата на обычном языке в формальное описание.
Современные системы автоматизированного проектирования цифровой аппаратуры содержат в своем составе средства, которые автоматизируют создание и реализацию конечных автоматов.
В лабораторном практикуме для выполнения задания используется подсистема Finite State Machine Editor (FSM),
входящая в состав САПР XILINX FOUNDATION. Подсистема Finite State Machine Editor представляет собой инструмент графического ввода описания цифрового автомата в виде диаграммы (графа) состояний. После графического ввода диаграммы состояний цифрового автомата FSM Editor генерирует макромодель автомата с возможностью последующего воплощения её на программируемой логической интегральной схеме (ПЛИС) лабораторного стенда.
43
К преимуществам использования подсистемы FSM Editor можно отнести простой и легкий графический ввод описания функционирования автомата в виде диаграммы состояний, автоматическую реализацию всех этапов структурного синтеза автомата. Отсутствие необходимости углубляться в схемотехнику проектируемого автомата в некотором смысле также можно отнести к преимуществам данного подхода
для создания диаграммы состояний автомата достаточно определить алгоритм его работы, при этом от пользователя требуются только базовые знания в области теории автоматов и определенные навыки работы в графическом редакторе FSM Editor. Подход, реализованный в FSM Editor, значительно повышает производительность разработчика.
Пример
Задание. Спроектировать автомат, управляющий стиральной машиной. Стиральная машина работает в трех режимах: залив, стирка, слив.
Стиральная машина начинает работать, когда будет нажата кнопка pusk. После этого происходит залив воды до тех пор, пока датчик d1 уровня воды не подаст сигнал о заполнения бака стиральной машины. Затем происходит стирка. Эта операция ограничивается с помощью таймера t. Если таймер исправен, то по истечении определенного времени таймер выдает сигнал t о завершении стирки и стиральная машина переходит в режим слива воды. Если таймер неисправен, то стиральная машина переходит в состояние «дефект», т.е. в ждущее состояние, которое будет прервано только после ремонта стиральной машины. Из состояния «дефект» стиральная машина не может возвратиться в исходное состояние, поэтому последующее нажатие кнопки pusk не приведет к запуску стиральной машины. Из неисправного состояния после ремонта стиральная машина возвращается в исходное состояние по сигналу reset. Слив воды завершается при получении сигнала от датчика d2 уровня воды о том, что в баке воды нет. Стиральная машина возвращается в исходное состояние. Каждое состояние стиральной машины должно отображаться на отдельных индикаторах лицевой панели.
44
Решение поставленной задачи представим в виде последовательного выполнения нижеследующих шагов.
Определение входных и выходных сигналов
В реальных цифровых автоматах информация представляется электрическими сигналами, поступающими на входные контакты (входы) автомата, и сигналами, которые формируются на выходах. При этом на каждом отдельном входе или выходе присутствует два различных уровня электрического сигнала
высокий и низкий. При таком физическом представлении используется двоичное кодирование сигналов. Низкий уровень электрического сигнала ассоциируется с логическим нулём, а высокий с логической единицей. Сопоставим каждому сигналу, определенному в задании, отдельный вход цифрового автомата. При этом появление входного сигнала будем кодировать единицей, а его отсутствие нулём.
Всоответствии с заданием, составим таблицу, в которой сопоставим каждому внешнему событию входной сигнал, и каждому такому сигналу присвоим имя (табл. 4.1).
Вкаждом задании предполагается, что проектируемый автомат является синхронным и инициальным. Поэтому управляющий автомат должен иметь два стандартных входа:
Ссинхронизирующий вход,
reset – вход установки автомата в начальное состояние.
Таблица 4.1
Входные сигналы управляющего автомата
Имя входного |
Пояснение |
|
сигнала |
||
|
pusk |
Сигнал начала работы стиральной машины |
|
d1 |
Сигнал c датчика d1 |
«бак заполнен водой» |
t |
Сигнал c таймера о завершении стирки |
|
t_err |
Сигнал «таймер неисправен» |
|
d2 |
Сигнал c датчика d2 |
«в баке воды нет» |
СВход для синхронизирующих сигналов
reset Сигнал установки автомата в начальное состояние
45