Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 160
Текст из файла (страница 160)
Поэтому эти состояния совместимы и их можно заменить в сокращенной таблице потока одним состоянием ЮЕЕ. То же самое можно сказать о состояниях РЕ81 и Р(.82 (заменяемых на Р08) и о состояниях йЕ82 и ЙЕВН (заменяемых на йЕ8). Результирующая сокращенная таблица потока всего с тремя состояниямии представлена на рис. 7.92. Р й 8 ОО 01 11 10 2 101.Е ( 101.1-,) ( !0ф ЙЕ8 Р1.8 Р1.8 ! РЮ) 10! Е йЕ8 ( Р1,8) ЙЕБ 10ЕЕ 10ЕЕ ( ЙЕ8) ( ЙЕ8) Рис.
7.92. Сокращенная таблица потока для ловушки импульсов *7.10.4. Кодирование состояний, гарантирующее отсутствие гонок Следующий, в определенной мере творческий (читай: ктрудный») шаг в проектировании последовательностной схемы с обратной связью заключается в нахождении такого способа присвоения кодов состояниям, называемым в сокращенной таблице потока по именам, при котором не было бы гонок, Напомним, что, согласно сказанному в разделе 7.9.3, гонка возникает в том случае, когда в результате изменения одного входного сигнала изменяется несколько внутренних переменных состояния.
В последовательностной схеме с обратной связью недопустимы никакие критические гонки; в противном случае схема может вести себя непредсказуемо. Как мы увидим, для исключения гонок часто оказывается необходимым увеличить число состояний схемы, Возможность наличия гонок в таблице переходов схемы можно проанализировать с помощью диаграммы смежности состояний (ггаге агуасенсу йаКгат) для ее таблицы потока. Диаграмма смежности представляет собой упрощенную 7.ЗО. Проектирование последовательностных схем с обратной связью 723 , иаграмму состояний, где опущены пути, по которыл! состояния замыкаются сами на себя, и не указаны направления переходов (переход А — э В изображается точно так же, как  — > А) и вызывающие их комбинации входных сигналов.
На рис. т 9З приведен пример таблицы потока лля схемы классического образца, на рис. 7 94(а) — соответствующая диаграмма смежности. Рис. 7.93. Пример таблицы потока к задаче выбора кодов состояний ХУ 3 00 О! )! )О А Д В ОА В в ДВ ОВ В ДВ С Я А А Я (э Со в Д с !о 11 ° ° (Ь) (с) ь — - ° ао о! Рис. 7.94. Пример кодирования состояний: (а) диаграмма смежности; (Ь) 2-мерный куб; (с) один из восьми возможных способов кодирования состояний без гонок Два состояния называют смежными (афасепг зГаГез), если они связаны дугой на диаграмме смежности состояний.
Для того чтобы при переходах не было гонок, коды смежных состояний должны различаться только в одном разряде. Если два состояния А и В являются смежными, то неважно, имеется ли в исходной таблице потока переход от А к В или от В к А, или переходы могут происходить в обоих направлениях. Любой из этих переходов может содержать гонку, если состояния А и В различаются более чем одной переменной состояния. Вот почему нет необхолимости в указании направления переходов на диаграмме смежности. Задача нахождения свободного от гонок кодирования состояний посредством и переменных состояния эквивалентна отображению узлов и дуг диаграмм смежности на вершины и ребра н-мерного куба. На рис.
7.94 это сводится к отображению диаграммы смежности, изображенной парис. (а), на 2-мерный куб, представленный парис. (Ь). Вы можете визуально найти восемь способов осуществить такое отображение (четыре вращения умножить на два зеркальных соответствия), один нз которых приводит к присвоению состояниям кодов, указанных на рис. (с). 724 Глава 7. Принципы проектирования последоввтельноетных схем На рис. 7.95(а) показана диаграмма смежности для нашей ловушки импульсов, построенная по сокращенной таблице потока, приведенной на рис.
7.92. Ясно, что не существует отображения этого «треугольникал состояний иа 2-мерный куб. Все, что мы можем сделать, это вернуться назад и видоизменить исходную таблицу потока. В частности, в таблице потока бывают указаны состояния, которых схема должна достичь в каждом переходе в конце концов, но она не запрещает схеме пройти через другие состояния на этом пути. Как показано на рис, 7.96, можно ввести новое состояние РЕЗА и заставить схему переходить из состояния РЕЗ в состояние ВЕЗ через состояние ВЕЗА.
Новая диаграмма смежности для видоизмененной таблицы состояний изображена на рис. 7.95()з), и у нее уже много возможных способов кодирования, свободных от гонок. Таблица переходов, основанная на кодировании, указанном на рис. 7.95(с), приведена на рис. 7.98. Заметьте, что переход РЕЗ -э ВЕЗА -+ ВЕЗ будет происходить дольше, чем другие переходы в исходной таблице потока, так как для этого требуется два изменения внутреннего состояния,на которые уйдет удвоенное время распространения сигналов по петлям обратной связи.
(а Рис. 7.95. Диаграмма смежности для ловушки импульсов; (а) согласно ис- ходной таблице потока; ()з) после добавления еще одного состояния; (с) один из восьми возможных способов кодирования состояний без гонок Р В 5 00 О! !! !О 2 (Я Е ) (!(э!.Е ) ( РЕЗ ) )О~Е ВЕЗ Р(8 0 ВЕЗА (Р!8 ) ! !()~Е РЕЗ ВЕ8 ВЕЗ Ю~Е (О!.Е (ВЕЗ ) (ЯЕЗ ) 0 Рис. 7.86. Таблица состояний, допускающая кодирование без гонок, для ло- вушки импульсов 7 10. Г)роектирование последоввтепьиостимх схем с обратной связью 725 г)РИСВОЕНИЕ КОДОВ В ОБЩЕМ СЛУЧАЕ Можно показать, что при наличии в таблице потока 2" строк свободное от гонок кодирование возможно при использовании 2п — ! переменных состояния (см.
Обзор литературы). Однако на практике встречается не много применений схем классического образца с числом состояний, превосходящим несколько единиц. Поэтому общий случай представляет, скорее всего, только академический интерес. (а) Рис, 7.97. Худший случай: (а) диаграмма смежности для 4-х состояний; (Ь) кодирование с использованием пар эквивалентных состояний Рис. 7.98. Свободная от Р Н гонок таблица переходов у1 у2 ()б б! )! )() 2 для ловушки импульсов оо 0об 0оо )о о! о о! 0()! оо )! Е!) )! — — )О )о (к) бй Я Я б У1* У2* Несмотря на то, что мы добавили в нашем примере одно состояние, мы обошлись все же двумя переменными состояния. Однако для того, чтобы избежать гонок, иногда может понадобиться добавить одну или большее число переменных ~остояния. На рис. 7.97(а) показана худшая из возможных диаграмма смежи зсти при наличии четырех состояний: каждое состояние является смежным с каждым другим.
Ясно, что такую диаграмму смежности нельзя отобразить на 2-мерный кУб. Существует, однако, свободное от гонок кодирование состояний путем соотнесения их с вершинами 3-мерного куба; ~акое кодирование представлено на Рис. 7.97(Ь): каждому состоянию в исходной таблице потока поставлено в соот- 726 Глава 7. Принципы проектирования последовательностных схем ветствие два эквивалентных состояния в итоговой таблице состояний, Оба состояния в паре, скажем А1 и А2, эквивалентны и обеспечивают один и тот же сигнал на выходе. Каждое состояние является смежным с одним из состояний во всех других парах, так что для каждого следующего состояния можно выбрать переход, при котором не будет возникать гонка.
*7.. 16 5. Уравнения возбуждения Получив таблицу переходов схемы, свободную от гонок, мы можем теперь выполнить рутинную работу по выводу уравнений возбуждения для цепей обратной связи. На рис. 7 99 представлены карты Карно, составленные по таблице переходов для ловушки импульсов, приведенной на рис. 7 98. Обратите внимание нато, что следствием наличия в таблице безразличных следующих состояний и значений выходного сигнала стало содержимое соответствующих клеток в картах, что упрощаетлогику возбуждения илогику выхода.
Результирующие выражения для сигналов возбуждения и для выходного сигнала в форме «сумма произведений» имеют следующий вид: У1* = Р В + Р У1 у2* =у2 В'+у1' 12 Р+у1' Р В' 7 =У2. к г о тя я т! т2 ~к о~о~ о~ Уз~1 1 6 та н' Рис. 7.99. Карты Карно для логики возбуждения и логики выхода ловушки импульсов Вспомним теперь, что в логике возбуждения последовательностной схемы с обратной связью не должно быть источников опасности. Так уж вышло, что полученные нами выражения вида «сумма произведений» не только являются минимальными, но и не содержат источников опасности.
Поэтому эти выражения могут служить основанием для построения ловушки импульсов, принципиальная схема которой представлена на рис. 7.100. Рис. 7.100. Ловушка импульсов *7.10.6. Существенные источники опасности Г!осле всех затраченных усилий вы можете подумать, что схема, к которой мы пришли, будет надежно работать всегда. К сожалению, для полной уверенности в этом оснований пока нет. В общем случае для надлежащей работы схемы классического образца должны удовлетворяться следующие пять требований: 1. Только один входной сигнал может изменяться каждый раз с некоторым ограничением на минимальное время между последовательными изменениями на входах.
2. Должен существовать максимум для задержки распространения при прохождении сигнала через логику возбуждения и по цепям обратной связи; этот максимум должен быть меньше времени между последовательными изменениями на входах. 3. Кодирование состояний и таблица переходов должны обеспечивать отсутствие критических гонок. 4 В логике возбуждения не должно быть источников опасности. Минимальная задержка распространения сигналов по логике возбуждения и цепям обратной связи должна превосходить максимальный разброс времени прохождения сигналов через «входную логику». ьез первого требования было бы невозможно удовлетворить главную предпосылку работы схемы по классическому образцу, согласно которой у схемы должно быть время для того, чтобы между последовательными изменениями вход"ых сигналов успевало установиться устойчивое состояние в целом.
Второе 728 Глава 7. Принципы проектирования последовательностных схем требование заключается в том, что логика возбуждения должна быть достаточно быстродействующей, чтобы могло осуществляться то, о чем только что было сказано. Выполнение третьего требования гарантирует, что надлежащие изменения состояний будут происходить, даже если у цепей возбуждения для разных переменных состояния задержки будут различными. Четвертым требованием, когда оно выполнено, обеспечивается неизменность тех переменных состояния, которые при данном переходе должны сохранять свои значения. Последнее, пятое требование относится к трудно уловимым временным погрешностям, которые могут прояшиться в схемах классического образца даже в тех случаях, когда первые четыре требования удовлетворены.
Речь идет о существенном источнике опасности 1еззептга! ЬагагО, то есть о возможности того, что схема перейдет в ошибочное следующее состояние в результате изменения одного входного сигнала; ошибка происходит в том случае, когда изменение входного сигнала не успевает достичь всех цепей возбуждения до того, как являющийся следствием этого изменения переход переменной состояния (или переходы нескольких переменных) вернется назад к входам цепей возбуждения. В мире, где обычно действует правило «чем быстрее, тем лучше», конструктору иногда приходится притормозить логику возбуждения, чтобы скрыть эти источники опасности. Существенные источники опасности лучше всего объяснить на каком-либо примере, и таким примером вполне может служить наша ловушка импульсов.