Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 191
Текст из файла (страница 191)
В результате фронт тактового сигнала СЕОСК может поступать на триггер РР2 чуть позднее момента изменения данных на линии 01. Один из способов свести к минимуму проблему такого рода состоит в том, чтобы организовать распределение тактового сигнала СЕОСК по древовидной структуре, как показано на рис. 8.88, с помощью самых быстрых соединений. Обычно такое «дерево для тактового сигнала» создается вручную или путем применения специализированных систем САР. Но в большом проекте может случиться так, что нельзя гарантировать повсеместно поступление фронта тактового сигнала до того, как произойдет самое раннее изменение данных.
Для обнаружения этого, как правило, применяются программы рисующие временные диаграммы; решением проблемы в общем случае может оказаться лишь включение дополнительной задержки (например, вставление пары инверторов) на том пути тактового сигнала, по которому он проходит слишком быстро. 8.8. Трудности синхронного проектирования 877 сгсск Рис. 8.87. Разводка тактового сигнала, которая может вызвать дополнительный разброс задержек на сложных печатных платах и внутри специализированных ИС со юк Рис. 8.88.
Разводка тактового сигнала, минимизирующая разброс задержек Хотя методология синхронного проектирования позволяет упростить алгоритм работы большой системы, мы видим все же, что в случае, когда в качестве запоминающих элементов используются переключающиеся по фронту триггеры, главной проблемой может оказаться разброс задержек тактового сигнала. Чтобы преодолеть это затруднение, во многих высокоскоростных системах и в СБИС применяется проектирование по ориняину двухфазных защвлок (пгорЬаяе 1аГсЬ Ыез1дл), с которым можно ознакомиться по литературе.
При таком проектировании каждый переключающийся по фронту 0-триггер разбивается на две составляющие его защелки, которыми управляют тактовые сигналы с неперекрывающимися рабочими фазами. Зазор между рабочими фазами поглощает разброс задержек тактового сигнала. 878 Глава 8. Практическая разработка схем последовательной логики КАК ИЗБЕЖАТЬ ПОСЛЕДСТВИЙ РАЗБРОСА ЗАДЕРЖЕК Различие в длине проводников и разная нагрузка являются очевидными причинами разброса задержек тактового сигнала, Но существует много других, менее явных источников расхождения.
В частности, разброс задержек такгового сигнала может быть вызван перекрестными помехами, то есть наводками с одной сигнальной линии на другую. Перекрестные помехи неизбежны, если проводники проходят на печатной плате или внутри микросхемы параллельно на малом расстоянии друг от лруга; при этом наводки возникают в моменты переходов сигналов с одного уровня на другой. Сигнал, соседний с тактовым, может изменяться в том же направлении или в противоположном; в зависимости от этого переход в тактовом сигнале может ускоряться или замедляться, в результате чего будет казаться, что переход происходит раньше или позже. В большом устройстве на печатной плате или внутри специализированной ИС, как правило, нереально отследить и устранить все возможные источники разброса задержек тактового сигнала.
Поэтому большинство производителей специализированных ИС требуют от проектировщиков, чтобы те предусмотрели дополнительный запас по времени установления и времени удержания, эквивалентный задержке нескольких вентилей, в дополнение к тому минимуму, который следует из временных диаграмм, полученных путем моделирования. Только в этом случае все неизвестные факторы оказываются преодоленными, 8.8.2. Стробирование тактового сигнала У большинства последовательностных ИС средней степени интеграции, упомянутых в этой главе, есть синхронный вход разрешения на выполнение данной ИС ее функций.
Другими словами, сигналы на входах разрешения у таких ИС фикс ируются в тот же момент, что и данные, на фронте тактового сигнала. Первым из рассмотренных нами примеров был регистр 74х377 с синхронным входом разрешения загрузки; другие подобные ИС вЂ” зто счетчик 74х! 63 и регистр сдвига 74х!94 с синхронными входами разрешения загрузки, счета и сдвига.
Тем не менее, у многих ИС средней степени интеграции, а также у макроэлементов для ИС типа РРО А и у ячеек в специализированных ИС нет синхронных входов разрешения соответствующих действий; например, 8-разрядный регистр 74х374 имеет выходы с тремя состояниями, но у него нет входа разрешения загрузки. Спрашивается: что может сделать разработчик, если требуется, чтобы у 8- разрядного регистра были и вход разрешения загрузки, и выходы с тремя состояниями7 Одно из решений этой задачи состоит в использовании ИС 74х377 с входом разрешения загрузки и включении вслед за этой ИС буфера 74х24 ! с выходами с тремя состояниями.
Однако при этом возрастут стоимость и задержка. Другой вариант заключается в применении большего по размерам и более дорогого изделия, а именно — ИС 74х823, которая обладает обоими требуемыми свойствами и у которой, кроме того, есть асинхронный вход сброса С~В С Но если разработчик не знает ничего лучше, кроме ИС '374, то более рискованным 8.8. Трудности синхронного проектирования 879 решением является запирание сигнала на тактовом входе этой ИС на интервале времени, в течение которого не предполагается производить загрузку. Такое действие называют стробировакием тактового сигнала (8айп8 йе с)осМ). На рис. 8.89 демонстрируется очевидный, но ошибочный способ стробирования тактового сигнала.
Сигнал С(.КЕМ подается для того, чтобы разрешить прохождение тактового сигнала С(.ОСК через вентиль И и выработать стробнрованный тактовый сигнал ЯСЬК. В случае применения такого способа возникают две проблемы: 1. Если сигнал С(.КЕЫ является выходным сигналом конечного автомата илн другим сигналом, который вырабатывается каким-либо регистром, то изменение сигнала СЬКЕЬ) происходит чуть позднее того момента, когда сигнал С(.ОСК переходит на высокий уровень, Как показано на рис. 8.89(Ь), при этом в сигнале ОС(К возникают паразитные импульсы, которые будут приводить к ошибочным переключениям регистров, на входы которых поступает этот сигнал.
2. Но даже если сигнал С) КЕЬ) каким-то образом вырабатывается раньше нарастающего фронта сигнала СЕОСК (например, на выходе регистра, переключающегося по спадающему фронту сигнала СЬОСК, что является особенно нежелательным), задержка в вентиле И приведет к увеличению разброса задержек тактового сигнала в системе, в результате чего могут возникнуть определенные проблемы в других местах. (Ь) сгоск СЕКЕМ осек Рис. 8.89. Как не надо стробнровать тактовый сигнал; (а) схема, решающая задачу «в лоб»; (Ь) временные диаграммы Способ стробирования тактового сигнала, обеспечивающий минимальный разброс залержек, представлен на рнс.
8.90. В приведенной схеме нестробнрованный тактовый сигнал и несколько стробированных тактовых сигналов вырабатываются от одного и того же главного тактового сигнала с низким активным уровнем, Чтобы минимизировать возможные различия в задержках, следует использовать вентили, находящиеся в одном и том же корпусе ИС. Сигнал С(.КЕЬ) может меняться произвольно, пока сигнал СЬОСК Ь остается на низком уровне, а сигнал СЬОСК имеет высокий уровень.
Воти прекрасно: сигнал С(.КЕМ вырабатывается, как правило, конечным автоматом, у которого изменение сигналов на его выходах происходит строго после того, как сигнал СЬОСК переходит на высокий уровень. Подход, нллюстрируемый рис. 8,90, приемлем только в том случае, когда возникающий при этом разброс задержек является допустимым. Кроме того, заметьте, что сигнал С(.КЕЙ должен оставаться неизменным в течение всего интервала времени, на котором сигнал СЕОСК Е имеет высокий уровень (а сигнал 880 Глава 8. Практическая разработка схем последовательной логики СЕОСК вЂ” низкий). Таким образом, запас по времени будет зависеть от коэффициента заполнения тактового сигнала особенно тогда, когда сигнал СЕКЕЫ оказывается значительно сдвинутым по отношению к переключающему фРонту тактового сигнала из-за большой задержки в комбинационной логике (! ). В соль ' настоящей синхронной системе входной сигнал разрешения выполнения той илн иной функции может изменяться почти в любой момент времени в пределах все го периода тактового сигнала вплоть до границы времени установления перед переключающим фронтом тактового сигнала; такого рода решение применительно к разрешению загрузки ИС 74х377 приведено на рис.
8.13. (а) все в одном ющсе ИС (Ь) сигах а.осн ь сиэск ь сгоск сыски с~хек! сськг сгкенг осгк оськз сшенг Рис.8.90. Приемлемый способ стробирования тактового сигнала: (а) схе- ма; (Ь) временные диаграммы 8.8.3. Асинхронные входы Хотя теоретически можно построить полностью синхронный компьютер„вы вряд ли сможете им воспользоваться, если только не окажетесь способным нажимать на клавиши синхронно с 500-мегагерцным тактовым сигналом.
Цифровой системе любого типа всегда приходится иметь дело с асинхронными входными сигналами (азупс)ггопоиг !при з!япа!к), которые не привязаны к тактовому сигналу системы. Асинхронные входные сигналы часто бывают запросами на обслуживание (например, прерывания в компьютере) или признаками возникновения тех или иных условий (например, сигнал о том, что какой-то ресурс стал доступен).
Обычно такие сигналы изменяются медленно по сравнению с тактовой частотой системы, и нет необходимости распознавать их на определенном такте. Если переход в таком сигнале будет пропущен на данном такте, его всегда можно обнаружить на следующем. Скорость переключений асинхронных сигналов может простираться от одного изменения в секунду (когда за клавиатурой сидит медлительный человек) до 100 МГц и более (запросы на доступ к совместно используемой памяти в 500-мегагерцной многопроцессорной системе). Если не принимать во внимание проблему метастабильности, то нетрудно построить синхронизирующее успгоойство (зупс)ггоп!кет), то есть схему, в которой будет браться выборка асинхронного входного сигнала и вырабатываться выходной сигнал, удовлетворяющий требованиям синхронной системы по времени установления и времени удержания.