Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 158
Текст из файла (страница 158)
Такой случай называется критической гонкой (сг>г>са! гасе). Рис. 7.81. Таблица переходов с критической гонкой С1.К 0 У! У2 УЗ ()О 01 11 и! о> О (!хх)) Схх>) о>1 ооо го>х) 000 010 001 О!1 Е (»м 010 010 111 1!1 о>п 011 100 011 О!1 111 111 О>О С>О) Щ ! С>1) С>1) (П> ! ) 110 У!" У2- УЗ. целом 010Л О. В этом нет ничего страшного, поскольку в обоих случаях следующим за временно посещаемыми состояниями ящщется одно и то же внутреннее состояние 000; это означает, что в те моменты, когда схема пребывает во временных состояниях, логика возбуждения продолжает вести петли обратной связи в направлении к одному и тому же устойчивому состоянию а целом 000110. Поскольку конечное состояние не зависит от порядка, в котором изменяются переменные состояния, такая гонка называется некритической 1нопсг>г>са! >'осе), 7.9.
Послех<оввтельностные схемы с обратной связью 713 ОСТЕРЕГАЙТЕСЬ КРИТИЧЕСКИХ ГОНОК Проектируя последовательностную схему с обратными связями, вы должны быть уверены, что таблица переходов не содержит критических гонок. В противном случае цепь будет функционировать непредсказуемым образом с совершенно неожиданными переходами в зависимости от таких факторов, как температура, напряжение питания и фаза луны. *7.9.4. Таблицы состояний и таблицы потока днализ реальной таблицы переходов <)-триггера в нашем примере <рис 7.79) показывает, что в ней нет критических гонок; в ней нет других гонок, кроме некритической гонки, разобранной нами выше.
После того как этот факт установлен, нам больше не нужны переменные состояния. Вместо этого комбинации переменных состояния можно называть по именам и для каждой комбинации состояние/вход найти значения выходных сигналов, чтобы составить таблицу состояние/выход типа той, какая приведена на рис. 7.82. Рис. 7.82.
Таблица состояние/выход для <)-триггера, изображенного на рис 7 78 Ськ 0 3 00 О! 1! 10 ®.О! Е.О< 80 П) 80 .10 ЯО 82,0! 82 .(Ц 81 83 .10 - О-О! 83 083 . Н) 84 82 .<)1 83 .!О 86,0! 86 .О! 80,01 87 .!О 87 . 10 80 .01 82 .01 87 . 11 87 . 1! 85 83.!О 86 82 .01 87 33 .10 ЯЗ .10 ОЯ О~ .!О 87 .10 87 .10 87 .11 87,1! О87 . !О 6,10 3". 0 С)М Таблица состояний показывает, что при однократном изменении какого-либо из входных сигналов схема совершает множественные «скачки», прежде чем достигнет нового устойчивого состояния в целом.
Если, например, схема находится в состоянии 80/11 и входные сигналы принимают значения 01, то схема сначала переходит в состояние 82 и только затем попадает в устойчивое состояние в целом 88/01. В»)аб«л«е потока </<он гаЫе) множественные скачки не принимаются во внимание, а сразу указывается конечное состояние каждой цепочки переходов. В таблице потока исключаются также строки, соответствующие не используем ым состояниям, то есть таким состояниям, которые не являются устойчивыми ни пои 714 Глава 7. Принципы проектирования последовательностных схем каких комбинациях входных сигналов.
Кроме того, оставляются незаполненными те места, предназначенные для указания следующего состояния, которые, как состояние в целом, не могут быть достигнуты ни из какого устойчивого состояния в целом, как результат изменения лишь одного из сигналов. Составленная по этим правилам таблица потока для 0-триггера в нашем примере приведена иа рис. 7.83 Рнс.
7.83. Таблица по- ток/выход для 0-триггера, изображенного на рис. 7. 76 С(.К 0 8 00 01 11 1О (80). и! ® , и! 80 82 .01 86 .01 82 ©2,01 86 .01 83 ©3, 10 87, 10 86 82 .01 ~ф6).01 87 83, 1О (87), 10 80, 10 80 .01 87, 11 О За поведением триггера, переключающегося по фронту, можно проследить по последовательности переходов от состояния к состоянию, как показано на рис. 7.84.Предположим, что вначале триггер находится в состоянии 80/10, то есть в нем записан 0 (поскольку 0 = 0), сигнал С(.К равен 1, сигнал 0 имеет нулевое значение. Пусть сигнал 0 изменяется и становится равным 1; из таблицы потока следует, что схема сдвинется на одну позицию ачево оставаясь в том же самом устойчивом состоянии в целом с теми же значениями сигналов на выходах. Сигнал 0 может сколько угодно раз менять свое значение с 0 на 1 и обратно, и схема при этом будет только скакать взад-вперед между этими двумя положениями в таблице.
Однако в случае, когда сигнал С(К станет равным О, схема перейдет во внутреннее состояние 82 или 86 в зависимости от значения сигнала 0 на этот момент времени; но выходные сигналы останутся неизменными. Мы снова можем изменять значение О, делая его равным 0 или 1, сколько нам вздумается, и схема при этом будет лишь перескакивать (и состояния 82 в состояние 86 и обратно, а выходные сигналы меняться не будут. Наконец, наступает решающий момент, когда сигнал ССК становится равным 1. В зависимости от того, в каком состоянии в этот момент находится схема, — в состоянии 82 или в состоянии 86, — она либо вернется в состояние 80 (и выходной сигнал 0 останется равным 0), либо перейдет в состояние 87 (и сигнал О станет равным 1).
Аналогичное поведение схемы можно наблюдать, когда в момент действия нарастающего фронта тактового сигнала она находится в состояниях 83 или 87 и выходной сигнал 0 изменяет свое значение с 1 на О. 7.8. Последовательностные схемы с обратной связью 7!5 Рис. 1.84. Таблица поток/выход, демонстрирующая тот факт, что ()-триггер переключается по фронту С(.К С Б 00 01 11 10 80 82, 01 86, 01 ~з0~, 01 Е, 01 82 ©2~,01 86,01 — . — 80 . 10 вз (зз).~о (вз.>о —,- зо,о~ 86 82,01 ©6,01 -87, 1! 87 83, 10 О87, 10 С87), 10 С87), 10 Рис.
7.85. Сокращенная таблица поток/выход дпя ()-триггера, перекпючающегося по положительному фронту С(.К Р 6 00 01 11 10 8В ОВВ, О( 8З О88 . 10 86 8В .01 86,01 фВ).О! 87, В) Е.О> 87,11 С877, 1О С877, 10 ~©В, (и 8В .01 ©,и> 87 83 .10 На рис. 7.19 была приведена схема С-триггера, переключающегося по положительному фронту, с двумя петлями обратной связи и, следовательно, с четырьмя возможными состояниями, тогда как в схеме, которая только что была проанализирована, имеются три петли обратной связи и у нее возможны восемь состояний.
Даже после исключения неиспользуемых состояний в таблице потока для схемы на рис. 7.78 остается пять состояний. Можно, однако, показать, воспользовавшись формальной процедурой минимизации числа состояний, что состояния 80 и 82 ксовместимы», то есть их можно обьединить в одно состояние 8В, позволяющее учесть все переходы, относящиеся к обоим исходным состояниям (рис. 7.85).
Таким образом, желаемый эффект, в действительности, мог бы быть достигнут с помощью схемы с четырьмя состояниями. Решая задачу 7.бб, можно убедиться, что схема на рис. 7.19 ведет себя в соответствии с сокращенной таблицей потока. 716 Глава 7. Принципы проектирования последовательностных схем *7.9.5. Анализ работы О-триггера в КЛОП-исполнении В схемах КМОП-триггеров цепи обратной связи обычно содержат логические ключи. Например, на рис. 7.86 приведена схема переключающегося по положительному фронту 0-триггера "Р01СГ в интегральных схемах серии ЬСА500К представляющих собой решетки КМОП-вентилей, Как только найдены петли обратной связи, работу такого триггера можно проанализировать точно так же, как и работу схемы, собранной из чисто логических элементов.
В схеме на рис. 7.86 игиеются две петли обратной связи, каждая из которых содержит по паре ключей, управляемых сигналами СЬК и С1.К', и реализует функцию мультиплексора; урал пения, описывающие функционирование петель обратной связи, имеют вид: У1* = СЬК' 0' + С1.К У1 У2* = С1 К У1'+ С1.К' У2. сгк Рис. 7.86. К анализу работы переключающегооя по положительному фронту 0-триггера, выполненного по КМОП-технологии. ПРОЕКТИРОВАНИЕ СХЕМ С ОБРАТНОЙ СВЯЗЬЮ Рассмотренные нами в этом параграфе последовательностные схемы с обратной связью ведут себя вполне пристойно; в этом нет ничего удивительного, поскольку речь шла лишь о защелках и триггерах, успешно используемых на практике годами. Но если вы соберете «произвольную» комбинацию из вентилей и обратных связей, то вовсе не обязательно получится «разумно ведущая себя» последовательностная схема.
В редких случаях может вообще получиться не последовательностная схема (см, задачу 7.67). Во многих случаях схема окажется неустойчивой при некоторых комбинациях входных сигналов, а иногда и при любых входных воздействиях (см. задачу 7.71), Таким образом, проектирование последовательностных схем с обратной связью продолжает оставаться чем-то вроде черной магии и осуществляется практически лишь небольшим числом знатоков в области цифровой электроники. Все же в следующем параграфе вводятся основные понятия, которые помогают сделать проектирование менее сложным. 7 1а.
Лроектнроаанне последоаательностных схем с обратной санаью 717 За исключением того, что данные дважды инвертируются при прохождении от ода Р до точки у2* (один раз в уравнении для т1 ь и второй раз в уравнении для ус*) эти равенства сильно напоминают структуру О-триггера, состоящего из ве- щей и ведомой зашел ок (рис. 7.15). Мы не станем здесь выполнять формальный анализ; он вынесен в задачу 7.73. Заметьте, однако, что в этой схеме две петли обратной связи и поэтому в результирующих таблицах состояний и потока будет, как минимум, четыре состояния.
"7. 1 О. Проектирование последовательностных схем с обратной связью Иногда бывает полезно построить небольшую последовательностную схему типа специализированной защелки или ловушки импульсов; в этом параграфе будет показано, как это сделать. Может случиться также, что вы собираетесь стать специалистом по проектированию ИС и будете ответственным за разработку высококачественных зашелок и триггеров, начиная с нуля. Этот параграф знакомит с основными идеями, которые вам при этом понадобятся. Но для того чтобы делать такую работу хорошо, необходимы значительно более серьезные усилия на стадии обучения, а также опыт и мастерство.
*7.1 0.1. Защелки Хотя, как правило, проектирование последовательностных схем с обратной связью представляет собой трудную проблему, некоторые схемы строить довольно легко. Любая схема с одной петлей обратной связи является разновидностью ЯН- или 0-защелки. Структура такой схемы имеет вид, указанный на рис. 7.87, а уравнение возбуждения всегда бывает следующей формы: О* = (вынуждающий член) е (удерживающий член) О.
Именно такими являются, например, уравнения возбуждения Я11- и 17-зашелок: О* = Я + гт' О О* = С 11 + С' О. Соответствующие схемы приведены на рис. 7.88(а) и (Ь). управляющие входы етая обратной связи Рнс. 7.87. Общая структура защелки 718 Глава 7. Принципы проектирования последовательностных схем (гб с (а) (с) о с с Рис. 7.88. Схемы защелок: (а) ЯВ-защелка; (Ь) ненадежная 0-защелка; (с) 0-защелка без источников опасности В общем случае логика возбуждения в последовательностной схеме с обратной связью должна быть свободна от исгвочников оваснасгви ()гаяагг(-атее ехсЫапоп (о8!с); мы продемонстрируем это на примере.