Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 161
Текст из файла (страница 161)
Предположим, что схема собирается на печатной плате или в кристалле, и мы 1а вероятнее всего — используемая нами система САР) непреднамеренно подключили входной сигнал Р к точке Р0, указанной на рис. 7.101, по длинному и медленному пути. Допустим, что время прохождения сигнала по этому пути больше, чем задержка распространения в двухуровневой логике возбуждения И-ИЛИ. ДЛИН путь Рис. 7.! О!. Физические условия, при которых в ловушке импульсов проявляется существенный источник опасности Рассмотрим теперь, что случится, если Р й = 1О, схема находится во внутреннем состоянии ! 0 и сигнал Р изменяется от 1 до О.
Согласно таблице переходов, воспроизведенной на рис. 7.102, схеме слелует перейти во внутреннее состояние 00. Но давайте посмотрим, что будет происходить в действительности, прослеживая прохождение сигналов по схеме, приведенной на рис. 7 101; 7 10. Проектирование последоввтельностных схем с обратной связью 72« Рис. 7.102. Таблица переходов для ловушки импульсов, в которой обнаруживается существенный источник опасности 'т'1 У2 00 01 11 1О Е оа (аЧ (сЗ~ и н о Г О! 01 ! 10 У1ч У2* Избежать ошнбочнога поведения в принципе можно только одним способом: необходимо обеспечить поступление изменений в сигнале Р на входы всех цепей до того, как произойдут какие-либо изменения переменных состояния.
Следовательно, неизбежное различие моментов поступления входного сигнала, называемого временным перекосом 1г!пппя вlгеи), должно быть меньше задержки распространения по цепям возбуждения и обратной связи. В общем случае этому зребованию, относящемуся к временным характеристикам, можно удовлетворить только путем осмотрительного проектирования на уровне электрических цепей. В нашем примере этот источник опасности легко подавить даже не специалисту в области электроники, поскольку все, что для этого требуется, это чтобы прямой провод имел меньшую задержку распространения, чем структура И-ИЛИ, а это реализуется практически при любой технологии. Однако во многих последовательностных схемах с обратной связью типа переключающегося по фронту 0-триггера какого-либо из ТТЛ-семейств (рис.
7.! 9) имеются существенные источники опасности прн наличии инверторов на пути про- ° (Изменения, указанные стрелкой '* — >".) Первое, что случится после изменения сигнала Р, это переход сигнала У1 са значения 1 на значение О. Сейчас схема находится во внутреннем состоянии ОО, ° гИзмененна, указанные стрелкой "-+".) Сигнал У1 С изменяется с 0 на 1, Изменение у1 !. на входе вентиля А вызовет переход к ! сигнала на его выходе, что, в свою очередь, приведет к возникновению 1 на выходе У2 Вот так раз! Теперь схема находится во внутреннем состоянии 01. ° (Изменения, указанные стрелкой '=ь".) Изменение значения у2 на входах вентилей В и С вызовет появление единиц на их выходах, подкрепляя наличие 1 на выходе т2.
В течение всего этого времени переход сигнала Р с 1 на 0 еще не проявил себя в точке Р0. ° (Изменения, указанные стрелкой "=«*'.) Наконец уровень сигнала в точке Р0 изменяется н вместо единичного становится нулевым, в результате чего сигналы на выходах вентилей А и В становятся равными 0 Однако на выходе вентиля С все еще удерживается 1, и поэтому схема остается в неправильном состоянии 01. хождения входного сигнала. В таких случаях необходимо, чтобы инверторы были гарантированно более быстродействующими, нежели логика возбуждения; это не так уж тривиально как при разработке печатной платы, так н при программировании ИС. Если бы, например, схема, представленная иа рнс. 7.101, физически строилась на элементах И-ИЛИ-Не, то задержка на пути от входов до точки т1 1 могла бы быть совсем малой и иметь значение порядка задержки при прохождении через один инвертор.
В большинстве схем классического образца существенные источники опасности можно обнаружить, но не во всех. Для этого есть простое правило, и оно является следствием более или менее принятого определения «существенного источника опасности»: ° Таблица потока схемы классического образца содержит источник существенной опасности в отношении устойчивого состояния в целом 8 и входною сигнала Х, если в результате трех последовательных переходов в сигнале Х схема, начиная с состояния 8, достигает устойчивого состояния в целом, отличающегося от того устойчивого состояния в целом, которого схема достигает в результате одного перехода в сигнале Х, начиная с состояния 3.
По этому правилу существенный источник опасности в ловушке импульсов обнаруживается в результате прохода по стрелкам в таблице переходов (рис. 7.102), начиная с внутреннего состояния 10 при Р В = 1О Существенный источник опасности возможен только в такой схеме классического образца, у которой есть, как минимум, три состояния, так что у защелок нет существенных источников опасности.
С другой стороны, у всех триггеров (то есть у схем, чувствительных к входным сигналам на фронте тактового сигнала) они имеются. *7.10.7. Краткие выводы В заключение перечислим вновь все шаги, через которые надо пройти прн проек- тировании последовательностной схемы с обратной связью: 1 Из словесного описания схемы составить примитивную таблицу потока. 2 Минимизировать число состояний в таблице потока.
3. Найти свободное от гонок кодирование состояний, добавляя при необходимости вспомогательные состояния или расщепляя имеющиеся. 4 Составить таблицу переходов. ЭТИ ИСТОЧНИКИ ОПАСНОСТИ ВООБЩЕ-ТО СУЩЕСТВЕННЫ Существенные источники опасности называются «существенными», потому что они присущи таблице потока данной последовательностной функции и будут присутствовать в любой схемной реализации этой функции.
Эти источники опасности можно скомпенсировать только регулировкой задержек в схеме. Сравните эти случаи со статическими источниками опасности в комбинационной логике, которые можно, в принципе, исключить, добавив консенсусные термы в логическое выражение. ,7 11. Проектирование последовательиостных схем иа языке АВЕЬ 731 ПОСЛЕДНИйВОПРОС Коль скоро так трудно построить схему классического образца, которая работала бы нужным образом, не говоря уж о ее быстродействии и компактности, как могла кому-то придти в голову идея серийного 0-триггера из 6 вентилей с 3-ю состояниями (см. рис, 7.20)? Не спрашивайте меня, я не знаю! к.
Начертить карты возбуждения и найти не содержащую источников опаснос- ти реализацию уравнений возбуждения. б. Проверить, нет ли существенных источников опасности. Видоизменить схему, если это необходимо, так, чтобы минимальные задержки в цепях возбуждения и обратной связи были больше максимальных задержек в инверторах и других элементах входной логики. 7. Нарисовать принципиальную схему.
Заметьте также, что во многих схемах вполне может быть нарушено основное предположение, касающееся схем классического образца и состоящее в том, что изменения входных сигналов происходят цо отдельности. Например, входной сигнал 0 у переключающегося по положительному фронту 0-триггера может измениться в тот же момент времени, когда сигнал СЬК переходит из 1 в О, и схема при этом все же будет работать правильно.
Но можно ли сказать то же самое о моменте перехода сигнала С1 К из О в 1? Чтобы гарантировать надлежащую работу схемы в подобных специальных случаях, необходимо проанализировать таблицу переходов и саму схему путем перебора всех возможных ситуаций. ?.11.0собенностипроектирования последовательностных схем на языке АВЕ~ 7.11.1. Регистровые выходы В языке АВЕЬ имеются средства для построения последовательностных схем. Как будет объяснено в параграфе 3.3, в большинстве случаев пользователь ПЛУ может сделать выходы регистровыми 1ге3мтегей оигригк), поместив вслед за логикой И-ИЛИ 0-зриггеры, как показано на рис.
7.103. Для того, чтобы один или большее число выходов были регистровыми, необходимо в объявлении выводов в программе на языке АВЕЬ поместить предложение закуре с ключевым словом ге О" (а не "сога") лля каждого регистрового выхода. Пример программы с тремя регистровыми и двумя комбинационными выходами приведен в табл. 7.22. с.к ое Рис. 7.103. Регистровый выход ПЛУ 732 Глава 7.
Принципы проектирования последовательностных схем Табл. 7.22. Программа на языке АВЕЬ с регистровыми выходамн воси1е СокЬЬосл т111е 'сояьзлас1ол-1оск зтаее ивсьапе' Тпрсе авс Оаервт.в Х, СЧ.ОСК рзп; ОИ.К, НХМТ рзп 1веуре 'сса'; Ц1, ц2, ЦЗ рзп Хееуре 'геК'; Ц = (Ц1..ЦЗ1; Ксиае1олв Ц.С1.К -" С1.0СК; Ц.ОК = 1; беате яат1аь1ея ц1: ц1 а 'ц2 № х № !ц1 Ф ц2 а цз № !х № ц1 Ф ц2 й !цз; ц2 : !02 № цз а х № ц2 а .'цз а х; цз := ц1 а !02 а !цз № ц1 Ф цз а !х № !02 а !х № !ц1 Ф 'цз а 'х № ц2 й !цз а х; " Неа1у аисраав Он(.к - "ц1 № ц2 а цз а 'х; НТЯТ = !Ц1 а !Ц2 а !ЦЗ а !Х № Ц1 № 'Ц2 Ф Х № !Ц2 а ЦЗ к Х № ц2 а цз а !х № 02 а !цз а х; ево СошЬБосх Как следует из рис. 7Л 03, у регистрового выхода имеются, по меньшей мере, два других связанных с ним атрибута.
Буфер с тремя состояниями, помещенный перед выходным выводом, управляется сигналом разрешения выхода ОЕ, а у самого триггера имеется вход тактового сигнала С~К. Из программы в табл. 7.22 видно, что сигналы, подаваемые на эти входы, определяются в разделе равенств. Каждому из этих сигналов присваивается имя соответствующего основного выходного сигнала, наращиваемое суффиксом-признаком . ст,к или . Ое. В некоторых ПЛУ у триггеров имеются дополнительные входы для подачи управляющих сигналов. Например, входные сигналы асинхронной установки в единичное состояние и сброса имеют суффиксы-признаки . АР и . АР„сигналы синхронной установки и сброса — суффиксы .
БР и . Зн. В ряде ПЛУ возможно использование не 0-триггеров, а триггеров других типов; имена их входных сигналов обозначаются суффиксами типа . О и . к. В разделе АВЕК-программы есгза с у о па логическое значение сигнала на регистровом выходе устанавливается тактируемьи< оиераторам присваиванкя (с!ослеп итз1ятялелГ орегаГог): =.