Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 195
Текст из файла (страница 195)
! 0 1. Каждую пару триггеров можно было применить в качестве синхронизнрующего устройства типа устройства, приведенного на рис. 8.96, так что с помощью одной ИС 74АЯ4374 оказалось возможным синхронизировать восемь асинхронных сигналов. ОЕ !. С'ск !зис. 8.181. Принципиальная схема одного иа 8 сдвоенных 0-триггеров в ИС 74А84374 894 Глава 8. Практическая разработка схем последовательной логики Внутренняя структура ИС *АЯ4374 была усовершенствована таким образом, чтобы уменьшить значения т и Т по сравнению с другими триггерами серии 74АЯ, но самым замечательным достижением было значительное сокращение времени установления г,„„.
Поскольку вся схема синхронизирующего устройства, приведенного на рис. 8.96, в данном случае размещается в одном кристалле, между триггерами ГГ! и ГГ2 нет входных и выходных буферов, и значение г для тригвая гера ЕЕ2 составляет всего 0.5 нс. У обычного триггера серии 74АЯ эта величина равняется 5 нс, поэтому — при т = 0.40 нс — переход на ИС 74АЯ4374 приводит к увеличению среднего времени между сбоями МТВГ в ехр(4.5840) = 77000 раз, В последние годы по мере движения в сторону КМОП-технологий, обеспечивающих большее быстродействие и бблыпую плотность упаковки, специализированные компоненты типа 'АЯ4374 почти полностью вышли из употребления.
Как можно видеть из табл. 8.35, быстродействующие ПЛУ и ИС типа СРСР вполне конкурентоспособны по величине т с самыми быстродействующими устройствами, собранными на отдельных ИС, и в то же время предоставляют возможность обьединить синхронизацию со многими другими функциями. Но все же подход, примененный в ИС 'АЯ4374, заслуживает воспроизведения при проектировании на основе ИС типа ГРОА и на основе специализированных ИС.
Другими словами, на любой стадии осуществления контроля за компоновкой схемы синхронизирую- щего устройства следует располагать триггеры ЕЕ! и ЕЕ2 как можно ближе один к другому и соединять их между собой сигнальными линиями с наибольшей доступной скоростью прохождения сигнала; это обеспечит максимизацию времени установления триггераЕЕ2.
8.9.8. Синхронизация при высокоскоростной передаче данных Широко распространенной проблемой, возникающей в компьютерных системах, является синхронизация переноса данных, поступающих по внешним линиям, с внутренним тактовым сигналом компьютера. Простым примером служит согласование между сетевой картой персонального компьютера н линией Е1!гегпег со скоростью передачи 100 Мбит/с. Сетевая карта может быть вставлена в разъем шины РС! с тактовой частотой 33.33 МГц. Хотя скорость передачи в сети Ейгегпег приблизительно кратна частоте тактового сигнала в шине компьютера, сигнал, поступающий из линии Е!пегпе1, был отправлен другим компьютером, а тактовые сигналы на передающем и приемном конце в любом случае не синхронизированы.
Тем не менее, сетевая карта обязана надежно выдать данные на шину РС1. Эта проблема схематически представлена на рис. 8. ! 02. Последовательные данные й!3АТА, представленные в коде )чй2, принимаются по линии Е!петле! со скоростью 100Мбит!с. цифровая схема ФАПЧ (О!8!!а! Ржаве-Еоскед Есор РРЕЬ) извлекает 100-мегагерцный тактовый сигнал ВСЕК из потока данных, поступающих со скоростью 100 Мбит!с, и позволяет заталкивать данные побитно в 8-разрядный регистр сдвига.
В то же самое время схема синхронизации по байтам ищет в принимаемом потоке данных последовательность битов специального вида, которой отмечаются границы между байтами. Обнаруживая одну из них, схема синхронизации по байтам выдает сигнал ЯУ1ЧС и поступает так на 8.9. Сбой в работе синкрониаирующвго устройства и метастабипьность 898 каждОм восьмом такте сигнала ВСЕК; таким образом, сигнал Зт1ЧС возникает всякий раз, когда регистр сдвига содержит выровненный по границам в-битовый байт принимаемых данных. В остальной части системы тактирование осуществляется тактовым сигналом ВСЕК с частотой 33.33 МГц.
Нам необходимо переносить каждый выровненный по границам байт ВВтГЕ[7:О[ в регистр ЕНЕС, находящийся в той части системы, которая работает с тактовым сигналом ЕСЕК, Как это можно сделать? веАТА дннье, л мин еаипа 1 8017в] Рис. 8.102. Схематическое изображение проблемы синхронизации с сетью Ейзегпе1 ПО ПОЛУБАЙТУ ЗА РАЗ Здесь приводится сильно упрощенное описание процедуры приема сигналов из 100-мегабитной линии Езпеглез, но этого достаточно для рассмотрения проблемы синхронизации. В действительности, скорость поступления прин имаемых двоичных сигналов равна 125 Мбит/с, причем каждые 4 бита данных пользователя представлены в так называемом лоде 4В5В, то есть символом, состоящим из 5 битов.
Используется только 1б из 32 возможных слов кода 4В5 В, и этим гарантируется, что, независимо от последовательности данных, передаваемой пользователем, число переходов в принимаемом потоке булет достаточным для извлечения из него тактового сигнала.
Кроме того, код 4В5В включает специальные слова, которые передаются периодически и позволяют совсем просто осуществить синхронизацию по полубайтам (состоящим из 4 битов) и байтам. В результате синхронизации по полубайтам типичный интерфейс 100-мегабитной сети Егпегле1 не видит несинхронизированного 100-мегагерцного потока битов. Вместо этого он имеет дело с несинхронизированным 25-мегагерцным потоком полубайтов. Поэтому реальное синхронизирующее устройство для сети ег[зегпе1 в леталях отличается от рассматриваемого нами, но принцип действия тот же. 896 Глава 8. Практическая разработка схем последовательной логики На рис.
8.103 приведены несколько временных диаграмм. Сразу видно, что сигнал выравнивания байтов по границам ЗМЧС имеет активный уровень только в течение 1О нс в пределах байта. Нет никакой надежды, что удастся каждый раз привязывать этот сигнал к системному тактовому сигналу ЗСьХ, период которого, равный 30 нс, много больше. ВС!.К ~ — - Зснс — ь.
Рлс. 8.!03. Временные диаграммы сигналов в линии Е1[зегпе! и системный тактовый сигнал Стратегия, которой следуют практически всегда в ситуации подобного рода, состоит в том, что сначала выровненные по границам данные заносят в регистр хранения НВЕЙ по тактовому сигналу ВС[.К из принимаемого потока данных.
Это дает нам значительно больше времени, в данном случае — 80 нс, чтобы разобраться с принятым байтом. Таким образом, блок, помеченный вопросительным знаком "?" на рис. 8.102, можно заменить схемой, показанной на рис. 8.104, состоящей из регистра НВЕЙ и узла, названного "ЯСТВО', Функция этого узла заключается в вырабатывании сигнала Я[.ОАО в течение точно одного периода системного тактового сигнала ЯС[.К, равного 30 нс, так, чтобы сигналы на выходах регистра НВ ЕЙ на этом интервале оставались постоянными и тем самым было удовлетворено требование неизменности сигнала в течение времени установления и времени удержания регистра ЯВЕЙ, переключающегося по сигналу ЯС[.К.
Для остальной части интерфейса возникновение сигнала Я[.ОАР означает, что «приняты новые данные» и что байт новых данных выдается на шину ЗВтТЕ[рс0[ в течение очередного периода сигнала ЗС~К. На рис. 8.105 представлены возможные временные диаграммы для сигналов Я[.ОАО и ЯВИТЕ в случае реализации такого подхода и с учетом временных диаграмм, приведенных ранее. На рис. 8.106 показана схема, способная вырабатывать сигнал Я[.ОАО с желательнымии свойствами. Основная идея состоит в использовании сигнала яу[Ч С лля установки ЯВ-защелки в единичное состояние всякий раз, как новый байт становится доступным.
Выходной сигнал этой защелки НЕ««ВтТЕ опрашивается триггером гЕ! по сигналу ЗС[.К. Поскольку сигнал НЕт«ВЪТЕ не сннхронизован с сигналом ЯС[-К, триггер гЕ! может оказаться в состоянии метастабильности, но его выходной сигнал безразличен для триггера гр2 до следующего переключающего фронта в тактовом сигнале, то есть на протяжении 30 нс, В предположении. что вентиль И является достаточно быстродействующим, мы имеем много времени для выхода из метастабильности. Сигнал на выходе григ ера гг2 является требуемым сигналом З[.ОАО. Вентиль И позволяет удерживать единичное значение сигнала З1ОАО только на интервале времени, равном периоду сигнала ЯС~К' 8.9.
Сбой в работе синхронизирующегоустройства и метаствбильность 897 когда значение ЗЕОА0 уже равно 1, оно не может оставаться таким же с приходом очередного переключающего фронта тактового сигнала. Таким образом, у Зй-защелки есть время быть сброшенной сигналом Я.ОА0 н подготовиться к следующему байту. Рис. 8.104. Регистр хранения и управляющий узел ВС1.К В.ОАС нськ зулус нЗУТЕ~7 01 звуте17:о! 80 нс -ь. 10нс Ясак ЗтнС Яськ ЗВУТЕ БЬОАО Рис. 8.!05. Временные диаграммы сигналов в устройстве синхронизации, включая сигналы на шинах ЗВТТЕ и возможный вид сигнала ЗЕОА0 БЬОАО зськ Рис. 8.106.
Схема узла ЗСТЙЕ, вырабатывающего сигнал ЗЕОАО 898 Глава 8. Практическая разработка схем последовательной логики На рис. 3.107 приведены временные диаграммы для узла ЗСТЙЕ с «типичными» временными соотношениями между сигназамгь Поскольку сигналы ЯСЕК и ЙСЕК асинхроины, сигнал ЯСЕК может произвольно располагаться на оси времени по отношению к сигналам ЙСЕК и ЯтНС. На рисунке показан случай, когда очередной нарастающий фронт сигнала ЗСЕК приходит спустя заметное время после возникновения сигнала НЕттВтТЕ.
Хотя на рисунке изображены окна, в которых сигналы ЯМ и ЯМ1 могли бы быть метастабильными в общем случае, однако в той ситу алии, какая указана на рисунке, метастаб иль ность, в де йствител ьности, не наступает. Позднее мы рассмотрим, что может произойти, если фронт сигнала ЯСЕК совпадает по времени с изменением сигнала ИЕ»тВТТЕ. Йськ ЗУМС ЗСЬК ЯВИТЕ меьтеуте ЗМ ЗМ1 ЗЕОАС Рис.
8.107. Временные диаграммы для схемы ЯСТЙ1., приведенной иа рис. 8.108 По поводу схемы на рис. 3.106 нужно сделать несколько замечаний. Во-первых, у сигнала ЯЧЧС ие должно быть паразитных импульсов, т.к. он подан на вход 8 защелки, и он должен быть достаточной длительности, чтобы удовлетворить требованию защелки к минимальной ширине импульса. Поскольку защелка устанавливается в единичное состояние по нарастающему фронту сигнала ЯЛЧС, получается, что мы немного смошенничали: сигнал 1ЧЕттВУТЕ может возникнуть чуть раньше того момента когда новый байт действительно будет доступен на выходах регистра НЙЕЗ.
Но это не страшно: прежде чем произойдет загрузка регистра ЗЙЕЗ, пройдет два периода сигнала ЗСЕК после того, как триггер гг1 «увидит» сигнал 1ЧЕттВУТЕ. На самом деле, можно было словчить еще больше, если имеется опережающая версия сигнала Зт1ЧС (см. задачу 3.95). 8.9.
Сбой арабо ге синхрониаирующего устройства и метвствбилыюсть 899 ПУсть вРемЯ УстановлениЯ 0-тРиггеРа Равно Гие а задеРжка РаспРостРанениЯ для вентиля И вЂ” г; тогда для выхода из метастабйльности мы располагаем вре- М менем ги Равным пеРиодУ сигнала Ясек (30 нс) минУс (г „+ г„а), как показано на рис. 8.107.
Из временных диаграмм также видно, почему нельзя воспользоваться непосредственно сигналом ЗМ для сброса ЯВ-защелки. Возможная метастабильность сигнала ЯМ могла бы полностью нарушить работу схемы. Например, половинное по отношению к высокому уровню значение сигнала ЗМ может оказаться достаточным, чтобы сбросить защелку, но затем сам сигнал ЗМ может перейти обратно на низкий уровень, и тогда сигнал ЗЕСА0 не будет выработан и мы пропустим байт. Используя выходной сигнал синхронизирующего устройства (ЯЕОА0) как для сброса защелки, так и в качестве сигнала загрузки в части интерфейса, управляемой тактовым сигналом ЗСЕК, мы гарантируем, что новый байт будет обнаружен и надлежащим образом воспринят в обеих частях интерфейса, работающих с тактовыми сигналами ВСЕК и ЯСТЫК.