Теоретические основы цифровых автоматов с памятью и математическое описание последовательностных схем
Любая комбинационная логическая схема страдает абсолютной «амнезией». Значение на её выходе в момент времени зависит исключительно от комбинации входных сигналов в этот же самый момент (с поправкой на задержку распространения сигнала через вентили). Как только входное воздействие снимается, результат вычисления бесследно исчезает. Чтобы построить систему, способную к счету, фильтрации последовательностей или управлению сложными процессами, необходимо ввести понятие внутреннего состояния. Схемы, выход которых зависит не только от текущих входов, но и от предыстории работы, называются последовательностными схемами, или цифровыми автоматами с памятью.
Архитектура цифрового автомата с памятью
Фундаментальное отличие последовательностной схемы от комбинационной заключается в наличии петель обратной связи. Выходы логических элементов подаются обратно на их входы, формируя замкнутый контур циркуляции информации. Именно эта топологическая особенность превращает набор логических вентилей в элемент памяти.
Обобщенная структура цифрового автомата базируется на концепции разделения системы на комбинационную часть и блок памяти.
В этой модели выделяются три ключевых вектора сигналов:
- Вектор входных сигналов — внешние воздействия на систему.
- Вектор выходных сигналов — реакция системы, передаваемая во внешнюю среду.
- Вектор внутренних состояний — сигналы, хранящиеся в блоке памяти и подаваемые по цепи обратной связи на вход комбинационной логики.
Комбинационная часть автомата решает две независимые задачи: формирование выходов и вычисление следующего состояния , которое должно быть записано в память.
Математическая модель последовательностной схемы
Для строгого инженерного анализа цифровых устройств используется математический аппарат теории конечных автоматов. Конечный автомат определяется как шестерка объектов: , где:
- , , — конечные непустые множества входов, выходов и состояний соответственно.
- — функция переходов, определяющая, в какое состояние перейдет автомат.
- — функция выходов, определяющая реакцию автомата.
- — начальное состояние системы при включении питания или после сигнала сброса.
В зависимости от того, как формируется функция выходов , вся классификация цифровых автоматов делится на два фундаментальных класса: автоматы Мили (Mealy) и автоматы Мура (Moore).
Автомат Мили
В автомате Мили выходной сигнал зависит как от текущего внутреннего состояния, так и от текущей комбинации на входах. Система уравнений, описывающая динамику автомата Мили в дискретном времени , выглядит так:
Главная инженерная особенность автомата Мили — «прозрачность» для входных сигналов. Изменение входа может мгновенно (с учетом задержки логических вентилей) изменить выход , даже если тактовый сигнал не поступал и внутреннее состояние не изменилось. Это делает схемы Мили более быстродействующими, но подверженными трансляции помех (гличей) со входов прямо на выходы.
Автомат Мура
В автомате Мура выходной сигнал является функцией исключительно внутреннего состояния. Входы влияют только на то, в какое состояние перейдет система на следующем шаге. Уравнения автомата Мура:
Схемотехнически это означает, что выходы автомата Мура изолированы от входов регистром памяти. Любые высокочастотные колебания или помехи на входах не отразятся на выходах до тех пор, пока автомат не перейдет в новое состояние. Это обеспечивает высокую стабильность выходных сигналов.
| Характеристика | Автомат Мили | Автомат Мура |
|---|---|---|
| Зависимость выхода | От входов и состояния | Только от состояния |
| Реакция на вход | Мгновенная (асинхронная) | Задержанная (до смены состояния) |
| Количество состояний | Обычно требуется меньше | Обычно требуется больше |
| Помехоустойчивость выхода | Низкая (пропускает гличи) | Высокая (выход стабилизирован памятью) |
Формы представления логики работы
Для синтеза реальных схем абстрактные функции и необходимо перевести в булеву алгебру. Проектирование начинается с формализации задачи одним из трех способов.
1. Таблицы переходов и выходов. Это двумерные матрицы, где строки соответствуют текущим состояниям , а столбцы — возможным входным комбинациям . На пересечении записывается следующее состояние и/или выход . Для бинарной логики эти таблицы напрямую трансформируются в карты Карно, из которых выводятся минимизированные булевы функции.
2. Графы переходов (диаграммы состояний). Вершины графа обозначают внутренние состояния . Направленные дуги показывают переходы. Для автомата Мили вес дуги записывается в формате (условие перехода / формируемый выход). Для автомата Мура выход привязан к вершине графа: в кружке пишется , а над дугой — только условие перехода .
3. Характеристические уравнения. Это аналитическое представление логики работы элемента памяти с использованием аппарата булевой алгебры, расширенного временными индексами. Например, характеристическое уравнение простейшей ячейки памяти описывается логической функцией:
Здесь (Set) и (Reset) — входные переменные, — текущее состояние, а — состояние, которое установится по завершении переходного процесса. Уравнение четко показывает: единица на выходе будет на следующем шаге, если сейчас подан сигнал установки (), либо если единица там уже была () и при этом нет сигнала сброса ().
Фактор времени: асинхронные и синхронные системы
Индекс в математических моделях означает «следующий дискретный момент времени». Но в реальной кремниевой структуре время непрерывно. Способ реализации перехода от к делит все последовательностные схемы на асинхронные и синхронные.
Асинхронные автоматы
В асинхронных схемах смена состояния происходит немедленно при изменении входных сигналов. Роль задержки времени, разделяющей и , играет естественная физическая задержка распространения сигнала через логические вентили ().
Проектирование асинхронных автоматов сопряжено с серьезной инженерной проблемой — состязаниями (гонками) сигналов. Если для перехода в новое состояние должны одновременно измениться несколько переменных состояния (например, переход от состояния к ), из-за микроскопической разницы в задержках вентилей схема фактически пройдет через промежуточное состояние или . Если это промежуточное состояние является устойчивым, автомат может «застрять» в нем, так и не достигнув целевого состояния . Такое явление называется критическим состязанием. Из-за сложности борьбы с гонками, асинхронные автоматы применяются редко, в основном там, где требуется предельно возможная скорость реакции, не ограниченная тактовым генератором.
Синхронные автоматы
Для устранения проблем с гонками вводится глобальный сигнал синхронизации — тактовый сигнал (Clock, CLK). В синхронных автоматах переход из состояния в разрешен только в строго определенные моменты времени, задаваемые активным фронтом или уровнем тактового импульса.
Введение тактового сигнала превращает непрерывное время в дискретное. В течение такта логические элементы комбинационной части могут переключаться сколько угодно раз, сигналы могут обгонять друг друга, могут возникать гличи. Но память зафиксирует результат вычислений (новое состояние ) только в момент прихода активного фронта CLK. К этому моменту все переходные процессы в комбинационной логике обязаны завершиться.
Для надежной работы синхронной последовательностной схемы необходимо строгое соблюдение двух временных параметров относительно фронта синхросигнала:
- Время предустановки () — минимальное время до активного фронта CLK, в течение которого входной информационный сигнал должен оставаться неизменным. Если сигнал изменится внутри этого окна, элемент памяти может перейти в метастабильное состояние (зависнуть между логическим нулем и единицей).
- Время удержания () — минимальное время после активного фронта CLK, в течение которого входной сигнал все еще не должен меняться, чтобы процесс записи надежно завершился.
Математическая модель автомата предполагает мгновенный переход, но реальное проектирование требует расчета временных ограничений. Максимальная частота работы синхронного автомата () строго ограничена сверху суммой задержки логики, времени предустановки и задержки самого элемента памяти:
Понимание математических моделей Мили и Мура, а также принципов синхронизации является фундаментом. Любой сложный цифровой узел — будь то счетчик команд микропроцессора или контроллер интерфейса — это комбинация логических вентилей, реализующих функции переходов и выходов , и элементов памяти, фиксирующих состояние строго по тактовому сигналу.