Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 196
Текст из файла (страница 196)
Приведенные на рис.8. ! 07 временные диаграммы относятся к штатной ситуации, но нам необходимо проанализировать также, что произойдет при другом сдвиге по времени между сигналом ЯСТЫК и сигналами ЙСсК и ЯУ(ЧС, нежели тот, какой указан на рисунке. Вы, наверное, сами сможете убедиться в том, что все будет работать хорошо, как и в рассмотренном случае, если фронт сигнала ЯС!.К придется на тот интервал времени, когда сигнал ИРФВУТЕ только-только переходит на высокий уровень; просто в этом случае перенос данных заканчивается чуть раньше.
Более интересен случай, когда сигнал ЗСЕК приходит чуть позже, в результате чего сигнал МЕтУВУТЕ, переходящий на высокий уровень, оказывается пропущенным и обнаруживается на один период сигнала ЯСТЫК позднее. В этом случае временные диаграммы имеют вид, указанный на рис. 8. ! 08. пськ ВУНС вськ ВВУТЕ нешвтте ВЕОАВ рис. 8.198. Временные диаграммы для схемы ЯСТВЕ в случае максимальной задержки 900 Глава В. Практическая разработка схем последовательной логики На этих временных лиаграммах изображен случай„в котором сигнал МРФВУТЕ переходит на высокий уровень примерно в то же время, когда поступает фронт сигнала ЯС~К, точнее — перед приходом фронта сигнала ЗСЕК на расстоянии, меньшем времени г триггера ЕЕ1. Таким образом, триггер ЕЕ1 может «не увидеть», что сигнал НЕиВтТЕ имеет высокий уровень, либо выход триггера может стать метастабильным и единичное значение сигнала Ы ЕзйВУТЕ будет надежно зафиксировано спустя лишь один период сигнала ЯСЕК, После этого только через два периода сигнала ЯСЕК по фронту этого сигнала произойдет загрузка значений сигналов с шины ЯВтТЕ в регистр ЯВЕЙ.
При таком взаимном расположении сигналов по времени возникают неприятности, потому что к моменту загрузки значения сигналов на шине ЯВтТЕ уже изменились и выражают собой следуюлги1 принятый байт. Кроме того, сигнал ЯЕОАО может иметь единичное значение в то время, когда приходит импульс Яг1ЧС, соответствующий следующему принятому байту, и чуть позднее. Но тогда на обоих входах защелки Я и Й одновременно действуют сигналы активного уровня, и если они снимаются одновременно, то выход защелки может войти в метастабильное состояние. Если же сигнал сброса Й действует дольше, как это показано на временных диаграммах, то защелка останется в иулеволз состоянии, и слепующий принятый байт вообще не будет обнаружен и не будет передан той части интерфейса, которая работает по тактовому сигналу ЯС1 К.
Следовательно, нам необходимо более внимательно проанализировать временные диаграммы в случае максимальной задержки и решить, будет ли синхронизирующее устройство функционировать надлежащим образом. Начальной точкой в нашем анализе схемы ЯСТЙЕ будет указанный на рис. 8.108 момент времени г,, когда байт загружается в регистр НЙЕС по фронту сигнала РСЕК в конце импульса Р 1чС. Процедура заканчивается в момент времени г, когда значения сигналов с шины ЯВтТЕ загружаются в регистр ЯВИ по фронту сигнала ЯСЕК, Максимальная задержка между этими двумя моментами времени, которую мы назовем Г, равна сумме следующих составляющих: вам' — МИНУС ОЛИН ПЕрИОд СИГНаЛа ЙСЕК, раССтОяНИЕ МЕжду МОМЕНТОМ Гл „И предшествующим фронтом этого сигнала, по которому сигнал ЯакС принял единичное значение. Это число отрицательно, поскольку сигнал ЯтЫС возникает на один период тактового сигнала раньше того момента, когда фактически происходит загрузка в регистр НЙЕО.
Максимальная задержка в триггере от входа СЕК до выхода О. Предсо полагается, что сигнал ЯМЧС является выходным сигналом триггера, переключающегося по сигналу ЙСЕК. Тогда величина г — это интервал времени между фронтом сигнала ЙСЕК и моментом, когда возникает сигнал Яг1ЧС. Максимальная задержка в ЯЙ-защелке на рис. 8.106 от входа Я до выхода О, Это задержка, с которой появляется сигнал ИЕФВтТЕ. Время установления триггера ЕЕ1 на рнс.
8.106. Необходимо, чтобы сигнал ИЕ1»1ВтТЕ принимал единичное значение к началу этого интервала времени или до него. Только тогда гарантируется обнаружение. 8.9. Сбой в работе синхронивирующего устройства и метастабипьность 901 Г ш х ПеРиол сигнала ЗС!.К. ПосколькУ сигналы РСЕК и ЯСЕК асинхРонны, задержка гиежду моментом возникновения сигнала НЕФВУТЕ и моментом его фиксации в триггере РЕ1 по фронту сигнала ЯСЕК может равняться одному периоду этого сигнала. После того, как сигнал !ЧЕУУВУТЕ обнаружен триггером ЕЕ1, проходит еше один период сигнала ЯСЕК, прежде чем возникнет сигнал ЯЕОАР. Значения сигналов на шине ЯВУТЕ загружается в регистр ЯРЕО на следующем такте после возникновения сигнала ЯЕОАО, Время удержания регистра ЯРЕО.
Минимальная задержка в регистре НРЕО от входа СЕК к выходу Сй в качестве заниженной оценки этой величины принимается О. Время восстановления ЯР-защелки, минимально допустимое время между переходами Я и Р на неактивный уровень (см. замечание, выне- сенное за пределы основного текста, в конце раздела 7.2.! ). ~ь сцепи) Чтобы значения сигналов на шине ЯВтТЕ были успешно загружены в регистр ЗРЕЯ, они должны оставаться неизменными, по крайней мере, до момента г + г„. Момент времени, когда значения сигналов ЯВт'ТЕ изменяются, равен г плюс ны 8 периодов сигнала РСЕК плюс г, . Следовательно, для надлежащей работы схемы необходимо, чтобы выполнялось неравенство: ! с+гь<г ч 8!к к' В случае максимальной задержки мы подставляем в это неравенство г = г, + „и, вычитая г„из обеих его частей, получаем: таха 633Г$ а + гь б 8'кськ Подставляя значение г и выполняя преобразования, получим следующее уеловие правильной работы схемы: (8.
1) Это очень плохо. Даже если предположить, что задержки !со, гзо, г и г совсем со' зо' и малы, все же Зг (90 нс) плюс что-то заведомо больше, чем 9г .„(тоже 90 нс). Значит, это устройство никогда не будет работать как следует прй максимальной задержке. Но даже если результат анализа времени задержки был бы хорошим, то и в этом случае нам все же следует рассмотреть требования, которым должна удовлетворять схема ВСТР(., чтобы этот узел работал как надо. В частности, необходимо гарантировать, что импульс РлчС, относящийся к следующему байту, не окончится раньше, чем через время г, после того, как будет снят сигнал я!.ОАО, относящийся к предыдущему байту.
Таким образом, мы получаем еще одно условие правильнойработы: гиа + ~со ~, й ~в~ + 8гкськ со! у ТаКИМ ОбРаЗОМ, Г а = ЗГзшк+ !со+ Гз + ! — Г „„. ЧтсбЫ ЗаВЕРШИтЬ аиаЛИЗ, необходимо определить еше несколько параметров: 902 Глава 8. Практическая разработка схем последовательной логики Производя подстановки и выполняя такие же преобразования, как и раньше, мы приходим к еще одному требованию, которое не удовлетворяется в нашем уст ройстве: Это задержка, с которой вырабатывается сигнал 1ЧЕ1»1В»ТЕ, также по- лагаемая равной О. Минус время удержания триггера ЕЕ1 на рис. 8.106. Сигнал НЕМ/ВУТЕ может возникнуть к концу времени удержания и все же оказаться об- наруженным.
Равное нулю число периодов сигнала ЯСТЫК. Может случиться так, что «на наше счастье» фронт сигнала ЗСЕК придется как раз на мо- мент окончания времени удержания триггера ЕЕ1 . Задержка на один период сигнала ЗС1 К, с которой, как и ранее, воз- никает сигнал Я~ОАЮ. гасах Задержка на один период сигнала ЯСЕК, с которой, как и ранее, происходит загрузка значений сигналов на шине ЯВ»ТЕ в регистр ЯВЕЗ.
ДРУгими словами, г = 2гзс, 1 лг В этом случае мы должны гарантировать, что новый байт достигнет выходов регистра НВЕЗ к моменту начала времени установления регистра ЗВЕЗ; следовательно, должно выполняться неравенство: «Г >Ю +1 еп«пп яп«пп* З1»СЬК ~2ГСО + Г~'> + Гпп + ~ппп — 9Г«С К (8.2) Можно несколькими способами внести изменения в устройство, чтобы удоя летворить требованиям, предъявляемым к нему в худшем случае. В начале нашего рассмотрения мы уже упоминали о «мошенничестве», когда сигнал ЯТ1ЧС выраба тывается за один период сигнала ЙС~ К до того, как данные оказываются записаннылзи в регистр НВЕЕ8 действительно, сигнал Ят1ЧС можно было бы выставлять и еще раньше.
Если так поступать, то это поможет нам удовлетворить требованиям, относящимся к случаю максимальной задержки за счет уменьшения величины, стоящей справа в полученных соотношениях. Если, например, сигнал Ят1ЧС возникал бы на два периода сигнала ВС~К раньше, то вместо "8г, и в правой части неравенств можно было бы написать пбг .„". Но «бесплатный сыр бывает только в мышеловке»: мы не можем выставлять сигнал ЯЛЧС сколь угодно рано.
Нам необходимо рассмотреть также случай минимальной задержки, чтобы гарантировать фактическое наличие нового байта в регистре НВЕВ, когда значения сигналов на шине ЯВТТЕ будут затружаться в регистр ЯВЕО. Минимальная задержка г пппд между моментами Г„,, и Г складывается из следующих составляющих: — Минус л периодов сигнала ВСЕК, интервал времени в обратном накськ правлении между моментом гя и фронтом сигнала ЯпЧС.
В исходном варианте устройства п =!. Это минимальная задержка между фронтом сигнала ВСЕК и момен- СО«мп) том установления сигната ЯТ1ЧС; в качестве заниженной оценки принимается значение О. 8.9.Сбойвработесиикроиизирующегоустройства и метлетабипьиость 903 где г — максимальная задержка в регистре НВЕО от тактового входа до выхода. са Подставляя г = г + т и вычитая г с обеих сторон, получаем: ссд ссссС спад яал с †>г . сиса' са са' Подставляя значение г и производя преобразования, мы приходим к оконча~с~сд тельному условию: (8.3) Если, например, каждая из величин 1,1 иг равна!0 не,томаксимальноезна- Ь са са чение и равно 3; нельзя вырабатывать сигнал ЗпчС более чем на два периода тактового сигнала ранее его первоначального положения, указанного на рис.