Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 190
Текст из файла (страница 190)
С~ЕАВ Выходной управляющий сигнал, по которому выходы мультиплексора обнуляются и запускается счетчик. 8.8. Трудности синхронного проектирования 873 1.0МСИО Выходной управляющий сигнал, разрешающий загрузку регистра МСИО. ЬОНР Выходной управляющий сигнал, разрешающий загрузку регистра НРЯОО. ЯОИС Выходной управляющий сигнал, по которому счет в счетчике раз- решен. МРУЯ[1:О) Выходные сигналы, управляющие сдвигом и загрузкой в регистре МРИ РЯОО.
ЯЕЬЯ[)М Выходной управляющий сигнал, по которому происходит выбор между сдвинутым содержимым сумматора и сдвинутым содержимым регистра НРЯОО для загрузки обратно в регистр НРЯОО. ЯЕБЕТ ЯТ Рис. 8.84. Диаграмма состояний управляющего конечного автомата для двоичного умножителя, действующего по правилу сдвига и сложения Диаграмму состояний можно преобразовать в соответствующий конечный автомат многими способами, начиная от рутинной процедуры [выполняемой вручную) и кончая применением автоматизированных средств синтеза, предоставив им необходимые описания на языках АВЕЬ или ЧНОЬ.
У этого конечного автомата почти все выходы являются выходами типа Мура; только выход ЯЕЬЯОМ является выходом типа Мили. В рамках на диаграмме состояний перечислены выходные сигналы, имеющие активные значения в состояниях 1И1Т и Я1)И; в остальное время эти сигналы имеют неактивный уровень. Автомат спроектирован так, чтобы при подаче сигнала ВЕЗЕТ он из любого состояния переходил в со- стояние10ЬЕ. Процедура умножения начинается с состояния 1И1Т, когда приходит сигнал ЯТАЯТ, В этом состоянии в счетчик заносится число 1000„множитель и множимое загружаются в соответствующие регистры, а регистр НРЯОО очищается.
Затем происходит переход в состояние ЯОИ и счетчик начинает считать. В течение восьми тактов конечный автомат остается в состоянии яОИ и за это время выполняется восемь шагов 8-разрядного алгоритма сдвига и сложения На восьмом такте счетчик оказывается в состоянии ! 111,, при этом возникает сиг- иге глава еь гграктическая разработка схем последовательной логики нал МАХСМТ и конечный автомат переходит в состояние ЧIА!Т. Автомат пребывает в этом состоянии до тех пор, пока не будет снят сигнал ЗТАВТ, чтобы предотвратить возобновление процедуры умножения раньше, нежели сигнал ВТАЩЕТ вновь примет активное значение.
Представляют интерес многие детали проектирования устройства обработки данных и управляющего устройства, но самое важное, что слелует увидеть в данном примере, это тот факт, что все последовательностные элементы в схемах обоих устройств являются триперами, переключающимися по фронту одного и того же общего тактового сигнала СЕОСК. Таким образом, для рассматриваемой системы справедливы временные диаграммы, приведенные на рис. 8. 80, и разработчику можно не беспокоиться по поводу гонок, источников опасности и асинхронных операций, Если только реализация конечного автомата не будет очень медленной, то максимальная частота тактового сигнала для системы в целом будет ограничена в основном задержками прохождения сигнала через устройство обработки данных. 8.8.
Трудности синхронного проектирования Хотя синхронный подход является наиболее прямым и самым надежным способом проектирования цифровых систем, ряд неприятных практических обстоятельств может затруднить продвижение по этому пути. В данном параграфе мы рассмотрим эти обстоятельства. 8.8.1. Разброс задержектактоаого сигнала Синхронная система на переключающнхся по фронту триггерах работает правильно только в том случае, когда переключающий фронт тактового сигнала поступает на все триггеры в один и тот же момент времени. На рис.
8.85 показано, что может произойти в противном случае. В этом примере два триггера теоретически управляются одним и тем же тактовым сигналом, но триггер ЕЕ2 «видит» тактовый сигнал, который заметно задержан по отношению к тактовому сигналу, который «видит» триггер ЕЕ1. Это различие между моментами прихода тактового сигнала на различные устройства носит название разброса задержек нгакнговово сигнала (с1ос1г «1гег«). сгоск и ог сьоскс ссоск ог гранили Рис.
8.88. Пример разброса задержек тактового сигнала Мы назвали задержанный сигнал в схеме на рис. 8.85(а) "С1 ОСКО". Если задержка распространения в трипере ЕЕ1 от входа СЕОСК до выхода О1 мала и 8.8„трудности синхронного проектирования 875 если физическое соединение выхода 01 с триггером ЕЕ2 является лоротким, то изменение значения 01 по фронту сигнала СЬОСК может и в самом деле достичь триггера ЕЕ2 до того, как на этот триггер поступит фронт сигнала СЬОСК0. В этом случае триггер ЕЕ2 может перейти в неправильное следующее состояние, определяемое следующим состоянием триггера ЕЕ1, а не текущим его состоянием, как показано на рис.
(Ь). Если изменение значения 01 приходит на триггер ЕЕ2 лишь немного раньше относительно сигнала СЕОСК0, то может оказаться нарушенным требование, касающееся времени удержания триггера ЕЕ2, и в этом случае триггер ЕЕ2 может стать метастабильным и выработать непредсказуемое значение сигнала на своем выходе. Если рис. 8.85 напоминает вам существенный источник опасности, изображенный на рис. 7.! 01, то вы не далеки от истины. Проблему разброса задержек тактового сигнала можно считать просто проявлением наличия существенных источников опасности в переключающихся по фронту устройствах.
Наличие или отсутствие проблемы, связанной с разбросом задержек тактового сигнала в данной системе можно описать количественно, определив г 5ыю как величину расхождения задержек тактового сигнала и воспользовавшись другими временными параметрами, указанными парис. 8.1. Для правильной работы необходимо, чтобы выполнялось неравенство: Г дà — à — Г >О. Прдоп~п) союпвоьв) Ьмд пей(пвх) Другими словами, разброс задержек тактового сигнала вычитается из запаса по времени удержания, введенного в разделе 8,1.4, Приведенный на рис.
8.85 пример, рассматриваемый сам по себе, может показаться несколько преувеличенным. В конце концов, почему бы это конструктор стал создавать короткое соединение для данных и длинное соединение для тактового сигнала, когда пути этих сигналов вполне могли бы проходить рядом". Существует несколько ситуаций, в которых это все же может случиться; одни из них являются результатом ошибок, тогда как другие неизбежны. В большой системе коэффициент разветвления по выходу у источника тактового сигнала может быть недостаточным для подачи одного и того же сигнала на тактовые входы всех устройств; поэтому могут понадобиться две или большее число копий тактовою сигнала. Метод буферизации, указанный на рис. 8.86(а), очевидно, вносит дополнительный разброс задержек такгового сигнала, поскольку сигналы СЕОСК1 и СЕОСК2 оказываются задержанными по отношению к сигналу С1 ОСК на время прохождения через буферы.
Рекомендуемый способ размножения сигналов приведен на рис. 8.86(Ь), Все тактовые сигналы проходят через идентичные буферы с примерно равными задержками. В идеальном случае все буферы должны быть элементами, находящимися в одной и той же интегральной схеме; тогда все они обладают близкими временными характеристиками, а также работают при одной и той же температуре и одном и том же напряжении питания. Некоторые производители выпускают специальные буферы, предназначенные как раз для таких приложений, и указывают разброс задержек отдельных буферов в одном корпусе ИС, который, в худшем случае, может составлять всего несколько десятых долей наносекунды.
876 Глава 8. Практическая разработка схем последовательной логики ясе в одном юрпзсе иг. сьоск г -сгсс«1 -сижка — сгоскз Рис. 8.86. Буферизация тактового сигнала. (а) внесение дополнительного разброса задержек; (Ь) находящийся под контролем разброс задержек Однако способ буферизации, показанный на рис. 8.86, также может вносить дополнительный разброс задержек тактового сигнала, если нагрузка лля одного нз сигналов оказывается значительно большей, чем для других: переходы в тактовом сигнале с большей нагрузкой будут происходить позднее из-за увеличения задержки переклочения выходных транзисторов, а также из-затею, что становятся ббльшнми время нарастания и время спада сигнала. Поэтому внимательный разработчик старается сбалансировать нагрузку различных тактовых сигналов, принимая во внимание как нагрузку по постоянному току (коэффициент разветвления по выходу), так и нагрузку по переменному току (емлость проводников и входные емкости).
При автоматизированной разводке соединений на печатных платах и внутри специапизированных ИС с помощью соответствующих про грамгяных средств может возникнуть другая неприятная ситуация. На рис. 8. 87 показана печатная плата или специализированная ИС с большим числом триггеров и более сложных элементов, которые переключаются общим тактовым сигналом С(.ОСК. Программные средства автоматизированной системы проектирования развели сигнал СЫСК таким образом, что он вьется серпантином между тактируемыми устройствами. Для других же сигналов — в каждом случае от выхода к небольшому числу входов — проложены более короткие пути. Еще хуже обстоит дело, когда внутри специализированной ИС распространение сигнала «по проводам» происходит медленнее, чем посредством соединений, выполненных по другой технологии (поликристаллические кремниевые соединения в КМОП-структуре).