
- •Введение в логическое проектирование аппаратуры Аннотация к курсу
- •Лекция 1 «Схемы без памяти» Введение
- •Схемы из функциональных элементов
- •Представление схем на языке Verilog Общая информация о языке
- •Модули, пример “Hello World”
- •Синтезируемое подмножество языка
- •Логические значения и операции над ними
- •Многоразрядные константы
- •Непрерывное присваивание
- •Операции над битовыми массивами
- •Инстанцирование модулей
- •Лекция 2 «Схемы с памятью» Введение
- •Абстрактный автомат
- •Структурный автомат
- •Триггеры
- •Описание схем с памятью на языке Verilog
- •Моделирование памяти
- •Процедурное присваивание
- •Always-блоки
- •Управляющие конструкции
- •Лекция 3 «Примеры проектирования на языке Verilog»
- •Лекция 4 «Дискретно-событийное моделирование» Введение
- •Дискретно-событийное моделирование аппаратуры Основные понятия
- •Цикл работы симулятора
- •Дельта-задержка
- •Занятие 5: Контрольная работа
Абстрактный автомат
Определение. Абстрактным автоматом называется четверка S, X, Y, T, где:
S – множество состояний;
X – множество входных символов (стимулов);
Y – множество выходных символов (реакций);
T SXYS – отношение переходов.
Определение. Автомат с выделенным начальным состоянием s0 называется инициальным.
Определение. Если отношение переходов конечно, автомат называется конечным.
Определение. Автомат называется детерминированным, если для любой пары переходов (s1, x1, y1, s1') и (s2, x2, y2, s2') из равенства (s1, x1) = (s2, x2) вытекает равенство (y1, s1') = (y2, s2').
Другими словами, для детерминированного автомата существует функциональные зависимости результирующего состояния (s') и реакции (y) от исходного состояния (s) и стимула (x): : SX S (функция переходов) и : SX Y (функция выходов). В дальнейшем будем рассматривать только детерминированные инициальные конечные автоматы, называя их просто автоматами.
Автомат функционирует в дискретном времени t = 0, 1, 2, ... Обозначим, через s(t), x(t) и y(t) состояние автомата, подаваемый стимул и выдаваемую реакцию в момент времени t. Тогда, функционирование автомата описывается следующими уравнениями (*):
s(0) = s0;
s(t+1) = (s(t), x(t));
y(t) = (s(t), x(t)).
Следует сразу отметить, что различают два типа автоматов: автоматы Мили и автоматы Мура. В отличие от автоматов Мили, функционирование которых описывается уравнениями (*), в автоматах Мура функция выходов зависит только от текущего состояния (**):
s(0) = s0;
s(t+1) = (s(t), x(t));
y(t) = (s(t)).
Нетрудно показать, что для любого автомата Мили можно построить эквивалентный ему автомат Мура и наоборот.
Существует множество способов описания конечных автоматов. Наиболее известными являются графический и табличный методы. В первом из них автомат представляется графом переходов – ориентированным графом, вершинами которого являются состояния, а дугами – переходы (каждая дуга помечается стимулом и реакцией). В табличном способе автомат представляется в форме таблиц (двух или одной):
:X\S |
s1 |
... |
sn |
|
:X\S |
s1 |
... |
sn |
|
X\S |
s1 |
... |
sn |
x1 |
s11 |
... |
sn1 |
|
x1 |
y11 |
... |
yn1 |
|
x1 |
s11/y11 |
... |
sn1/yn1 |
... |
... |
... |
... |
|
... |
... |
... |
... |
|
... |
... |
... |
... |
xm |
s1m |
... |
snm |
|
xm |
y1m |
... |
ynm |
|
xm |
s1m/y1m |
... |
snm/ynm |
Описание абстрактного автомата соответствует этапу поведенческого проектирования, на котором определяется функциональность устройства.
Задание. Изобразите граф состояний автомата, управляющего пешеходным переходом. Если для пешеходов горит красный свет, чтобы ускорить включение зеленого сигнала, можно нажать кнопку.