Конспект

Лекции по СХТ / VOROB06.DOC

 

РИСКИ СБОЯ В КОМБИНАЦИОННЫХ СХЕМАХ

Риском сбоя называется возможность появления на выходе цифрового устройства сигнала, не предусмотренного алгоритмом его работы и могущего привести к ложному срабатыванию. Отметим, что риск сбоя представляет собой только возможность ложного срабатывания. Конкретная цепь может давать риск сбоя, а может и не давать, причем даже при наличии риска сбоя может отсутствовать ложное срабатывание, следовательно, риск сбоя представляет собой наихудший случай.

Проектирование цифровой аппаратуры с использованием принципов комплексной миниатюризации на основе достижений микроэлектроники в качестве основной из своих задач выдвигает проблему обеспечения устойчивости ее функционирования при влиянии коструктивно-технологических факторов и дестабилизирующих воздействий внешней среды [1- 4].

Функциональная устойчивость определяется стабильностью реализации цифровым устройством заданного алгоритма работы при наличии разброса задержек выполнения операций в логических элементах, задержек сигналов в линиях связи и электромагнитных наводок паразитных сигналов. Термин “функциональная устойчивость” можно рассматривать также как синоним алгоритмической устойчивости.

В схемотехническом плане проблема функциональной устойчивости может быть сведена к устранению опасных состязаний (гонок) сигналов устройства. Эффект состязаний сигналов, приводящий к неустойчивой работе цифрового устройства, известен давно. Наиболее наглядный пример - эффект “дребезга” контактов реле, кнопок и других электромагнитных устройств. Проблема гонок в цифровой схемотехнике является очень серьезной. Большинство труднообнаруживаемых и удивительно разнообразно проявляющихся ошибок в цифровых схемах связано именно с гонками, возможность появления которых разработчик не предвидел или не заметил.

Состязаниями (гонками) сигналов называется процесс их распространения в различных цепях цифрового устройства при существовании разбросов временных задержек этих цепей. Цепь - совокупность логических и других элементов и линий связи между ними. Алгоритмическим переходом называется изменение сигнала на выходе какой-либо схемы, предусмотренное алгоритмом ее работы. Неалгоритмическим переходом называется изменение выходного сигнала, не предусмотренное алгоритмом ее работы. Опасными называются такие состязания, которые могут привести к неалгоритмическому переходу в цифровой схеме при заданных условиях ее работы, а неопасными называются такие состязания, которые не могут привести к неалгоритмическому переходу. Схемой, свободной от влияния опасных состязаний, называется такая цифровая структура, в которой неалгоритмический переход, возникший в части схемы из-за опасных состязаний, не изменяет алгоритма работы схемы в целом при заданных условиях ее работы.

Задержка логической схемы слагается из задержек срабатывания логических элементов и задержек распространения сигналов по цепям связи между ними. Важнейшим параметром, характеризующим инерционность логического элемента, является среднее время задержки выходного сигнала по отношению к входному tзд.ср.. Трудоемкость учета задержек зависит от соотношения значений задержек самих логических элементов и задержек в цепи связи tсв.. Если эти значения близки, то задержки различных трактов схемы можно определить лишь после размещения элементов на поверхности печатной платы или кристалла БИС, когда станут известны фактические длины связей. В сверхбыстродействующих ИС и БИС, построенных на ТТЛШ- и ЭСЛ- элементах, время задержки выполнения логической операции в вентиле (логическом элементе) оценивается единицами или десятыми долями наносекунды. В этом случае не считаться с tсв. нельзя.

Ситуации, когда задержки tсв. превышают tзд.ср., возникают и при использовании не очень быстродействующих элементов, когда сигналы передаются между блоками на достаточно большое расстояние. Однако доля подобных связей невелика, поэтому их можно выделить особо и учесть tсв. в линии связи. Тем не менее для большинства микроэлектронных устройств сейчас (90-е годы) выполняется соотношение tсв. < tзд.ср..

Задержки различных экземпляров элементов какой-либо серии имеют технологический разброс, который обычно описывают некоторым статистическим законом. Дестабилизирующие воздействия внешней среды, в основном выражающиеся в изменении температуры, напряжения питания и в воздействии радиационного излучения, приводят к расширению диапазона вариации задержки выполнения операции в логических элементах и поэтому могут быть сведены к эквивалентному расширению влияния конструктивно-технологических факторов. Задержка каждого конкретного элемента зависит от количества и типа нагрузок, от паразитной емкости монтажа, числа лет с момента выпуска и ряда других факторов. Точное значение величины tзд.ср. для конкретного случая не известно, так как в технических условиях изготовитель указывает значение tзд.ср.max для наихудших условий применения. Разработчику часто полезно знать кроме максимальной еще и минимально возможную величину tзд.ср.. К сожалению, для большинства серийно выпускаемых микросхем значение минимальной задержки в технических условиях не указано и, следовательно, изготовителем не гарантируется. Поэтому если разработчик аппаратуры, предназначенной для серийного выпуска, использует микросхемы, в паспорте которых не оговорено минимальное значение задержки, то он вынужден полагать его равным нулю. Никаких юридических оснований считать, что это значение больше нуля у него нет [4].

Специфическим фактором, приводящим к разбросу tзд.ср., является длительность фронта (спада) входного сигнала при наличии разброса порогов срабатывания логических элементов. Особенно важно не допускать малой крутизны фронта или спада в схемах на элементах типа КМДП, в которых возможен большой разброс пороговых напряжений. Такое явление часто называют гонками по входу (рис. 1). Опасностью возникновения гонок по входу объясняются ограничения на максимальную длительность переходов 01 и 10 входных сигналов, приводимые в паспортах многих микросхем.

Рис. 1. Гонки по входу

На практике изменение набора входных переменных комбинационной схемы часто происходит при несогласованных во времени изменениях различных входных переменных. При этом схема фактически находится под действием нескольких последовательно сменяющихся наборов, причем каждый из них дробится еще на несколько наборов при прохождении через схему из-за несогласованных значений tзд.ср. элементов. В результате изменение сигнала на каждом выходе схемы и внутреннем узле реально происходит не мгновенно, а образует некоторый сложный динамический процесс. Нахождение этих процессов называется динамическим анализом комбинационной схемы.

Динамический анализ ведут с учетом следующих обстоятельств.

1. Изменение входного набора схемы состоит из неодновременных изменений различных входных переменных, образующих этот набор. Поэтому последовательность входных наборов можно рассматривать как набор входных последовательностей из нулей и единиц, действующих независимо друг от друга на разных входах. Переключательным процессом называется последовательность уровней “1” и “0” (импульсов и пауз), которая на любом конечном наблюдаемом интервале времени содержит конечное число переходов 01 и 10. Примеры переключательных процессов приведены на рис. 2. Длиной переключательного процесса называется общее число изменений сигнала в нем. Например, для процесса x4 на рис. 2 длина равна 3. Переключательный процесс называется сложным, если его длина больше или равна 2. В противном случае он называется простым переключением.

Для векторного процесса (переключения совокупности переменных) соответствующим понятием является вектор длин. Компоненты этого вектора - длины процессов, являющихся компонентами векторного процесса. Например, векторный процесс, компонентами которого являются шесть процессов на рис. 2, имеет вектор длин (5, 3, 1, 1, 0, 0). Векторный переключательный процесс считается простым переключением, если все его компоненты - простые переключения, совершаемые одновременно. В противном случае векторный процесс считается сложным. На рис. 2 набор (вектор) Х1 = x5x4x3x2x1x0 = 101010 изменяется на набор (вектор) Х2 = 010110.

Рис. 2. Переключательные процессы

2. Помимо логических элементов в схеме могут иметься специальные вспомогательные элементы - задержки. Задержки, связанные с логическими элементами и линиями связи, обычно называют паразитными задержками, чтобы отличить их от задержек, которые могут быть введены в цепь для гарантирования должного функционирования (например, при реализации разностных преобразователей или детекторов событий [5]). Событие - любое изменение логического сигнала, в том числе сложный переключательный процесс.

Представляют интерес два вида задержек. Первый тип - чистая задержка, которая при подаче на вход сигнала x(t) обусловливает на выходе сигнал y(t), где τ - величина задержки. Таким образом, выход является просто задержанным на фиксированную величину переключательным процессом, а формы (длины!) выходных и входных процессов являются идентичными. Инвертирование сигнала, следовательно, не рассматривается как изменение формы.

Второй тип - инерционная задержка или фильтр. Фильтр осуществляет ту же операцию, что и чистая задержка, но сверх того не пропускает на выход изменений входного сигнала, отстоящих одно от другого по времени менее чем на `τ', благодаря чему процесс на выходе может изменить форму. На рис. 3 показано различие между чистой и инерционной задержкой (фильтром). Справедливо утверждение, что паразитные задержки имеют компоненты как чистой, так и инерционной задержки.

Рис. 3. Чистая и инерционная задержки

3. Каждый инерционный логический элемент в большинстве случаев можно представить в виде модели, содержащей последовательное соединение безынерционного логического элемента, реализующего безынерционное преобразование Z = f(X), с элементом задержки (иногда фильтром) на `τ' (рис. 4).

Рис. 4. Элемент задержки

Под `τ'подразумевается паразитная задержка. Величину `τ', а также моменты изменений входных переменных схемы, называют временными параметрами. Очевидно, что в общем случае значение `τ'моделирующей задержки зависит от того, какое изменение сигнала 01 или 10 имеет место на выходе элемента, то есть τ=τ01 и τ=τ10. В простейшем случае τ01=τ10=τ.

В различных частях комбинационной схемы в зависимости от числа последовательно включенных элементов переходный процесс после смены входного набора будет заканчиваться в разное время. Это приведет либо к деформированию длительности выходных сигналов либо к появлению рисков сбоя. И то и другое в отдельных случаях может нарушить нормальную работу последующих устройств.

Деформирование длительности выходных сигналов

Если сигналы в схеме распространяются по цепочкам, задержки в которых различны, то это приводит к смещению сигналов относительно друг друга во времени. В свою очередь, это может вызвать уменьшение длительности сигнала “1” на выходе элемента И и увеличение - на выходе ИЛИ. На рис. 5 приведены схема и временные диаграммы, поясняющие деформирование длительности выходных сигналов при переключении инерционных логических элементов.

Рис. 5. Деформирование длительности выходных сигналов

У выходных сигналов у1и у2 в начале и в конце будут зоны неопределенности длительностью по 3τ каждая. В частном случае при τ= 0 выходные сигналы у1и у2 почти повторяют входные. Однако если задержки τ максимальны, то на входах элементов D5 и D6 они могут появиться с разбросом по времени на 2τ. Понятие одновременности расплывается и становится относительным. В худшем случае сигнал у1будет иметь длительность Т - 2τ, а у2 - Т + 2τ , причем фронты (спады) этих сигналов могут быть сдвинуты по отношению к входным сигналам на 3τ. Возможны и любые промежуточные формы рассмотренных частных случаев, причем предугадать характер деформирования заранее невозможно. Если цепочка до входов элементов D5 и D6 содержит k элементов, то во всех рассмотренных случаях вместо двойки в качестве множителя при τ войдет k. У разработчика нет никаких официальных документов, позволяющих проигнорировать любой из возможных эффектов, и он вынужден проектировать схему так, чтобы ни один из них не привел к сбою в работе. Если на выходе схемы требуется получить импульс с длительностью Т, то длительность импульса на входе цепочки должна быть на kτ больше. Аналогично нужно обеспечивать на выходе схемы и минимальную длительность паузы и максимальную длительность импульса, если это требуется. Двухстороннего допуска на длительность импульса, менее жесткого, чем ±kτ, требовать нельзя.

Сказанное позволяет сделать вывод, что деформирование выходного сигнала может настолько уменьшить длительность уровней “1” и “0”, что элементы D5 и D6 могут стать для них фильтрами, то есть полностью нарушить логику работы схемы. Итак, деформирование выходного сигнала может привести к исчезновению алгоритмически верного сигнала.

Статические риски сбоя

На рис. 6 показана работа элементов И и ИЛИ при подаче на их входы двух последовательных во времени наборов Х1 = x1x0= 01 и Х2 = x1x0= 10. Значение сигнала у1для элемента И на этих наборах должно оставаться постоянным и равным 0, а у2 - равным 1. Это выполняется для случаев разброса во времени моментов переключения переменных x1 и x0, показанных на рис. 6, а и г.

Рис. 6. Разброс во времени моментов переключения

Если же этот разброс соответствует рис. 6, б и в, то видно, что на выходе схемы И появится логический сигнал 1 длительностью Δτ1, а на выходе схемы ИЛИ - сигнал 0 длительностью Δτ2. Эти ложные сигналы и являются рисками сбоя, причем видно, что они могут быть, а могут и отсутствовать. Все дальнейшие примеры будут иллюстрироваться временными диаграммами для наихудшего случая, когда риск сбоя обязательно имеет место.

Риск сбоя называется статическим, если у(X1) = y(Х2), где y - булева функция. Риск сбоя называется статическим в нуле S0, если у(X1) = y(Х2) = 0. Риск сбоя называется статическим в единице S1, если у(X1) = y(Х2) = 1. Итак, на рис. 6, б имеет место статический риск сбоя в нуле S0, а на рис. 6, в - статический риск сбоя в единице S1.

Существенно, что полученные помехи S0 и S1 (иногда их называют “иголками”, “мерцаниями”, “глитчами” (англ. glitch)) - это не пренебрежимо короткий всплеск напряжения малой амплитуды. При достаточно большой разности Δτ помеха будет иметь длительность, во много раз превышающую время переключения элемента, и амплитуду, равную номинальному сигналу. Это уже полноценный сигнал, на который могут реагировать последующие элементы (входы синхронизации, установки в 0 или 1, загрузки данных и т. п.). Такие помехи - страшная вещь для цифровых схем, тем более, что их практически невозможно увидеть на осциллографе, и разработчик просто не будет знать об их существовании. Они могут сужаться до полного исчезновения, но могут и расширяться, проходя через логические цепи.

Динамические риски сбоя

На рис. 7, а приведена схема, реализующая функцию у= x2x1 + x0. Пусть входной набор Х1 = x2x1x0= 010 изменяется на входной набор Х2 = x2x1x0= 101. На рис. 7, б приведены временные диаграммы, соответствующие наихудшему случаю разброса моментов переключения переменных x2, x1 и x0. Поскольку у(X1) = 0, а y(Х2) = 1, из рис. 7, б видно, что на выходе схемы имеет место многократное переключение вместо идеального алгоритмического перехода 01. Пусть входной набор Х1 = x2x1x0= 011 изменяется на входной набор Х2 = x2x1x0= 100. Из рис. 7, в видно, что вместо идеального алгоритмического перехода 10 на выходе имеет место многократное переключение.

Рис. 7. Наихудший случай разброса во времени моментов переключения

Риск сбоя называется динамическим, если у(X1) ≠ y(Х2), где y - булева функция. Риск сбоя называется динамическим D+ при переходе на выходе 01, если у(X1) = 0, а y(Х2) = 1. Риск сбоя называется динамическим D- , если у(X1) = 1, а y(Х2) = 0. Итак, на рис. 7, б имеет место динамический риск сбоя D+, а на рис. 7, в - D-. Из временных диаграмм работы схемы видно, что динамический риск сбоя является

следствием статического риска сбоя. Наличие динамических рисков сбоя в цифровой схеме также может привести к нарушению закона ее функционирования.

Логический риск сбоя

Рассмотрим переход от Х1 = x2x1x0= 110 к Х2 = x2x1x0= 010 для функции у, представленной картой Карно (рис. 8, а). Для нее можно записать . На рис. 8, б приведена соответствующая схема.

Рис. 8. Логический риск сбоя

Обратите внимание, что в данном случае осуществляется переход между соседними наборами, причем x1= 1 и x0= 0 являются константными сигналами, следовательно, для функции можно записать в данном случае . Ясно, что здесь у(X1) = y(Х2) = 1, однако мы видели (см. рис. 6, в), что на элементе ИЛИ возможен статический риск сбоя в единице. Это отражено также на рис. 8, в.

Попытаемся устранить этот риск сбоя, видоизменив аппаратную реализацию данной функции. Введем в карте Карно дополнительный контур, показанный штриховой линией, тогда уравнение для функции будет иметь вид (рис. 9, а). Так как при переходе от набора Х1 к Х2 простая импликанта все время равна 1, то риск сбоя, выявленный выше, не будет проявляться на выходе схемы. Эта ситуация отражена на временной диаграмме, представленной на рис. 9, б.

Рис. 9. Статический риск сбоя

Статический риск сбоя, проявляющийся при соседней смене наборов, называется логическим, так как может быть устранен изменением логической структуры, реализующей булеву функцию.

Функциональный риск сбоя

Рассмотрим теперь поведение выходного сигнала той же функции при многоместной смене наборов. Пусть набор 0 переходит в набор 7. Так как все переменные изменяются, а моменты их изменения в общем случае неизвестны, то возможны различные переходы от набора 0 к набору 7 (см. рис. 10, а).

Рис. 10. Функциональный риск сбоя

Есть единственный путь смены наборов: 0267, при котором не будет статического риска сбоя, так как у(X1 = 0) = y(Х2 = 7) = 1. Во всех остальных случаях будет статический риск сбоя в единице S1, причем никакими аппаратными средствами устранить его нельзя, так как значения выхода на промежуточных наборах определяются характером самой функции.

По тем же причинам при переходе от набора X1 = 1, на котором у(X1) = 0, к набору Х2 = 6, на котором y(Х2) = 1, возможен путь смены наборов:1046, когда имеет место динамический риск сбоя D+, также определяемый характером самой функции. Во всех остальных случаях смены наборов будет чисто алгоритмический переход 01 (см. рис. 10, б).