Московский государственный университет путей сообщения
Опубликован: 06.09.2012 | Доступ: свободный | Студентов: 1232 / 168 | Оценка: 5.00 / 5.00 | Длительность: 35:22:00
Специальности: Разработчик аппаратуры
Лекция 9:

Константные неисправности

< Лекция 8 || Лекция 9: 12 || Лекция 10 >
Аннотация: Определены константные неисправности, которые позволяют моделировать многие физические дефекты. Приведены примеры дефектов, которые можно представить константными неисправностями. Рассмотрены методы сокращения списков константных неисправностей для комбинационных схем.

9.1 Модель константных неисправностей

Для определения константных неисправностей используем структурную модель в виде логической схемы. Полагаем, что одиночная константная неисправность (single stack-at fault) действует только на соединение между вентилями (при этом логические элементы функционируют правильно). Каждая линия схемы может иметь два типа этих неисправностей: константа 0 и константа 1 (s-a-0, s-a-1). Итак, константная неисправность фиксирует на данной линии постоянное значение сигнала 0 или 1 (s-a-0, s-a-1), независимо от значения подаваемого на нее сигнала. Часто такие неисправности моделируют замыкания линии схемы на землю (s-a-0) или источник питания (s-a-1). Примеры физических дефектов, представляемых этой моделью, показаны на рис. 9.1. На рис. 9.1 а) показано замыкание входа биполярного транзистора вентиля XOR на землю. Это физический дефект моделируется неисправностью s-a-0. Аналогично на рис. 9.1 б) показан пробой оксида вентиля, реализованного по КМОП технологии, который также моделируется неисправностью s-a-0.

В дальнейшем эта модель будет использоваться для генерации тестов независимо от ее адекватности реальных физических дефектов. Отметим, что для некоторых технологий (например, ТТЛ) адекватность этой модели достаточно высокая, для других (КМОП) ниже. Но в целом, данная модель чрезвычайно полезна в силу своей исключительной простоты и удовлетворительной адекватности, и поэтому используется в качестве базовой для многих методов моделирования неисправностей и генерации тестов[9.1-9.3].

Примеры физических дефектов, представляемых константными неисправностями

Рис. 9.1. Примеры физических дефектов, представляемых константными неисправностями

Рассмотрим для примера тест для 3-входового вентиля И (рис. 8.2), проверяющий одиночные константные неисправности.

Таблица 9.1.
a b c d Проверяемые неисправности
1 1 1 1 a\equiv 0, b\equiv 0, c\equiv 0, d\equiv 0,
0 1 1 0 a\equiv 1, d\equiv 1
1 0 1 0 b\equiv 1, d\equiv 1
1 1 0 0 c\equiv 1, d\equiv 1

Очевидно, что тест, представленный табл. 9.1, проверяет все одиночные константные неисправности входов и выхода этого вентиля, поскольку для каждой неисправности в тесте есть входной набор, на котором исправный и неисправный вентиль дают различные выходные реакции. При этом первый входной набор проверяет константные неисправности a\equiv 0, b\equiv 0, c\equiv 0, d\equiv 0. Второй набор проверяет неисправность a\equiv 1, третий - b\equiv 1, четвертый - c\equiv 1.

Физический дефект может моделироваться и кратной константной неисправностью, при которой несколько линий принимают постоянное значение 0 или 1 одновременно. Отметим, что число кратных константных неисправностей растет экспоненциально с числом неисправных линий m, составляющих данную неисправность. Для схемы с N линиями имеется 2^N одиночных константных неисправностей и 3^N всевозможных кратных константных неисправностей (включая и одиночные), поскольку каждая линия может быть исправной, либо иметь неисправности s-a-0, s-a-1 (3 возможных события). Очевидно, что для подмножества из m фиксированных линий имеется кратных константных неисправностей. Число таких подмножеств определяется C(N,m)=\cfrac{N!}{m!(N-m)!}. Поэтому число константных неисправностей с кратностью не более k равно \sum\limits_{i=1}^k{C(N,i)2^i}.

9.2 Сокращение списков неисправностей

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

Рассмотрим для простоты комбинационную схему с одним выходом, которая реализует в исправном состоянии булеву функцию f_0(X) , а с некоторой i-ой неисправностью - f_i(X) . Очевидно, на тестовом проверяющем наборе X=t необходимо f_0(t) \oplus f_i(t)=1.

Определение 9.1. Две неисправности f_1 и f_2 назовем эквивалентными, если любой тестовый набор, проверяющий одну неисправность, проверяет также и другую. Таким образом, их тестовые множества T_1 и T_2 идентичны: T_1 \subseteq T_2, T_2 \subseteq T_1.

Эквивалентность и доминирование неисправностей вентилей

Рис. 9.2. Эквивалентность и доминирование неисправностей вентилей

Для таких неисправностей очевидно f_1(A)\oplus f_2(A)=0 для произвольного набора A. Рассмотрим множество одиночных константных неисправностей вентиля И, представленного на рис. 8.2. Очевидно, константные неисправности s-a-0 входов вентиля a, b, c эквивалентны неисправности s-a-0 его выхода d. Поэтому для последующей обработки можно оставить только одного представителя класса эквивалентных неисправностей, например, s-a-0 входа a. Аналогично константные неисправности s-a-1 входов вентиля ИЛИ эквиваленты неисправности s-a-1 его выхода. Для инвертора неисправность s-a-0 (s-a-1) входа эквивалентна неисправности его выхода s-a-1 (s-a-0) (рис. 9.2).

Определение 9.2. Неисправность f_1 доминирует над неисправностью f_2, если тестовое множество последней T_2 является подмножеством тестового множества T_1 неисправности f_1, т.е. T_2 \subseteq T_1.

Таким образом, любой тестовый набор, проверяющий f_2, проверяет также и неисправность f_1 (будем обозначать это отношение f_2\to f_1). Поэтому для дальнейшей обработки достаточно в список неисправностей включить f_2.

Возвращаясь назад к примеру вентиля рис. 8.2, находим, что тест для неисправности s-a-1 любого входа элемента И проверяет неисправность s-a-1 его выхода. Здесь неисправность d\equiv 1 выхода вентиля доминирует над неисправностью s-a-1 любого его входа и поэтому может быть удалена из списка неисправностей этого вентиля. Для определенности оставим в списке неисправность входа a\equiv 0. Таким образом, из восьми возможных одиночных константных неисправностей этого вентиля в списке неисправностей следует оставить только четыре: a\equiv 1 , b\equiv 1, c\equiv 1, a\equiv 0. Таким образом, исходный список неисправностей с помощью приведенных простых правил удалось сократить в два раза. Аналогичные отношения эквивалентности и доминирования имеют место и для других стандартных вентилей. На рис. 9.2 они представлены в наглядной графической форме. При этом неориентированные дуги представляют отношения эквивалентности, а ориентированные - отношения доминирования. Отметим, что для узла разветвления данные отношения отсутствуют.

В общем виде, локальное сокращение списка неисправностей для вентиля выполняется согласно следующим правилам [9.1,9.2]:

  1. Для вентиля с n входами из всех 2(n+1) возможных неисправностей необходимо рассматривать n+1 одиночных константных неисправностей.
  2. При этом удаляются обе неисправности s-a-0, s-a-1 выхода любого вентиля и оставляются одиночные константные неисправности типа s-a-0 (s-a-1) для каждого входа вентиля ИЛИ, НЕ-ИЛИ (И, НЕ-И) и одна неисправность любого входа противоположного типа s-a-1 для ИЛИ, НЕ-ИЛИ (s-a-0 для И, НЕ-И).
  3. Одиночные константные неисправности выхода вентиля НЕ и неинвертирующего буфера удаляются, а входа - оставляются.
  4. Для узла разветвления сокращение неисправностей не производится, так как между ними нет отношения эквивалентности и доминирования.

Далее, используя отношения эквивалентности и доминирования неисправностей для отдельных вентилей, мы можем распространить его на неисправности всей схемы.

Рассмотрим в качестве примера комбинационную схему, не содержащую разветвлений, которая представлена на рис. 9.3.

< Лекция 8 || Лекция 9: 12 || Лекция 10 >
Дмитрий Медведевских
Дмитрий Медведевских

Добрый день  можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти  в известных источниках