Практические занятия 10

advertisement
13
Практические занятия 10-12
Тема: Построение тестов методом активизации одномерного пути
Цель: познакомить с построением тестов методом активизации одномерного пути
Теоретический материал
При генерировании тестов в общем случае решаются две основные задачи:
наблюдаемости в точке возникновения и транспортировки на выход.
Исторически один из первых подходов, применяемых для генерирования тестов
– метод активизации одномерного пути.
Сущность его заключается в том, что для транспортировки неисправности от
места её возникновения до одного из выходов схемы активизируется одномерный
путь.
Алгоритм активизации:
1.
Вычисляется условие, при котором заданная неисправность проявляется
в точке её возникновения. Для “≡1” условием наблюдаемости будет
обеспечение значения логического нуля для того полюса схемы, на
котором возникла “≡1”.
2.
Выбирается путь, по которому неисправность транспортируется на
выход. Он задаётся в виде последовательности элементов, лежащих на
нём.
3.
Для элемента выбранного пути входные переменные задаются таким
образом, что его выходное значение определяется только входом,
подключенным к выходу предыдущего элемента, лежащего на пути.
4.
Вычисляются значения входных переменных, которые будут определять
условия наблюдаемости неисправности и её транспортировки на выход
схемы, т. е. Получается условие обнаружения заданной неисправности в
терминах входных переменных схемы. Результатом вычислений и будет
искомый тест.
Пункты 1-3 алгоритма часто называют прямой фазой метода активизации
одномерного пути, а пункт 4 – обратной фазой.
14
d-алгоритм (автор Рот) – алгоритмический метод построения тестов для
безызбыточной КС. Он гарантирует нахождение теста для заданной неисправности,
если такой тест существует. Активизируются последовательно несколько путей, и
если для какого-то не существует теста, мы сразу перестраиваемся на другой.
Использует кубическое описание булевой функции (ещё один вариант описания
наряду с таблицей истинности, ДНФ, КНФ, диаграммами Вейча и пр.). Одним из
вариантов кубического описания являются сингулярные кубы.
1. Сингулярные кубы.
И переменные, и функция могут принимать три значения: 0,1 и Х, который, в
свою очередь, может принимать два значения: 0 или 1.
Рассмотрим примеры:
Элемент 2И–НЕ
Комбинационная схема.
Множество сингулярных кубов
1
2
&
123
3
110
1
2
0x1
x01
1
4
f1
&
3
5
f2
123456
1
6
f3
00 1
1x
0
x1
0
11
1
0x
0
Сингулярные кубы используются для получения в дальнейшем xd-кубов.
0 0
2. d-кубы. При их задании используются символы 0, 1, х, d, d .
00 0
1x 1
d может иметь значение 0 и 1, а d – строго противоположное по отношению к d.
x1 1 а d –
Для конкретной цифровой схемы все символы d принимают одно значение,
противоположное.
d–куб
описывающий
поведение
схемы,
получается
в
результате
покоординатной операции пересечения 2-х сингулярных кубов с различным
значением по выходной координате в соответствии с правилом:
15
00=0
11=1
xx=x
0x=0
1x=1
10=d
x0=0
x1=1
01= d
16
Так, например, на основании C1 
123
123
и C2 
из сингулярных кубов
110
x01
для элемента 2И–НЕ в результате их покоординатного пересечения получим
d-куб C1  C 2 
123
1d d
3. Примитивный d-куб.
Для описания заданной неисправности используются так называемые
примитивные d–кубы неисправности, состоящие из входного набора,
позволяющего наблюдать неисправность по выходу элемента и символа d
или d в выходной координате.
Пример составления примитивных d-кубов:
1
2
&
123
3
00d
0 (неисправно)
Здесь d означает, что в исправном состоянии должно быть 1, а в
неисправном 0.
1
2
1
123
3
1
1x
Здесь d означает,
что в исправном состоянии должно быть 0, а в
x1
неисправном 1.
Этапы d-алгоритма:
1. Выбирается примитивный d-куб заданной неисправности элемента.
2. Активизируются возможные пути от элемента с неисправностью к выходу
схемы.
При
этом
применяется
операция
d-пересечения
d-куба
неисправности с d-кубами элементов, последовательно соединенных
между неисправным элементом и выходами схемы.
17
В результате первоначального пересечения d-куба неисправности с
d-кубом
последующего
элемента
получается
заданной
d-куб
неисправности, описывающий поведение схемы из 2-х элементов. Эта
процедура называется d-проход. Считается, что d-проход оканчивается,
когда получено хотя бы по одному выходу значения d или d .
3. Обратная фаза – процедура последовательного пересечения полученного
результирующего d-куба с сингулярными кубами остальных элементов.
Основной
задачей
d-алгоритма
является
построение
d-куба
неисправности всей рассматриваемой схемы. Для этого используется
операция d-пересечения, введенная Ротом с целью формализации процедуры
активации многомерного пути.
Операция d-пересечения:
Имеем два d-куба: A=(a1, a2, …, an) и B=(b1, b2, …, bn), где ai, bi {0, 1, x, d, d
}. Результатом их пересечения является новый d-куб, определяемый
следующим выражением: АВ=(а1в1, … ,аnвn), где результат пересечения
координат определяется по следующим соотношениям:
1. Хbi=bi; Хai=ai;

ai , если ai  bi ,

2. Если aix и bix, то ai  bi  

0, в противном случае
3. Если есть хоть одно пустое множество, то результат всего d-пересечения –
пустое множество, т.е. тестовый набор не существует. Нужно перейти на
другой путь.
ЦС с неисправностью f2≡0. Сначала составим множества эквивалентных
сингулярных кубов для элементов 1 и 3 (они типовые). Из них потом будем
выбирать наиболее подходящие. Затем составим множество примитивных dкубов для неисправности элемента 2 и наборы d-кубов для элементов 4 и 5.
1
2
1 f1
1 5
& f3
3 7
& f5
f1
f2
f3
f4
f5
125
346
357
268
789
18
2И-НЕ
2ИЛИ-НЕ
0x1
1x0
x01
x10
110
1234
56789
x x10
xdxxx
x0xx
xdx
x
x010
xdx
x
xxxx
xx1
d
x010
xd1
d
xxxx
0x1xx
x010
0d1
1xxx
0xxxx
1010
0d1
сингулярные
001
d 1d
d0 d
1d d
0d d
d – кубы
01d
d
d
неисправность
10d
0
00d
При расчётах наборы подбираем так, чтобы не было пустых множеств
Особенности построения тестов для последовательностных цифровых
схем
Рассмотренные алгоритмы эффективны для КС.
Решение задачи для последовательностных схем затруднено – из-за
зависимости поведения последних не только от текущего набора значений
входных переменных, но и от предыдущей их последовательности.
19
Для обнаружения одной константной неисправности необходимо подать
на входы схемы последовательность входных наборов.
Два подхода к проблеме построения тестов для последовательностных
ЦС:
1. Метод преобразования данной последовательностной схемы в множество
идентичных
комбинационных
схем,
тогда
можно
применять
рассмотренные методы.
2. Метод идентификации функционирования данной последовательностной
цифровой схемы в соответствии с таблицей состояний.
Общая модель последовательностных схем представляется в виде т. н.
модели Хаффмена:
Y (k )  S (k ), X (k )
x(k)
y(k)
КС
S(k)
Эту модель м. изобразить в виде копий одной и той же схемы так, что
состояние первой будет входным значением второй и т.д.
y
x
y
x
y
x
КС
КС
КС
S
S
S
Имеем комбинационную схему, состоящую из последовательности
идентичных схем, входными переменными для которых могут быть входные
20
переменные последовательностной схемы и состояние, соответственно,
предыдущей схемы. Количество схем равно количеству состояний (L).
Задача сводится к тестированию комбинационных схем. Одиночная
неисправность становится L-кратной, что усложняет тестирование.
Очень
существенна
проблема
синтеза
установочных
последовательностей, особенно для второго способа.
Оценка эффективности методов построения тестов.
Обычное допущение: однократные константные неисправности.
Оно справедливо для схем, часто подвергаемых контролю, когда
вероятность возникновения больше одной неисправности ничтожно мала
(часто проверяются).
Схемы, подвергаемые контролю впервые, а также БИС и СБИС могут
содержать многократные неисправности.
Построение тестов для обнаружения неисправностей большей кратности
практически неосуществима. Схема с К полюсами может иметь 2К
одиночных неисправностей (К штук 0 и К штук 1), а количество
всевозможных константных неисправностей 3K-1.
Вывод: Построение тестов даже для небольших схем для выявления
всевозможных неисправностей - нереальная задача.
В связи с этим на практике стараются объединять неразличимые
неисправности в одно множество, например: для n-входных элементов
И(ИЛИ) рассматривается только различимые (0 (1) на входе и на выходе
неразличимы).
Поэтому
для
n-входового
элемента
вместо
возможные
эквивалентные
2n+2
неисправностей проверяем n+2.
Рассматриваются
также
классы
неисправностей, обнаруживаемые одним множеством тестов, а также
примитивные неисправности (их мы рассматривать не будем).
Все равно процедура составления тестов остается очень сложной
t g  K1 L3
, где tg – машинное время составления тестов, L – число вентилей в
схеме, K1 –коэффициент пропорциональности.
21
Более экономен принцип моделирования неисправностей (`”случайный
поиск”). В модели схемы задаются неисправности. Подаются случайно
выбранные входные наборы на модель с неисправностью и на эталонную
модель. Если есть отличие выходных реакции, случайный набор считается
тестом, проверяющим данную неисправность. Последовательно генерируя
все неисправности, получим полный тест. Эффективность
t g  K 2 L2
выше,
т.к. многие неисправности обнаруживаются одними и теми же тестами.
Зависимость полноты покрытия неисправностей от времени построения
теста.
%
100
50
t
где % - характеристика отношения обнаружения к общему количеству
возможных.
На первом этапе случайный, позволяет быстро построить тест для
неисправностей обнаруживаемых множеством тестовых наборов, а затем
детерминированный для неисправностей, требующих для обнаружения
конкретного набора.
Принадлежность задачи построения тестов к классу универсальных
переборных (NP – полных) приводит к тому, что 104 вентилей – предел
эффективного применения традиционных методов. Далее используются
подходы,
позволяющие
последовательностей
–
упростить
задачу
проектирование
построения
тестовых
контролепригодных
схемотехнические решения.
Нахождение минимального набора тестов.
схем,
22
1. Строится таблицу неисправностей, в которой строки соответствуют всем
возможным тестам, а столбцы – всем неисправностям схемы, которые
могут быть обнаружены данным набором.
2. Правило заполнения: если данный тест-набор позволяет обнаружить
данную
неисправность,
то
в
соответствующей
клетке
таблицы
записывается 1, в противоположном случае – нет.
3. Выявляются и отмечаются тесты, единственные для выявления какой –
либо рассматриваемой неисправности.
4. Выявляется
и
отмечается
минимальная
совокупность
тестов,
обнаруживающих остальные неисправности.
Задания
1.Построить произвольный функциональный проверяющий тест (2 набора
множества М1 и два набора множества М0).
2. Провести логическое моделирование схемы для задания.
3. Выбрать одну из не проверяемых неисправностей.
4. Для выбранной неисправности выполнить построение проверяющего теста
методом активизации одномерного пути.
Литература
а) основная литература:
1. Зимняков С.А., Козлов В. К.; Муратаева Г. А., Муратаев И. А.
Диагностика электрооборудования электрических сетей и подстанций:
учебное пособие. Казань: КГЭУ, 2013. 112 с.
2. Валиуллина Д. М., Гарифуллин М.Ш., Козлов В.К. Диагностика
маслонаполненного электрооборудования подстанций: учебное пособие М.
Ш. Гарифуллин, В. К. Козлов. - Казань: КГЭУ, 2005. 116 с.
б) дополнительная литература:
23
3. Роженцова Н.В. Ларионова А. М.; Ларионов С. Н.. Вагапов Г. В.
Диагностика электрооборудования промышленных предприятий: метод.
указания к лабор. работам. Казань: КГЭУ, 2011. 31 с.
4.Баранов А.В. Надежность и диагностика технологических систем.
Рыбинск: РГАТА, 2006. 138 с.
5.Правила
эксплуатации
электроустановок
Энергоатомиздат, 2002.
в) программное обеспечение и Интернет-ресурсы:
6.
http: // window.edu. ru/ window/ library
7.
http: // nehudlit. ru/
8.
http: // www.tehlit. ru/
9. http://elektroinf.narod.ru/
10. http://www.electromonter.info/
потребителей.
М.:
Download