Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 144
Текст из файла (страница 144)
Оба блока Е и й являются строю комбинационными схемами. Сказанное можно выразить в виде следующей записи: 7.3. Анализ тввтвтквувтивтх еинхронных конечных автоматов 646 Следующее состояние = р (текущее состояние, вход) Выход = б(текущее состояние, вход). Память состояния конечного автомата может быть построена на 0-триггерах, переключающихся по положительному фронту; в этом случае все события происходят в моменты времени, соответствующие нарастаюьцим фронтам тактового сигнала. Возможно талже использование в памяти состояния переключающихся по отрицательному фронту 0-триггеров, 0-защелок или дк-трнггеров. Но ввиду того, что большинство конечных автоматов создаются сегодня на основе программируемых логических устройств с переключающимися по положительному фронту 0-триггерами, мы сконцентрируем свое внимание именно на этом случае.
7.3.2. Выходная логика Представленная на рис. 7.35 последовательностная схема, выход которой зависит как от состояния, так и от входа, называется автоматом Мили (Меа!у тас7ттпе). В некоторых приложениях выход зависит только от состояния: Выход = 0 (текущее состояние).
Такая схема называется автпаиаптом Мура (Мооге тас)ттпе); ее общая структура приведена на рис. 7.3б выходы тактов сиптая Рно. 7.36. Структура тактируемого синхронного конечного автомата (автомата Мура) Очевидно, что единственное различие между этими двумя моделями конечных автоматов заключается в том, как вырабатываются выходные сигналы. На практике многие конечные автоматы должны быть отнесены к автоматам Мили, поскольку у них имеется один или большее число выходов типа Мили, то есть выходов, зависящих не только от состояния, но также и от входа.
Однако многие из автоматов имеют также один илн большее число выходов птипа Мура, которые зависят только от состояния. При проектировании быстродействующих схем часто бывает необходимо обеспечить возникновение новых значений выходных сигналов возможно раньше и гарантировать, что они не будут меняться в течение периода таловою сигнала. Один нз способов достижения этого состоит в таком кодировании состояния, когда сами переменные состояния служат выходами. Мы называем такой способ записью состояния в форне выходного кода (онгрнг-соттей згате амтдтттепг); в результате 646 Глава 7. Принципы проектирования последсввтельностных схем получается автомат Мура, у которого выходная логика, указанная на рис.
7 36, отсутствует, то есть реализуется непосредственными соединениями Другой подход заключается в построении такого конечного автомата, у которого выходы в течение данного периода тактового сигнала зависят от состояния и сигналов на входах в предыдущем периоде тактового сигнала. Мы говорим в таком случае о конвейерном выходе (ркрейпек( оигриг), который можно реализовать, подключив еще один блок памяти (состоящий из триггеров) к автомату Мили со стороны его выходов, как это сделано на рис. 7.37. входы аейерные оды тактов сигнал Рис. 7.37. Автомат Мили с конвейерным выходом Путем соответствующих преобразований схемы или рисунка можно один конечный автомат отобразить на другой.
Например, можно было бы триггеры, реализующие конвейерный выход в автомате Мили, объявить частью его памяти состояния и тем самым придти к автомату Мура с записью состояния в форме выходного кода. Строгое отнесение конечного автомата к тому или иному классу не так важно. Важно другое — ваше представление о структуре выходных цепей и то, в какой мере достигаются цели всего вашего проекта, включая требования по временным параметрам и гибкости. Например, конвейерной организацией выхода удобно осуществить привязку по времени, но этим можно воспользоваться только в том случае, когда вы в состоянии вычислять очередное желаемое значение выходного сигнала заранее, за один период тактового сигнала до наступления соответствующего момента времени.
В любом приложении можно использовать различные подходы к разным выходным сигналам. В разделе 7 11 5 мы увидим, в частности, что различную организацию выходных цепей можно задавать с помогцью соответствующих операторов языка АВЕЕ. 7.3.3.Характеристическиеураанения Функциональное поведение защелки или триггера можно описать формально с помощью характеристического уравнения (сгкагасГегаг1с едиаиоп), посредством которого следующее состояние триггера задается как функция его текущего состояния и значений сигналов на его входах.
В табл. 7.! перечислены характеристические уравнения для триггеров, рассмотренных в параграфе 7.2. Принято считать, что звездочка * (* вифх) в записи О* означает «следующее значение О». Заметьте, характеристическое уравнение 7.3. Анализ тактируемых синхронных конечных автоматов 647 не содержит деталей того, как ведет себя устройство во времени (зашел кивание или переключение по фронту и т д ); оно выражает собой функциональный отклик на управляющие сигналы. Как мы вскоре увидим, такое упрощенное описание полезно при анализе конечных автоматов.
Табл. 7.1. Характеристические уравнения защелок и триггеров Характеристическое уравнение Тип схемы 7.3.4. Анализ конечных автоматов с 0-триггерами Рассмотрим формальное определение конечного автомата, данное выше: Следующее состояние = г (текущее состояние, вход) Выход = б (текущее состояние, вход). Помня, что «состояние» заключает в себе все, что нужно знать о прошлом данной схемы, о ее предыстории, мы видим, что согласно первому из приведенных равенств, все, что нам нужно узнать о ближайшем будущем, можно определить ло тому, что известно сейчас, и по текущим значениям входного воздействия, Второе равенство говорит нам о том, что из той же самой информации можно извлечь текущие значения выходных сигналов. Цель анализа последовательностной схемы состоит в таком определении логических функций переходов и выхода, чтобы поведение схемы было предсказуемым.
Анализ тактируемых синхронных конечных автоматов выполняется в три основных шага: П Определяются функции переходов и выхода г и Ы 2. Функции г и б используются для построения таблицы «состояние/выход» (вгшеlоигри~ ГаЫе), которой полностью задаются следующие состояния и выходы схемы лри всех возможных комбинациях текущего состояния и текугцих значений входных сигналов. (Необязательный шаг) Вычерчивается диаграмма состояний (вгаге Йай ат), представляющая информацию, полученную на предыдущем шаге, в графической форме. На рис. 7.38 показан простой конечный автомат с двумя 0-триггерами, переключающимися ло положительному фронту.
Чтобы определить функцию пере- ЯВ-защелка 0-защелка Переключаюшийся по фронту 0-триггер 0-триггер с входом разрешения Двухтактный ЗВ-триггер Двухтактны й йк-триггер Переключаюшийся по фронту ВК-триггер Т-триггер Т-триггер с входом разрешения 0к=з+В' 0 0* = 0 0*=0 0* = ЕМ. О+ Ей' 0 0*=8 +В' 0 0* =6 0'+ К' 0 0'=6.0'+К' 0 0«=0' 0* = ЕН 0'+ ЕГ»' 0 ВФВ Глава 7. Принципы проектирования послвдоватвльностных схем ходов г", мы должны рассмотреть сначага поведение памяти состояния.!)а нарастающем фронте тактового сигнала в каждом 0-триггере берется выборка сигнала на входе 0 и зто значение передается на выход триггера 0; характеристическое уравнение 0-трнггера имеет вид О» = О.
Поэтому для определения следующего значения 0 )то есть величины О») нам необходимо знать текущее значение входного сигнала О. Память Выходная ссс(свеи логика 6 выход Логика переходов г ськ Рис. 7.38. Тактируемый синхронный конечный автомат с О-триггерами, пе- реключающимнся по положительному фронту В схеме парис. 7.33 имеется два 0-триггера и сигналы на их выходах названы 00 н 01. Эти два выходных сигнала являются переменными состояния; их значения — это текущее состояние автомата. Сигналы на 0-входах соответствующих триггеров названы 00 и 01.
Эти сигналы играют роль возбуждения (ехс((а((оп) для 0-триггеров на каждом такте, Логические соотношения, выражающие сигналы возбуждения через текущее состояние н значение входного сигнала, носят название уравнении возбуждения (ехс((а((оп едва((опт), и их можно вывести из схемы автомата; 00 = ЯО Ей' + ОО' ЕМ 01 = 01 Е)Ч'+ 01' 00 Е)Ч+ О1 ООс ЕМ. Принято следующее значение переменной состояния, то есть ее значение после контрольного момента в тактовом сигнале, обозначать добавлением звездочки к имени переменной состояния, например, 00* или 01». Воспользовавшись характеристическим уравнением 0-триггера )С)* = О), мы можем описать функцию переходов в нашем примере уравнениями для очередных значений переменных состояния: 7.3.
Анализ тактируемых синхронных конечных автоматов 649 00* = (70 Я1" = ГЗ1. Г!одставляя (10 и Г)1 из уравнений возбуждения, получаем: (20« =. 00 ЕМ'+ ОО«ЕИ О1*= С)1 Е(Ч'+О1' (20 Е(«(+ 01 00' ЕН. Табл. 7.2. Таблица переходов, таблица состояний и таблица «состояние/вы- ход» для конечного автомата, приведенного на рис 7 38. 8 0 1 8 А А В А 0100 0 00 00 0! А,О В.О В,О С,О С.О ГЗ.О ГЗ,О А,! В В С С С С О! 10 !О 11 В С 1) 00 О! «С!О«. С ГЗ А 8*.