Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 192
Текст из файла (страница 192)
Как видно из рис. 8.91, 0-триггер берет выборки асинхронного входного сигнала на каждом такте системного тактового сигнала н вырабатывает синхронный выходной сигнал, значение которого удер- живается в течение следующего периода тактового сигнала. (а] синхронизирующее упройстео АЗУИС1И (асинхронны входной сиги СЬОСК АЗУИС1И ЕУИС1И Рис. 8.91. Простое синхронизирующее устройство на одном 0-триггерег (а) схема; (Ь) временные диаграммы (а) синхронизирующие )стройстве (асинхронны входной сигнал (сиотемный сигнал) Рис.
8.92. два синхронизируюыгих устройства для одного и того же асинхронного входного сигнала: (а) схема; (Ь) возможные временные диаграммы (системный сигнал) (Ь) С1.ОСК (Ь) СЬОСК АЯУИС1И БУИС1 ЗУИС2 8.8. Трудности синхронного проектирования 881 882 Глава 8. Практическая разработка схем последовательной логики сннхроннзнрующне Азумспч (асннхрон входной сн сьоск (снсземны Рис.
8.93. Асинхронный входной сигнал, поступающий на входы двух синхронизирующих устройств после прохождения через комбинационную логику память состояния сннхроннзнрующее язтнсги (асннхронны водной сипел 02 сьоск (снстемный Рис. 8.94. Асинхронный сигнал на входе конечного автомата, пропущенный через единственное синхронизирующее устройство Для асинхронных входных сигналов существенно, чтобы их привязка к тактовому сигналу производилась в системе только в одном месте; на рис. 8.92 показано, что может произойти в противном случае. Из-за физических задержек в схеме два триггера не видят тактовый сигнал и входные сигналы точно в один н тот же момент времени.
Поэтому в случае, когда асинхронный сигнал изменяется вблизи фронта тактового сигнала, существует небольшое временнбе окно, в пределах которого один триггер может воспринять и зафиксировать входной сиг нал как 1, а другой- как О. Противоположные значения сигналов на выходах этих триггеров могут стать причиной неправильной работы системы, одна часть которой будет вести себя так, как если бы входной сигнал был равен 1, а отклик другой части будет таким, как если бы этот сигнал был равен О. Если сигнал проходит через комбинационную логику, то наличие двух синхронизирующих устройств может не проявиться (рис.
8.93). Из-за различных задержек прохождения сигнала по разным путям в комбинационной логике вероятность появления на выходах триггеров несовместимых результатов только возрастает. Это распространенный случай, особенно тогда, когда асинхронные сигналы являются входными сигналами конечного автомата, поскольку две или более переменные состояния, вырабатываемые логикой возбуждения, могут зависеть от значения асинхронного входного сигнала. Правильный способ подачи асинхронного сигнала на вход конечного автомата показан на рис. 8.94. Логика возбуждения видит только один синхронзпированный входной сигнал ЕУМС1М.
8.8. Сбой в работе синхрониаирующего устройства и метастабильиость 883 стоитли волновлтьсят Вы, возможно, догадываетесь, что синхронизирующие устройства, изображенные на рис. 8.91 и 8.94, могут сработать неправильно. Зто может произойти из-за нарушения требований, предъявляемых временем установления и временем удержания синхронизирующих триггеров, поскольку асинхронный входной сигнал может измениться в любой момент времени, «Стоит ли волноваться?», скажете вы. «Если сигнал на входе 0 изменяется вблизи фронта тактового сигнала, то триггер либо увидит это изменение на данном такте, либо пропустит его сейчас и обнаружит на следующем такте. В любом случае это меня вполне устраивает!» Проблема все же есть, и она связана с существованием третьей возможности, рассматриваемой в параграфе 8.9.
8.9. Сбой в работе синхронизирующего устройства и метастабильность В параграфе 7.! было показано, что в случае, когда требования в отношении времени установления и времени удержания триггера не удовлетворены, триггер может войти в третье, лгетастабильное состояние посередине между О и 1. Хуже всего то, что время пребывания в этом состоянии, то есть время до того момента, когда триггер «свалится» в одно из его законных состояний — в состояние О или в состояние 1, — теоретически неограниченно. Некоторые из вентилей и триггеров, на входы которых поступает метастабильный сигнал, могут интерпретировать его как О„тогда как другие вентили и триггеры будут воспринимать его как 1, в результате чего возникнет того или иного рода несовместимость типа той, какая была указана на рис.
8.92. Впрочем, вентили и другие триггеры с метастабильным сигналом на входе, сами могут вырабатывать метастабил ьные сигналы на своих выходах (ведь, в конце концов, эти схемы оказываются в линейной части их передаточной характеристики).
К счастью, вероятность того, что сигнал на выходе триггера и дальше останется метастабильным, уменьшается со временем экспоненциально, хотя никогда и не становится равной нулю. 8.9.1. Сбой в работе синхронизирующего устройства Говорят, что в работе синхронизкрующего устройства произошел сбой (ггнслготхегуа(?вге), когда в системе используется выходной сигнал этого устройства, несмотря на то, что он остается метастабильным. Система может обезопасить себя от сбоев в синхронизирующем устройстве, если будет «достаточно долго» ждать, прежде чем воспользуется выходным сигналом этого устройства. Но что значит «достаточно долго»? Для этого необходимо, по крайней мере, чтобы среднее время между сбоями в синхронизирующем устройстве было на несколько порядков больше, чем планируемое разработчиком время использования системой выходного сигнала этого устройства, Метастабильность — это нечто болылее, чем академическая проблема.
Многим конструкторам довелось стать создателями высокоскоростных цифровых си- 884 Глава 8. Практическая разработка схем последовательной логики стем, которые страдали тем, что время от времени происходили сбои в их синхронизирующих устройствах !и которые, тем не менее, были доведены до серийного производства). Говорят, что связанные с метастабильностью проблемы первоначально были у целого ряда популярных ИС, в частности, у таких микросхем, как системный времязадающий контроллер АМР 95 ! 3, контроллер прерываний АМР 95!9, последовательный интерфейс ввода/вывода У.-80 фирмы 28!ой, однокристальный микрокомпьютер 8048 фирмы 1п1е! и й)8С-процессор АМР 29000. Вы, наверное, задаетесь вопросом: «И что, этих разработчиков еще не уволили?», Существует два способа избавиться от пребывания триггера в метастабильном состоянии: 1.
Принудительно переводить его в одно из его законных состояний с помощью сигналов, удовлетворяющих обьявленным требованиям в отношении минимальной длительности импульса, времени установления и т.д. 2. Подождать «достаточио долго», пока триггер сам собой не выйдет из со- стояния метастабильности. Неопытные проектировщики часто пытаются обойти метастабильность другим путем и, как правило, терпят неудачу. Одна из таких попыток представлена на рис.
8.95: коль скоро метастабильность является «аналоговой» проблемой, ее решение также должно быть «аналоговым», — так думает разработчик. Действительно, вентили с триггерами Шмитга на входах и с конденсаторами могут быть использованы в обычных условиях для очистки сигналов от шума. Однако вместо исключения метастабильности, такая схема только усилит этот эффект; построенная из вполне «достойных» элементов, эта схема навсегда войдет в режим колебаний, как только одновременно будут переведены на неактивный уровень сигналы 8 С и В !.. (Автор должен признаться, что болыпе 20 лет назад попытался это сделать!) В задачах 8.97 и 8.94 приведены примеры отважных, но неудачных попыток исключить метастабильность. Эти примеры позволят вам почувствовать, что проблемы, возникающие в связи с синхронизируюшими устройствами, могут быть очень тонкими, так что необходимо быть бдительным.
Единственный способ сделать синхронизируюшее устройство надежным состоит в том, чтобы ждать достаточно долго, пока выходной сигнал не перестанет быть метастабил ьиым. На вопрос: «Как долго надо ждать, чтобы этого было достаточно7» мы ответим в этом параграфе позже. 74ь8132 0 00 пФ 100пФ рис. 8.88. Неудачная попытка построить Зй-триггер, защищенный от мета стабильности 8.9. Сбой в работе оинхронизирующего устройства и мета отвбилыюоть 885 8.9.2. ВРемя выхода из метастабильности Если требования 0-триггера по времени установления и времени удержания удовлетворены, то триггер устанавливается в новое состояние в пределах интервала времени р, после того как прошел фронт тактового сигнала.
Если эти требования нарушены, то выход трнп.ера может быть метастабильным смэль угодно долго. Проектируя рг некоторую систему, мы пользуемся параметром гн носящим название времени вь«юг)а из «есгпастабильггостн (гпегпггаЫг9 резо(иноп гггпе), лля обозначения максимального времени, в течение которого выходной сигнал может оставаться метастабильным без ущерба для работы синхронизирующего устройства (и системы). Рассмотрим, например, конечный автомат, изображенный парис. 8.94. В этом случае мы располагаем следующим временем выхода из метастабильности: г=г — г — г с с1Ь сонеЬ ее~ор' где г — период тактового сигнала, г — задержка распространения сигнала по св еанЬ комбинационной логике и г, — время установления триггеров, используемых в памяти состояния, 8.9.3.
Разработка надежного синхронизирующего устройства Самое надежное синхронизирующее устройство — это такое устройство, которое успевает за отведенное время выйти из метастабильности. Но при проектировании цифровой системы мы редко можем позволить себе роскошь понизить тактовую частоту ради надежности. Обычно, напротив, от нас требуют повыктгть тактовую частоту, чтобы система обладала лучшими характеристиками. Поэтому чаше всего нам нужно, чтобы синхронизирующее устройство работало надежно при очень малых значениях периода тактового сигнала.
Мы представим несколько таких схем и покажем, как можно оценить их надежность. Как сказано выше, у конечного автомата с асинхронным входом, структура котоРого показана на Рис. 3,94, вРемЯ выхода из метастабил ьности Равно Г = г в— — Чтобы сделаты возможно большим при заданном периоде тактового сигнала, нам следует минимизироваты ь и г . Значение ! определяет- оннь ееер' сещр ся типом триггеров, используемых в памяти состояния; в общем случае, у более быстрого триггера время установления меньше. Минимальное значение г „равно со~нь О и достигается в синхронизирующем устройстве, приведенном на рис. 8.9б; сейчас мы объясним, как работает эта схема. синхронизирующее устройство явуысгы (асинхронный входной сигнал сьоск (сисгеыный тактовый сигнал) Рис. 8.88.