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

Конкурентный и дифференциальный метод моделирования неисправностей

< Лекция 12 || Лекция 13: 12 || Лекция 14 >

13.2 Test-Detect

В [13.2] предложен простой алгоритм моделирования неисправностей для комбинационных схем с использованием многозначного алфавита B_{4}=\{0,1,D,D'\}(рассмотренного в "Система многозначных алфавитов и функций" ). Здесь предполагается, что все вентили имеют нулевую задержку. Сначала выполняется моделирование исправной схемы в двоичном алфапвите, что позволяет определить значения сигналов для всех линий схемы. Далее по очереди (последовательно) анализируется проверяемость каждой неисправности на текущем входом наборе. Анализ выполняется на основе алфавита B_{4}=\{0,1,D,D'\}, который позволяет одновременно моделировать исправную и неисправную схему. Напомним, чт о элементы алфавита B_{4} имеют следующую интерпретацию: 0(1)=00(11) - значения сигналов равны; D'(D)=01(10) - значения сигналов различны в исправной и неисправной схеме.

При моделировании сначала производится активизация неисправности, где неисправной линии присваивается значение D (для константы 0) или D' (для константы 1). Далее выполняется распространение значений D,D' через логические элементы и узлы разветвления на текущем входном наборе. Если значение D или D' достигает хотя бы одного внешнего выхода, то считается, что неисправность проверяется данным входным набором. После этого значения сигналов для всех линий схемы восстанавливаются (к значениям исправной схемы) и производится анализ следующей неисправности. Когда выполнен анализ всех неисправностей, процедура повторяется для следующего входного набора и т.д.

На рис. 13.6 приведен пример моделирования неисправности данным методом. На рис. 13.6) представлены результаты для неисправности константа 1 на нижней ветви разветвления. Здесь при активизации неисправной линии присвоено значение D' и далее выполнено D-распространение через логические вентили путем моделирования в алфавите B_{4} .

Пример  моделирования неисправностей методом "Test-Detect".

Рис. 13.6. Пример моделирования неисправностей методом "Test-Detect".

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

С другой стороны на рис. 13.6 б) представлены результаты моделирования для неисправности константа 1 для верхней ветви узла разветвления. Здесь процедура D-распространения не дает значения D (или D') на внешнем выходе схемы, что говорит о том, что эта неисправность не проверяется текущим входным набором.

13.3 Дифференциальный метод моделирования неисправностей

На основе метода "Test-Detect" в [13.6] разработан дифференциальный метод моделирования неисправностей, в котором по сравнению с указанным сделаны следующие изменения: 1) отказ от D-исчисления (моделирования в алфавите B_{4}); 2) отказ от процедуры явного восстановления значений сигналов перед анализом следующей неисправности. Название "дифференциальный " метод получил вследствие того, что в нем явным образом анализируется различие (сигналов) между двумя схемами (исправной и неисправной). Отметим, что первоначально метод разработан для комбинационных и синхронных последовательностных схем с нулевыми задержками элементов. Сначала рассмотрим дифференциальный метод для комбинационных схем, для которых основной алгоритм можно описать следующим образом:

  1. Для данной тестовой последовательности и списка неисправностей выполнить инициализацию схемы и положить первый входной набор теста в качестве текущего вектора.
  2. Выполнить моделирование на текущем векторе в двоичном (троичном) алфавите и запомнить значения внешних выходов в выходном файле.
  3. Активизировать неисправность путем присваивания неисправной линии противоположного значения сигнала (для константы 1 положить 0 и наоборот для константы 0 положить 1) и занести это событие.
  4. Начиная с занесенных событий, выполнить событийное моделирование пока есть активные события (изменения сигналов на входах вентилей). Если значение хотя бы одного внешнего выхода отличается от соответствующего значения, хранимого в выходном файле, то неисправность считается проверенной и удаляется из списка неисправностей.
  5. Если выполнен анализ всех неисправностей для текущего входного вектора, то в качестве текущего вектора положить следующий вектор тестовой последовательности и переход на п.2 (если следующего вектора нет, то конец). Иначе переход на следующий п.6.
  6. Активизировать следующую неисправность путем формирования событий: 1) соответствующих предыдущей неисправности - восстановлением значении сигнала на этой линии; 2) соответствующих активизированной неисправности. С этими событиями переход на п.4.

Отметим, что основное отличие от предшествующего метода "Test-Detect" содержится в п.6 приведенного алгоритма. Отсутствие вычислений в B_{4}_{ } позволяет сделать программную реализацию проще. Кроме этого, одновременное восстановление сигнала для предыдущей неисправности и активизация (внесение) неисправности в два раза снижает число проходов событийного моделирования. Таким образом, в алгоритме обрабатываются следующие события: 1) входные вследствие изменения входного вектора; 2) активизация следующей неисправности; 3) восстановление значений для предыдущей неисправности; 4) изменение значений сигналов на входах элемента в процессе моделирования.

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

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

Покажем суть метода на примере схемы рис. 13.7, где моделируются две константные неисправности, отмеченные (1) и (2).

Пример дифференциального моделирования на входном наборе (11).

Рис. 13.7. Пример дифференциального моделирования на входном наборе (11).

Рассмотрим моделирование этих несправностей на тестовой последовательности, состоящей из трех входных наборов. Результаты моделирования на первом наборе (11) представлены на рис. 13.7. Здесь начальное состояние тригера предполагается неопределенным имеет значение - u, текущий и следующий списки неисправностей пусты. Моделирование исправной схемы на этом наборе показывает, что ни одна из указанных неисправностей не активизируется. После моделирования на втором наборе (10), результаты которого показаны на рис. 13.8, обе неисправности активизируются. Влияние первой неисправности на рисунке обозначено D'(1) и второй соответственно - D'(2). Отметим, что только влияние первой неисправности достигает входа триггера и эта неисправность вносится в следующий список неисправностей. рис. 13.9 представляет результаты моделирования на следующем входном наборе (01). Здесь текущий список пополняется неисправностью D(1), которая распространяется до внешнего выхода, что показывает ее проверяемость и она исключается из списка обрабатываемых неисправностей. Поскольку больше ни одна неисправность не распространяется до триггера, следующий список неисправностей является пустым.

Отметим, что подобным образом можно обрабатывать несколько (непересекающихся) различий сигналов. Дальнейшее развитие данный метод получил в параллельной реализации - PROOF , выполненной в [13.7], которая очень широко используется в промышленных симуляторах.

Пример дифференциального моделирования на входном наборе (10).

Рис. 13.8. Пример дифференциального моделирования на входном наборе (10).
Дифференциальное моделирование на входном наборе (01).

Рис. 13.9. Дифференциальное моделирование на входном наборе (01).

Ключевые термины:

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

Конкурентный метод - основан на обработке суперсписков неисправностей, которые изменяют значения сигналов исправной схемы.

Дифференциальный метод - основан на распространении различия сигналов в исправной и неисправной схеме.

Краткие итоги

Рассмотрен самый универсальный конкурентный (совместный) метод моделирования неисправностей на основе обработки суперсписков неисправностей. Изложен дифференциальный метод моделирования неисправностей на базе распространения различия сигналов в исправной и неисправной схеме.

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

"Конкурентный и дифференциальный метод моделирования неисправностей" содержит описание метода моделирования неисправностей "Test-Detect", который использует D-исчисление в многозначном алфавите для распространения различий сигналов в исправной и неисправной схеме.

"Конкурентный и дифференциальный метод моделирования неисправностей" посвящен дифференциальному методу моделирования неисправностей, который также основан на распространении различий сигналов и является развитием "Test-Detect", но использует двоичный или троичный алфавит.

Вопросы и упражнения

  1. Чем отличается суперсписок неисправностей конкурентного метода от списка неисправностей дедуктивного метода?
  2. Приведите пример суперсписка неисправностей.
  3. Что такое расширение суперсписка и когда оно возможно?
  4. Что такое сужение суперсписка и когда оно возможно?
  5. Выполните моделирование одиночных константных неисправностей конкурентным методом для приведенной схемы рис. 13.10 на тестовом наборе (11101).
    Схема для упражнения 5.

    Рис. 13.10. Схема для упражнения 5.
  6. Сравните параллельный, дедуктивный и конкурентный метод по функциональным возможностям.
  7. Сравните параллельный, дедуктивный и конкурентный метод по вычислительным ресурсам.
  8. В чем суть метода "Test-Detect"?
  9. Выполните моделирование константной неисправности =0 на выходе второго нижнего вентиля первого уровня методом "Test-Detect" для приведенной схемы рис. 13.10. на тестовом наборе (11111).
  10. Чем отличается дифференциальный метод моделирования неисправностей от "Test-Detect".
  11. Какие события обрабатываются в дифференциальном методе?
  12. Для каких схем корректно можно применять дифференциальный метод?
  13. Какие дополнительные списки необходимы при обобщении этого метода на схемы с памятью?
< Лекция 12 || Лекция 13: 12 || Лекция 14 >
Дмитрий Медведевских
Дмитрий Медведевских

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