stringtranslate.com

Контроллер Ричардса

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

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

История

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

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

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

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

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

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

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

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

Ссылки

  1. ^ Чарльз Л. Ричардс, Простой способ проектирования сложных программных контроллеров. Электроника, 107–113, февраль 1973 г.