С внедрением КМОП-технологии возник новый класс физических неисправностей, которые проявляются в изменении времени распространения сигналов [14.1]. Правильное функционирование цифрового устройства возможно только в том случае, если времена распространения сигналов вдоль путей логической схемы лежат в определенных пределах. Когда время распространения сигнала выходит за эти пределы, говорят, что имеет место неисправность типа изменения задержки сигнала. В подавляющем большинстве эти неисправности приводят к увеличению времени распространения сигналов. Поэтому мы будем рассматривать только неисправности типа увеличения задержки сигналов. Предложено два типа моделей для подобных неисправностей. Первая модель, например, используемая в работе [14.2], оперирует с задержками сигналов логических элементов. Вторая - с задержками сигналов путей логических схем. Мы будем использовать второй тип модели - задержки сигналов вдоль путей, который был обоснован в работе [14.1]. В настоящем разделе будет показано как универсальные многозначные модели, разработанные в "Система многозначных алфавитов и функций" , могут быть использованы для моделирования данных неисправностей.
Обычно различают неисправности типов задержка переднего фронта ( \[ 0\to 1 \] ) и задержка заднего фронта ( \[ 1\to 0 \] ). В определенном смысле задержка переднего фронта соответствует неисправности const0, так как она в течение некоторого времени ведет себя также как эта константная неисправность. Если это время значительно, то при задержке переднего фронта схема ведет себя почти также как и при неисправности const0 (в случае ее проверяемости). Аналогично задержка заднего фронта соответствует неисправности const1.
Наиболее распространенный метод обнаружения неисправностей задержка сигналов заключается в следующем. Сначала на схему подается в момент времени \[ t_{1} \] входной набор \[ Х_{1} \] . После стабилизации сигналов в схеме в момент времени \[ t_{2} \] подается второй входной набор \[ Х_{2} \] . При этом передний фронт сигнала распространяется вдоль проверяемых путей в схеме от внешних входов к внешним выходам. Измеряя реальную задержку распространения сигналов и сравнивая ее с эталонной, можно обнаружить неисправности задержки распространения сигналов тестируемых путей в схеме. Таким образом для проверки подобных неисправностей необходима пара входных наборов \[ <Х_{1},X_{2}> \] . Значения сигналов в схеме, установившиеся на наборе \[ Х_{1} \] будем называть начальными значениями для пары \[ <X_{1},X_{2}> \] . Аналогично определим конечные значения, которые устанавливаются на наборе \[ Х_{2} \] (в схеме не содержащей неисправности типа задержка сигнала).
Согласно [14.1] пару входных наборов \[ <Х_{1},X_{2}> \] будем называть устойчивым тестом для задержки распространения сигналов по пути \[ Р \] , если она проверяет эту неисправность независимо от других неисправностей типа задержка сигнала, не расположенных на данном пути \[ Р \] . Например, для схемы, представленной на рис. 14.1, пара наборов \[ <11110, 01010> \] (значения даны в порядке \[ x_1,x_2,x_3,x_4,x_5 \] ) является устойчивым тестом для неисправности задержки пути \[ P_1=(x_3,x_7,x_9,x_{10}) \] . Анализ поведения схемы на этой паре наборов показывает, что задержка на пути \[ Р_{1} \] будет обнаружена независимо от наличия задержек на других путях схемы (например, на путях \[ P_2=(x_1,x_6,x_10) \] или \[ P_3=(x_3,x_6,x_10) \] ). Важность понятия устойчивого теста обуславливается тем, что в реальных схемах задержки распространения сигналов могут изменяться вследствие технологических причин. Поэтому для того, чтобы неисправность задержки данного пути не была компенсирована другими неисправностями, необходимо использовать устойчивые тесты.
Согласно [14.1], пару входных наборов будем называть неустойчивым тестом для задержки распространения сигналов по пути \[ Р \] , если она проверяет эту неисправность при условии, что входы логических элементов пути \[ Р \] , не принадлежащие ему, принимают конечные значения до того, как изменение сигнала вдоль пути \[ Р \] достигает этих элементов. Например, на рис. 14.1 указанная выше пара наборов является неустойчивым тестом для неисправности "задержка распространения сигнала" вдоль пути \[ P_4=(x_3,x_7,x_9,x_11) \] , так как она проверяет ее при условии, что значение сигнала на \[ х_{8} \] установится в 1 до прибытия на элемент \[ G_{6} \] изменения сигнала вдоль пути \[ Р_{4} \] . Отметим, что эта пара наборов для задержки сигналов путей \[ P_2=(x_1,x_6,x_10) \] и \[ P_3=(x_3,x_6,x_10) \] не является даже устойчивым тестом.
Непосредственно из определения неустойчивого теста вытекает следующее. Для того, чтобы пара наборов была неустойчивым тестом пути \[ Р \] необходимо и достаточно выполнение условия всех элементов \[ G_{k} \] пути
\[ \cfrac{dG_k}{dX_{ik}}\left|_{X=X_2}=1, \]где \[ x_{ik} \] - вход \[ G_{k} \] , принадлежащий пути [14.2], где \[ \cfrac{dG_k}{dX_{ik}} \] означает булеву производную \[ G_k \] по переменной \[ X_{ik} \] ,определение которой представлено в "Синтез тестов для заданной неисправности" . Это условие показывает, что выход элемента \[ G_{k} \] должен зависеть от входа \[ x_{ik} \] , на который приходит изменение сигнала по пути \[ Р \] , при конечных (установившихся) значениях остальных входов этого элемента. Для устойчивого теста данное условие является необходимым, но недостаточным. Например, для элемента \[ G_{6} \] схемы рис. 14.1 это условие выполняется, но пара наборов \[ <X_1,X_2> \] не является устойчивым тестом для пути \[ P_4=(x_3,x_7,x_9,x_11) \] . Можно показать, что кроме приведенного выше условия необходимо, чтобы на паре \[ <X_1,X_2> \] \[ F^{01}\vee F^{10} = 1 \] (где \[ F^{01}, F^{10} \] - ориентированные булевы дифференциалы [14.2] ) .