Контроллер Richards - Richards controller

В Контроллер Richards это метод реализации конечный автомат используя простой интегральные схемы и комбинационная логика. Метод был назван в честь своего изобретателя Чарльза Л. Ричардса. Одно из явных преимуществ этого метода перед обычными методами проектирования конечных автоматов.[который? ] состоит в том, что он позволяет проще проектировать сложные конечные автоматы, чем традиционные методы диаграммы состояний, таблицы перехода состояний и предложение булевой алгебры. Используя технику Ричардса, становится проще реализовать конечные автоматы с сотнями или даже тысячами состояний.

История

Контроллер Ричардса был разработан из-за необходимости в более простом методе проектирования конечных автоматов, чем использование традиционного метода диаграмм состояний, таблиц переходов состояний и минимизации логики. В это время,[когда? ] многие из компьютерный минимизация логики инструменты, которые у нас есть сегодня[когда? ] не существует. Следовательно, минимизация логики по большей части ограничивалась использованием Карты Карно и Закон ДеМоргана. Из-за этого Чарльз Л. Ричардс изобрел метод реализации конечного автомата, который не нуждался в явной таблице переходов состояний. Он опубликовал свои выводы в февральском выпуске журнала 1973 г. Электроника.[нужна цитата ] Его обобщенная реализация стала популярной и к 1980-м годам считалась классическим методом проектирования. Хотя маловероятно, что коммерческие продукты, имеющиеся сегодня, содержат классический контроллер Ричардса (поскольку сейчас существуют более быстрые конструкции, чем те, которые используют загружаемые счетчики), существует большая вероятность использования модифицированного контроллера Ричардса или конструкции, заимствованной из контроллера Ричардса.[нужна цитата ].

Приложения

Благодаря способности контроллера Ричардса легко масштабироваться для использования многих состояний, его можно использовать во многих практических приложениях.

Блок-схема Ричардса

Простые условия и функции
Простая блок-схема Ричардса

Контроллер Ричардса - это Мучная машина поскольку его выход зависит как от текущего состояния, так и от входа. Однако Ричардс разработал свой собственный метод представления состояний с использованием блок-схемы вместо диаграмма состояний. Каждое состояние представлено как условие передачи на блок-схеме. Каждое условие имеет два пути управления, выходящие из него: ДА или НЕТ. Условие - ДА или НЕТ (ИСТИНА или ЛОЖЬ) в зависимости от ввода одного бита в машину. (Ричардс, стр. 108) В зависимости от того, какой ввод для условия, будет выполняться одна из двух передаточных функций, связанных с этим условием. Машина рассматривает выполнение функции как установку выхода одного вывода на устройстве, это может использоваться для запуска комбинационной логики. После выполнения передаточной функции машина перейдет в новое состояние, каждая передаточная функция будет явно или неявно определять новое состояние для перехода. Неявное определение состояния также можно назвать значением по умолчанию, поскольку оно будет происходить без каких-либо дополнительных схем со стороны разработчика, если условие - ДА, тогда оно перейдет к следующему состоянию численно. Например, если вы находитесь в состоянии 0 и появляется ДА, вы перейдете в состояние 1. Если условие - НЕТ, то машина останется в своем текущем состоянии. Используя такое поведение, можно создать машину с простой последовательной блок-схемой. Конечно, последовательная машина обычно не очень полезна, но, к счастью, есть способ перехода в состояния не по порядку, используя так называемый переход. Для реализации перехода требуется дополнительное оборудование для выбора состояния назначения. Точное оборудование зависит от выполняемой функции.

Ядро контроллера

Схема базового контроллера Richards

Ядро ядра контроллера Ричардса можно разделить на четыре части: счетчик, мультиплексор и два декодера. Простой контроллер может быть построен с использованием классической серии 7400 логических интегральных схем TTL. Используемый счетчик - 74163, мультиплексор - 74151, а два декодера - это часть 7442. (Ричардс, стр. 108). Выход счетчика выбирает, какой бит со входа мультиплексора должен быть отправлен на выход Y (обратное значение которого отправляется на выход WN). Если Y высокий, то счетчик разрешен. увеличивать, иначе это не так. Аналогично, Y должен быть высоким, чтобы разрешить выходы функции YES, поскольку вход D на декодере подключен к WN, в то время как он должен быть низким, чтобы разрешить выходы функции NO, поскольку вход D на этом декодере установлен в Y. jump необходимо установить бит LDN на счетчике и входы A, B, C и D. LDN сообщает счетчику загрузить значение на входы A, B, C и D. Используя некоторую комбинационную логику, вы можете загрузить значение в счетчик для определенных функций, но не для других, а также указать адрес состояния для загрузки, учитывая, какая функция активна. Для этого достаточно построить таблицу функций и состояний, в которые они должны перейти, а затем найти выражение логической алгебры для каждого бита, составляющего адрес состояния, в которое нужно перейти.

Смотрите также

Рекомендации

  • Richards, Charles L .; Простой способ создания сложных программных контроллеров. Электроника, 1 (февраль 1973): 107–113.
  • Вакерли, Джон Ф .; Цифровой дизайн - 3-е издание. Река Аппер Сэдл, Нью-Джерси: Prentice-Hall Inc. 2001.