Проектирование конечных автоматов: от концепции к реализации
До сих пор мы фокусировались на комбинационной логике, где выходы зависят исключительно от текущих входов. Во многих реальных приложениях схемы должны сохранять память о прошлых входах и адаптировать свои выходы соответственно. Такие схемы известны как последовательные схемы.
Эта статья проводит через сквозной процесс проектирования последовательной схемы, проиллюстрированный на практическом примере: цифровая викторина, которая должна генерировать однократный HIGH-импульс длительностью в один тактовый цикл каждый раз, когда пользователь нажимает кнопку.
Шаг 1 — Определение требования
Начните с формулировки желаемого поведения на простом языке:
«Нам нужна второстепенная схема, выдающая один HIGH-импульс на один тактовый цикл при нажатии кнопки, и игнорирующая дальнейшие нажатия до отпускания и повторного нажатия кнопки.»
Шаг 2 — Построение диаграммы состояний
Диаграмма состояний визуализирует работу автомата. Каждый круг представляет состояние, а стрелки — переходы, запускаемые входом каждый тактовый цикл. Ниже диаграмма — автомат Мура, где выход зависит только от текущего состояния.

Описание состояний:
- Ожидание (Stand-by) — начальное состояние ожидания.
- Активация импульса (Activate Pulse) — генерирует HIGH выход.
- Цикл ожидания (Wait Loop) — удерживает LOW выход до отпускания кнопки.
Стрелки помечены значением входа, запускающим переход. Например, из состояния Ожидание вход «1» переводит автомат в Активация импульса; «0» оставляет в Ожидании.
Шаг 3 — Бинарное кодирование состояний
Назначьте бинарные коды каждому состоянию, начиная с 0 для начального. Кодировка ниже использует два бита, достаточно для трех состояний.

Шаг 4 — Построение таблицы состояний
Таблица состояний перечисляет все комбинации текущего состояния и входа, вместе со следующим состоянием и выходом. Столбцы соответствуют битам текущего состояния, битам входа, битам следующего состояния и битам выхода. Для данного примера таблица показана ниже.

Ключевые моменты:
- Каждая строка покрывает каждую возможную бинарную комбинацию состояния и входа.
- Строки, соответствующие несуществующим состояниям, помечены don't-care (X).
- Столбец выхода отражает выход Мура, независимый от входа.
Шаг 5a — Подготовка к реализации на D-триггерах
Для реализации автомата обычно используют триггеры. Для D-триггера вход, необходимый для достижения следующего состояния, — это просто значение следующего состояния. Расширьте таблицу состояний столбцом для каждого D входа.

Шаг 5б — Подготовка к реализации на JK-триггерах
Если выбран JK-триггер, добавляются два столбца (J и K) на триггер. Их значения выводятся из таблицы возбуждения JK:

Пример отображения: для перехода из 0 в 1 установите J=1 и K=X (don't-care).

Шаг 6 — Вывод булевых функций через карты Карно
Используйте карты Карно для упрощения выражений для каждого входа триггера и для выхода. Карты ниже иллюстрируют процесс для реализаций на D и JK.
Входы D-триггера:

Входы JK-триггера:


Функция выхода:


Шаг 7 — Сборка физической схемы
С булевыми уравнениями в руках соберите схему, используя триггеры и логические гейты. Не забудьте подключить такт ко всем триггерам. Завершенный дизайн на D-триггерах показан ниже.

Версия на JK-триггерах выглядит так:

После сборки схема будет генерировать чистый однократный HIGH-импульс на каждый нажатие кнопки, независимо от того, как долго кнопка удерживается.
Ключевые выводы
- Последовательная логика сохраняет память о прошлых входах, позволяя динамическое поведение.
- Конечные автоматы дают строгий фреймворк для моделирования такого поведения.
- Триггеры реализуют КА в железе, переводя переходы состояний в физические выходы.
- Системный поток проектирования — требования, диаграмма, кодирование, таблица, синтез логики, сборка — обеспечивает надежные схемы.
Промышленные технологии
- Гистерезис в тиристорах: как положительная обратная связь обеспечивает защелкивание
- Эволюция CNC станков: От 18-го века к ИИ-точности
- CNC станки: Повышение производства, сокращение затрат, обеспечение точности
- 15 основных типов фрезерных станков для точной металлообработки
- Обновление устаревших станков для успеха в Индустрии 4.0
- Офсетные печатные машины: обзор и преимущества
- Продвинутые флексографные печатные машины: универсальные высококачественные решения
- Полное руководство по станкам точного шлифования
- Универсальные фрезерные станки: резка, сверление и многое другое
- Освоение растачивающих станков: технологии, применение и точное машиностроение