Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 201
Текст из файла (страница 201)
Пусть состояниям А-Н соответствуют числа 0 — 7 в счетчике 018 Глава 8. Гзракгическая разработка схем последовательной логики 8.82. Напишите программу на языке АВЕЕ, соответствующую диаграмме со. стояний, показанной на рис. 8.84, для конечного автомата, управляющего умножителем. 8.83. Напи1лите ЧНР1.-программу, соответствующую диаграмме состояний, по казанной на рис. 3. 34, для конечного автомата, управляющего у множителем, 8.84. Напишите ЧНРЕ-программу для устройства, которое имело бы такие же входы и выходьп что и блок обработки данных в умножителе, представленный на рис.
8.32, н выполняло бы те же функции. 8.85. Напишите ЧНРЕ-программу, в которой были бы объединены программы из двух предыдущих задач и которая в целом описывала бы законченный 3- разрядный умножнтель, действующий по принципу сдвига и сложения. 8.86. В тексте говорится, что разработчику не нужно беспокоиться по поводу временных соотношений между сигналами в синхронной схеме, приведенной на рис. 8.33. На самом деле, есть одна небольшая причина для беспокойства. Посмотрите на временные параметры ИС 74х377 и догадайтесь, в чем тут дело.
8.87. Найдите минимальный период тактового сигнала для схемы умножителя, действующего по принципу сдвига и сложения, на рис. 3.83 в предположении, что конечный автомат реализован на одной ИС ОАЕ!6Ч3-20 и что все компоненты средней степени интеграции взяты из 3ТЛ-семейства 74Е3. Используйте информацию о временных параметрах в худшем случае из таблиц, имеющихся в этой книге. Для ИС '194 задержка Г от тактового входа до любого выхода равна 26 нс, а значение г равно 20 нс для последовательных и параллельных входов данных и 30 нс для входов, на которые подаются сигналы, управляющие режимом работы. 8.88.
Разработайте блок обработки данных н управляющий конечный автомат для перемножения 8-разрядных чисел, представленных в дополнительном лоде, согласно алгоритму, описанному в параграфе 2.8. 8.89. Разработайте блок обработки данных н управляющий конечный автомат для деления 3-разрядных чисел без знака согласно алгоритму сдвига и вычитания, описанному в параграфе 2.9. 8.90. Предположите, что сигнал Ят1ЧСйЧ в упражнении 3.21 проходит в синхронной системе через комбинационную логическую схему и, в конце концов, поступает на Р-входы триггеров 74АЕ374, переключаюшихся тактовым сигналом СЕОСК, Какова максимально допустимая задержка распространения сигнала в комбинационной логической схеме? 8.91.
В схеме на рис. Х3.91 имеется триггер, устраняющий затягивание, так что синхронизированный сигнал появляется на выходе многотакгного синхронизирующего устройства предельно близко к фронту сигнала С1.ОСК. Если не принимать во внимание метастабильность, то чему равна максимальная частота сигнала СЕОСК? Считайте, что ! = 5 нс, а г = 7 нс для ИС 74874. нар * рд 8.92, Определите значение МТВЕ для синхроннзирующего устройства из задачи 3.91, воспользовавшись найденной там максимальной частотой тактового сигнала и полагая, что частота переходов в асинхронном сигнале составляет 4 МГц. Задачи 919 !ахгнал зтысьы ыь Рис. Х8.91.
сннхроннзнруюшее!отрльство хзтнсш (асннхронн нходной сн сьоск !системный тактовый сигнал) 8.93. Определите значение МТВг для синхронизирующего устройства, приведенного на рис. Х8.91, предполагая, что частота переходов в асинхронном сигнале равна 4 МГц, а частота тактового сигнала — 40 МГц, что меньше максимальной частоты, найденной в задаче 8.91. В этих условиях кобой синхронизирующего устройства» происходит только в том случае, когда сигнал 08т)ЧСйх! оказывается метастабильным. Другими словами, можно допустить, чтобы сигнал 8т!ь!С!6! был метастабильным в течение короткого времени, пока это не влияет на сигнал ()8т!ь!Сйь!.
В результате получается лучшее значение МТВГ. 8.94. Посмотрите патент США № 4,999,528 «Триггер с защитой от метастабильности» и объясните, почему этот триггер не всегда работает так, как обещаььо. (Указания: Патенты можно найти на сайте ыыы. расепсз . 1Ьж. соль. Для того чтобы понять, как может произойти сбой в этой схеме, достаточно информации, содержащейся в резюме данного патента.) 8.95. В синхронизирующем устройстве, представленном на рис. 8.102, 8.104 и 8.106, можно уменьшить задержку переноса байта из части схемы, работающей с тактовым сигналом ЙС1 К, в часть схемы, где переключение происходит по тактовому сигналу 8СЕК, если запускать устройство опережающим импульсом 8т!ЧС. Представьте себе„что есть возможность вырабатывать этот импульс на любом бите принимаемого байта.
Какой бы битвы выбрали, чтобы минимизировать задержку? Проверьте также, удовлетворяет ли ваше решение условиям правильной работы схемы в случае максимальной задержки. Считайте, что временные параметры у всех компонентов такие, как у логических схем семейства 74АНСТ, а 8В-защелка построена на паре вентилей ИЛИ-ЫЕ с перекрестной связью. Проведите детальный временнбй анализ предлагаемого вами решения.
8.96, В схеме управления синхронизирующего устройства, приведенной на рис. 8.106, вместо защелки иногда применяют переключающийся по фронту !З- триггер, как показано на рис 8.11! . Выведите условия правильной работы этой схемы, эквивалентные неравенствам (8.1)-(8.3), для случаев максимальной и минимальной залержки и посмотрите, ослабляются или становятся более жесткими требования, предъявляемые к задержкам при таком полходе. 920 Глава 8.
Практическая разработка схем последовательной логики 8.97. Известный проектировщик цифровых устройств изобрел схему, представленную на рис. Х8.97(а), в которой, согласно предположению, метастабильность преодолевается за один период системного тактового сигнала. Узел М вЂ” это безынерционный аналоговый детектор напряжения, сигнал на выходе которого равен 1, если сигнал С пребывает в метастабильном состоянии„и равен О в противном случае. Идея автора этой схемы состояла в следую щем: если то обстоятельство, что сигнальная линия (й находится в мета- стабильном состоянии, обнаруживается тогда, когда сигнал С(.ОСК переходит на низкий уровень, то вентиль И-НЕ сбросит О-триггер, что, в свою очередь, исключит метастабильность выхода, вызовет появление О на выходе узла М, в результате чего сигнал на входе сброса 0-триг ера будет снят.
Все компоненты в схеме достаточно быстрые для того, чтобы все описанное произошло задолго до того, как сигнал СЫСК перейдет на высокий уровень; ожидаемый вид сигналов приведен на рис. Х8.97(Ь). К сожалению, это синхронизирующее устройство иногда все же дает сбой, и знаменитый разработчик теперь придумывает карманы для джинсов. Объясните подробно, как именно происходит сбой, нарисовав соответствующие временные диаграммы. АВТИСГИ (асннхронны лходной сигнал СЕССК (системный твкавый с (а) сьсск АВТИСГИ атис~и МЕТА МЕТАСЬН Ь (Ь) Рис.Х8.97.
ПРИМЕРЫ ПРОЕКТИРОВАНИЯ ПОСЛЕДОВАТЕЛЬНО- СТНЫХ СХЕМ п очти любая реальная цифровая система является последовательностной схемой: всегда имеется обратная связь, защелка или триггер, обеспечивающие зависимость поведения системы в данный момент от предыдущих входных воздействий, Но если бы мы стали разрабатывать или анализировать типичную цифровую систему как единую последовательностную схему, то все свелось бы к огромной таблице состояний.
Например, компьютер с оперативной памятью объемом всего лишь 1б Мбайт является, строго говоря, последовательностной схемой с много ббльшим числом состояний, чем 2ыз ам ьм! В предыдущих главах мы видели, что обычно цифровую систему можно разбить на блоки меньших размеров, выделяя, например, пути прохождения данных, регистры и управляющие устройства (см. раздел 8.7. 1). Действительно, у типичной цифровой системы бывает несколько функциональных узлов с четко очерченными границами раздела и соединениями между ними (такое разбиение поддерживается средствами ЧНР1., см. раздел 4.7.2), а каждый функциональный узел содержит иерархию из нескольких слоев абстракции 1поддержнваемую как средствами ЧНР1., так и схематическими редакторами, позволяющими графически изображать компоненты (см. раздел 5.1.6)). Таким образом, всегда можно свести задачу к рассмотрению блоков значительно ме ньшего размера.
После всех этих разговоров я должен признать, что проектирование сложной иерархической цифровой системы выходит за рамки этого учебника. Но сердцем всякой систелзы или любой из ее подсистем является, как правило, конечный автомат или другая последовательностная схема, а это как раз то, чтомы можем изучить здесь. Эта глава будет попыткой закрепить ваше понимание принципов проектирования последовательностных схем и конечных автоматов посредством Разбора нескольких примеров. На ранней стадии цифрового проектирования и даже на протяжении 80-х годов многие записывали таблицы состояний от руки и строили соответствующие схемы, используя методы синтеза, РассмотРенные в параграфе 74, Однако сегодня едва ли кто-нибудь поступает таким обРазом.
В настоящее время таблицы состоя- 922 Глава 9. Примеры проектирования последовательностных схем ний, в большинстве случаев, задаются на том или ином языке описания схем: на языке АВЕЬ, ЧНОЬ или ЧеП1ой Затем компилятор этого языка выполняет рабщу эквивалентную применению наших методов синтеза, и реализует требуемый авто. мат в ПЛУ, в ИС типа СРЬВ и РРОА, в специализированной ИС или в каком-то другом устройстве. В этой главе мы рассмотрим примеры проектирования конечных автоматов н других посл едовательностных схем с помощью двух различных языков описания схем. В первом параграфе приводятся примеры на языке АВЕЬ, имея в виду реяли. зацию разрабатываемых устройств в небольших ПЛУ. Некоторые из этих приме.
ров служат иллюстрацией того, как надо проводить разбиение системы на части когда устройство в целом нельзя поместить в одной интегральной схеме. Во вто ром параграфе разбираются примеры на языке ЧНПЬ, которые можно реализовать почти в любой ИС, выполненной по той или иной технологии.
Как и в случае павы 6, чтение данной главы предполагает знакомство с материалом, содержащимся только в предыдущих главах. Два параграфа этой главы нас и- саны так, чтобы быть практически независимыми один от другого, а остающаяся часть этой книги не требует чтения данной главы сейчас; вы можете вернуться к ней позднее. 9.1.
Примеры проектирования на языке АВЕ1. В параграфе 7.4 мы построили несколько простых конечных автоматов путем перевода их словесных описаний в таблицы состояний, выбора способа кодирования состояний и последующего синтеза соответствующих схем. Один из этих примеров был повторен на языке АВЕЬ в расчете на реализацию в ПЛУ (см. табл. 7.27 и 7.31). Такого рода проекты значительно легче осуществлять с применением языка АВЕЬ и реализовать их в ПЛУ по двум причинам; Вам нет необходимости особенно беспокоиться по поводу сложности результирующих уравнений возбуждения, пока разрабатываемое устройство помещается в выбранном ПЛУ. ° Вы имеете возможность воспользоваться особенностями языка АВ ЕЬ, чтобы представить проект в более ясной и понятной форме.