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

Дедуктивный метод моделирования неисправностей

< Лекция 11 || Лекция 12: 12 || Лекция 13 >
Аннотация: Вводится понятие списков неисправностей, изложены правила распространения списков через логические элементы. Рассмотрен дедуктивный метод моделирования в различных алфавитах: двоичном, троичном и многозначном. Приведен дифференциальный метод моделирования неисправностей.

12.1 Дедуктивный метод моделирования в двоичном алфавите

Вспомним, что основная цель моделирования неисправных цифровых схем заключается в получении списков проверяемых и непроверяемых неисправностей на заданных входных воздействиях. Данный метод работает непосредственно со списками неисправностей, проверяемых на данном входном наборе. Метод основан на анализе логической зависимости значений сигналов на данном входном наборе от присутствия неисправностей [12.1].

Сначала для каждого входного набора выполняется моделирование исправной схемы в двоичном алфавите. А далее для каждой линии схемы (в том числе и внешних выходов) определяются списки неисправностей, при которых значение сигнала меняется на противоположное. Поэтому здесь с каждой линией схемы связывается список неисправностей, изменяющих значения сигналов на этом входе или выходе, как это показано на рис. 11.1 [12.2]. Здесь малыми буквами обозначены переменные значений сигналов, а большими - списки неисправностей, связанные с соответствующими линями. Каждый список содержит неисправности, которые дают значения сигналов на данной линии противоположные значениям сигналов в исправной схеме. Например, для a=0 список A содержит все неисправности схемы, при которых a=1.

Списки неисправностей вентиля

Рис. 12.1. Списки неисправностей вентиля

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

Основной проблемой является получение теоретико-множественных формул для распространения списков неисправностей через вентиль. То есть, как по данным спискам неисправностей входов вентиля получить список неисправностей, связанный с его выходом. Рассмотрим логический элемент И (рис. 12.1), на входах и выходах которого в исправной схеме на данном тестовом наборе устанавливаются определённые значения 0 или 1 (рассмотрим сначала моделирование в двоичном алфавите).

Таблица 12.1.
Тип Значения входов Список выхода
И, НЕ-И I^0= \varnothing 
F=\bigcup{X_i}
I^0\neq\varnothing 
F=\bigcap{X_i}-\bigcap{X_j}=\bigcap{X_i\cap(\overline {\bigcap{X_j}})}\\
X_i\in I_1, X_j\in I_0
ИЛИ, НЕ-ИЛИ I^1=\varnothing F=\bigcup{X_i}
I^1\neq\varnothing 
F=\bigcap{X_i}-\bigcap{X_j}=\bigcap{X_i\cap(\overline {\bigcap{X_j}})}\\
X_i\in I_1, X_j\in I_0
НЕ X_1

Рассмотрим первую типовую ситуацию. Пусть a=1, b=1, c=0 и f=0. Тогда неправильное значение f=1 на выходе этого вентиля вызывает любая неисправность из списка С, которая не содержится в списках А и В. Поэтому в данном случае при распространении списка неисправностей через данный логический элемент имеем: F=C - (A\cup B) (здесь минус - означает вычитание множеств - F=C \cap (A\cup B)). Очевидно, что к полученному списку F необходимо добавить неисправность f\equiv 1 выхода вентиля. Поэтому окончательное выражение для распространения списков неисправностей в этом случае имеет вид F=(C - (A\cup B))\cup f_1.

Рассмотрим вторую типовую ситуацию для этого вентиля, при которой a=1, b=1, c=1, f=1. Очевидно, что в этом случае значение f=0 может вызвать любая неисправность из списков A, B, C и неисправность f\equiv 1. Поэтому получаем следующее теоретико-множественное правило для распространения неисправностей F=A\cup B\cup C\cup f_1. В табл. 11.1 в общем виде приведены правила распространения неисправностей для типовых вентилей в стандартных ситуациях. Здесь I^0 - множество входов вентиля, имеющих значение 0, I^1 - множество входов вентиля, имеющих значение 1.

Пример схемы для дедуктивного метода

Рис. 12.2. Пример схемы для дедуктивного метода

С помощью полученных правил распространения списков неисправностей выполняется продвижение по схеме от входов к выходам. В результате получается для внешних выходов общий список неисправностей схемы, проверяемых на данном входном наборе. Алгоритм продвижения в общих чертах аналогичен алгоритму событийного моделирования. Но при дедуктивном методе, в отличие от обычного моделирования, должны обрабатываться два вида событий:

  1. изменение значений сигналов исправной схемы;
  2. изменение списков неисправностей (при чём оно может быть без изменения значений сигналов).

Рассмотрим данный метод на примере схемы, представленной на рис. 12.2. Очевидно, что для внешних входов схемы связанные с ними списки неисправностей содержат по одной константной неисправности (значения констант противоположны значениям внешних входов). Поскольку мы моделируем схему на входном наборе a=1, b=1, d=0, i=1, h=1, f=1, то получаем:


A = \{a_{0}\}, B = \{b_{0}\}, D = \{d_{1}\}, I = \{i_{0}\}, H = \{h_{0}\}, F = \{f_{0}\}.

Далее по приведенным выше теоретико-множественным правилам выполняем распространение списков неисправностей со входов схемы до ее внешнего выхода:


C=A\cup B\cup c_1=\{a_0,b_0,c_1\};\\
E=D\cup C\cup e_1=\{a_0,b_0,c_1,d_1,e_1\};\\
G=E\cup g_1=\{a_0,b_0,c_1,d_1,e_1,g_1\};\\
J=E\cup j_1=\{a_0,b_0,c_1,d_1,e_1,j_1\};\\
K=I\cup H\cup k_1=\{i_0,h_0,k_1\};\\
L=J\cup l_0=\{a_0,b_0,c_1,d_1,e_1,j_1,l_0\};\\
M=(K-L)\cup m_1=\{i_0,h_0,k_1,m_1\};\\
N=(G-F)\cup n_1=\{a_0,b_0,c_1,d_1,e_1,g_1,n_1\};\\
P=N\cup M\cup p_1=\{a_0,b_0,c_1,d_1,e_1,g_1,n_1,i_0,h_0,k_1,m_1,p_1 \};\\

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

Мы уже говорили о том, что в дедуктивном методе используется событийное моделирование. Далее рассмотрим события, вызываемые изменением входа схемы h:1\to 0. Прежде всего, изменяется список H=\{h_1\}. Это изменение вызывает следующие события:


k:0\to 1,\, K=(H-I)\cup k_0=\{h_1,k_0\};\\
m:0\to 1,\, M=L\cup K\cup m_0 =\{a_0,b_0,c_1,d_1,e_1,j_1,l_0,h_1,k_0,m_0\};\\
p:0\to 1,\, P=(M-N)\cup p_0=\{h_1,k_0,m_0,j_1,l_0,p_0\}.

Очевидно, выполнив эту процедуру для каждого входного набора, мы можем получить список неисправностей, проверяемых всей входной последовательностью, путём объединения списков неисправностей, проверяемых на каждом входном наборе.

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

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

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