Для задания конечного автомата фиксируют три конечных множества (алфавита):
множество входных сигналов Х = (х1, х2, ... , хm), множество выходных сигналов Y = (y1, y2, ... , yk), множество внутренних состояний автомата S=(s0, s1 ..., sn).
На этих множествах задают две функции:
функцию переходов f, определяющую состояние автомата s(t+1) в момент дискретного времени t+1 в зависимости от состояния автомата s(t) и значения входного сигнала x(t) в момент времени t;
функцию выходов , определяющую зависимость выходного сигнала автомата y(t) от состояния автомата и входного сигнала x(t) в момент времени t.
Таким образом, функция переходов f устанавливает зависимость внутреннего состояния автомата в следующий момент времени от состояния входа и внутреннего состояния в настоящий момент времени. Функция выходов устанавливает зависимость состояния выхода автомата от состояния входа и внутреннего состояния автомата.
По способу формирования функций выхода выделяют автоматы Мили и Мура.
Закон функционирования автомата Мили задается уравнениями: s(t+1) = f[s(t), x(t)],
y(t) = [s(t), x(t)].
Обобщенная структура автомата Мили приведена на рис. В.1.
Рис. В.1. Структура автомата Мили
6
Автомат Мура описывается следующей функцией переходов и функцией выходов:
s(t+1) = f[s(t), x(t)], y(t) = [s(t)].
Структура автомата Мура приведена на рис. В.2.
Рис. В.2. Структура автомата Мура
Из сравнения законов функционирования видно, что, в отличие от автомата Мили, выходной сигнал в автомате Мура зависит только от текущего состояния автомата и в явном виде не зависит от входного сигнала. Отличительная особенность автоматов Мили состоит в том, что их выходные сигналы зависят как от состояния автомата, так и от значения входного сигнала.
Конечный автомат состоит из трех основных частей.
Память состояний. Для того чтобы выходные сигналы автомата зависели от предыдущих входных воздействий на автомат, автомат должен сохранять информацию о предыдущих входных воздействиях. Так, вводится понятие «состояния автомата», где состояние соответствует некоторой памяти о прошлых входных воздействиях. Тогда зависимость выходных сигналов как от настоящих, так и от прошлых входных воздействий может быть выражена в виде функции от настоящих входных воздействий и состояния автомата.
Логика переходов. Конечный автомат может находиться в каждый конкретный момент времени только в одном состоянии. Правила перехода в очередное состояние определяются комбинационной схемой, называемой логикой переходов. Следующее состояние определяется как функция текущего состояния и входного воздействия.
Логика формирования выхода. Выход автомата обычно определяется как функция текущего состояния и исходного состояния
7
входа (в случае автомата Мили). Формирование выходного сигнала автомата определяется с помощью логики формирования выхода.
На практике разработчики вычислительных средств часто используют совмещенную модель Мили–Мура, называемую С-автоматом. Отличие С-автомата от моделей Мили и Мура состоит в том, что он одновременно реализует две различные функции выходов у1 и у2, каждая из которых характеризует одну из этих моделей.
Кроме того, на множестве состояний автомата обычно фиксируют одно из внутренних состояний s0 в качестве начального состояния. Выделение на множестве S начального состояния so объясняется чисто практическими соображениями, связанными необходимостью фиксировать условия начала работы автомата. Если на множестве состояний S автомата выделяется специальное начальное состояние sо S, то такой автомат называют инициальным.
В инженерной практике довольно часто алгоритмы, определяющие условия работы цифрового устройства, задаются в такой форме, что необходимость проведения этапа абстрактного синтеза отпадает. Поэтому проектирование цифрового устройства реализуется решением задачи структурного синтеза конечного автомата. Целью этапа структурного синтеза является построение логической схемы, реализующей автомат на элементах заданного типа.
Существует единый прием (канонический метод), позволяющий свести проблему структурного синтеза произвольных автоматов к проблеме синтеза комбинационных схем. В классической постановке канонический метод синтеза состоит из следующих макрошагов: построение таблиц возбуждений элементов памяти автомата; определение булевых выражений функций возбуждения и выходов; минимизация булевых выражений функций возбуждения и выходов.
Более подробно задачи структурного синтеза конечного автомата рассматриваются в лабораторных работах данного пособия.
Успешное выполнение данного лабораторного практикума должно создать основу, позволяющую студентам воспринимать и усваивать другие специальные дисциплины по информационным технологиям, вычислительным средствам и системам.
8
Лабораторная работа 1
ИЗУЧЕНИЕ ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ ПРОЕКТИРОВАНИЯ ЦИФРОВЫХ АВТОМАТОВ
Цель: изучить состав и возможности органов управления универсального лабораторного стенда; изучить маршрут проектирования цифровых автоматов с использованием САПР.
Введение
Лабораторный практикум по курсу «Теория автоматов» выполняется в учебной лаборатории, основу которой составляет авто-
матизированное рабочее место студента-проектировщика (АРМ).
Данная универсальная компьютеризированная лаборатория объединяет на единой инструментальной базе все практикумы по дисциплинам системотехнического цикла.
АРМ студента-проектировщика – это комплекс аппаратнопрограммных средств, предназначенный для обучения основам теории автоматов, схемотехники, проектированию цифровых систем на основе микроконтроллеров и программируемой логики. Каждое рабочее место включает:
персональный компьютер, оснащенный платой расширения цифрового осциллографа серии BORDO и 16-канального логического анализатора;
профессиональную САПР ПЛИС и инструментальные средства автоматизации программирования микроконтроллера;
универсальный лабораторный стенд, содержащий ПЛИС
FPGA XCS10-3PC84 фирмы XILINX, 8-разрядный микрокон-
троллер семейства MCS-51 PCF80С552 фирмы PHILIPS, па-
мять и органы управления и индикации.
В лабораторном практикуме по курсу «Теория автоматов» используется только часть оборудования стенда, а именно, ПЛИС FPGA XCS10-3PC84, клавишные регистры, генераторы и индикация.
Разработка цифровых автоматов на ПЛИС невозможна без применения систем автоматизированного проектирования (САПР). Особо значимыми становятся процедуры отладки и верификации
9
проектных решений. Понимание единых общепризнанных средств описаний, создаваемых автоматизированными средствами проектирования, необходимо для современного квалифицированного разработчика.
Тщательное изучение возможностей и особенностей работы вспомогательного оборудования стенда и САПР имеет принципиальное значение для успешного выполнения лабораторного практикума в целом. Недостаточное знание инструментальных средств проектирования, используемых в практикуме, может привести к значительным затратам времени при выполнении лабораторных работ и «в конечном итоге» к неудаче в работе.
Начальные сведения о ПЛИС
Микросхемы программируемой логики или ПЛИС (программируемые логические интегральные схемы) одно из наиболее динамично развивающихся направлений современной цифровой электроники. Привлекательность данной технологии заключается в предоставляемой конечному пользователю возможности быстрого создания цифровых устройств с произвольной внутренней структурой. По сравнению со специализированными цифровыми микро-
схемами (Application Specific Integral Circuit, ASIC), цикл разработ-
ки устройств на ПЛИС занимает значительно меньше времени и неизмеримо дешевле (благодаря тому, что изменение логической схемы выполняется путем перепрограммирования одного и того же экземпляра ПЛИС). Таким образом, вместо металлических соединений, реализуемых в процессе производства ASIC, в ПЛИС используются соединения, коммутируемые программируемыми ключами. Для задания этих соединений в ПЛИС существует теневая (конфигурационная) память, хранящая таблицу соединений.
В настоящее время наиболее распространенные серии ПЛИС имеют следующую архитектуру:
CPLD (Complex Programmable Logic Device) устройства, ис-
пользующие для хранения конфигурации энергонезависимую память (Flash или EEPROM);
FPGA (Field Programmable Gate Array) устройства, исполь-
зующие для хранения конфигурации энергозависимую память, которая требует инициализации после включения питания.
10