- •Министерство общего и профессионального образования российской федерации
- •Учебное пособие Воронеж 2000
- •Учебное издание
- •394026 Воронеж, Московский поспект, 14
- •1. Тестовое диагностирование в цифровой технике:
- •1.1. Введение
- •1.2. Тестовое диагностирование в цифровой технике: цепи и терминология
- •1.3. Процедуры и проблемы программного тестирования
- •1.4. Необходимость проектирования тестопригодных схем
- •2. Анализ тестопригодности: система camelot
- •2.1. Количественная оценка тестопригодности
- •2.2 Принципы вычисления управляемости
- •2.3 Принципы вычисления наблюдаемости
- •2.4 Принципы вычисления тестопригодности
- •2.4.1. Тестопригодность как функция управляемости и наблюдаемости
- •2.5. Применение системы camelot на практике.
- •2.5.1. Количественная оценка проектируемых схем.
- •2.5.2. Автоматический выбор контрольных точек.
- •2.5.3 Методика генерации тестов вручную.
- •2.5.4. Методика автоматической генерации тестов
- •2.6. О других системах анализа тестопригодности
- •2.7. Заключительные замечания о методах анализа
- •3. Методы структурного проектирования
- •3.1. Принцип метода сканирования: сканируемый путь
- •3.2. Сканирование с произвольным доступом
- •3.3. Метод сканирования, чувствительного к уровню тактового сигнала
- •3.4. Недостатки и достоинства методов сканирования
- •3.5. Методы самотестирования: bilbo
- •3.5.3. Устройство встроенного поблочного диагностирования логических схем (bilbo)
- •3.6. Заключительные замечания о методах сканирования
- •4. Генерация тестов для схем, реализующих принцип сканирования
- •4.1. Алгоритм podem, условные обозначения, понятия и принципы
- •4.1.5. Вычисление относительных значении управляемости
- •4.2. Процедура podem
- •4.2.1. Пример 1. Основной принцип podem
- •4.2.2. Пример 2. Многомерный d-проход
- •4.2.3. Пример 3. Переопределение состояний первичных входов
- •4.2.4. Заключение относительного алгоритма podem
- •4.3. Процедура raps
- •4.3.1 Пример 4. Процедура raps
- •4.3.2. Заключение о процедуре raps
- •4.4. Методика выполнения процедур raps и podem
- •4.4.1 Использование статического сжатия тестов
- •4.4.2. Использование динамического сжатия тестов
- •4.5. Замечание относительно процедуры моделирования неисправностей
- •4.6. Заключительные замечания о процедурах podem и raps
- •5. Практические рекомендации по проектированию тестопригодных схем
- •5.1. Средства поддержки процедуры генерации тестов
- •5.2. Средства поддержки процедур тестирования и поиска неисправностей
- •Содержание
4.2.1. Пример 1. Основной принцип podem
На этом первом примере демонстрируется непосредственное применение процедуры PODEM и полностью детализируется главная особенность процедуры генерации проверяющего теста. Читателю рекомендуется следить за выполнением процедуры, отмечая узлы схемы соответствующими логическими значениями на копии рис.4.6.
Для каждого узла схемы на рис.4.6 перечислены значения управляемости, полученные с помощью программы CAMELOT. Чем ближе это значение к 1, тем легче управлять узлом.
НАЧАЛЬНАЯ УСТАНОВКА всех узлов схемы в неопределенное логическое
состояние Х
ВЫБРАТЬ неисправность: G 8.12 н-к-1 (Выбрана произвольно: определяет
установку в узле D-куба неисправности)
ИСХОДНЫЙ ЦЕЛЕВОЙ УЗЕЛ:
OB (G 8.12 =D)
ОБРАТНЫЙ ПРОХОД:
Установить 0 на самом легкоуправляемом Х-входе G 8: G 8.2 ( = CN)
OB (CN = 0)
ОПРЕДЕЛИТЬ ПВх (CN) = 0 ПВх определение
МОДЕЛИРОВАТЬ полноту нового ПВх-определения
СN = 0
G 7.3 = 0
G 8.12 =D
G 9.3 = 0
G 10.3 = 0
ВОПРОС: Обеспечивается ли логическое состояние D в цслевом узле?
Да
ВОПРОС: Распространилось ли значение D до первичного выхода?
НЕТ
Определить кратчайший Х-пугь от целевого узла с состоянием D до первичного вы-
хода. Кратчайшим является путь к выходу
NSUM
Произвольно выбираем один из двух кратчайших путей равной длины через G 10 и
G 11
Выполнить D-проход и установить состояние D на новом целевом узле:
OB (G 13.6 = D)
ПРОДОЛЖИТЬ D-проход
OB (G 13.6 = D)
ОБРАГНЫЙ ПРОХОД:
Установить 0 на самом сложноуправляемом Х-входе вентиля G 13: выбираем про-
извольно G 13.2 (= G 6.3)
OB (G 6.3 = 0)
Установить 0 на самом легкоуправляемом Х-входе G 6:
G 6.2 (=G 4.12)
OB (G 4.12 = 0)
Установить 1 на самом сложноуправляемом Х-входе G4:
выбираем произвольно G 4.1 (= G 2.3)
OB (G 2.3 = 1)
Установить 0 на самом легкоуправляемом Х-входе G 2:
G 2.1 (= В1)
0В (В1 = 0)
ОПРЕДЕЛИТЬ ПВх (В1) = 0 ПВх-определенне
МОДЕЛИРОВАТЬ полноту нового ПВх-определения
В1 = 0
G 2.3 = 1
ВОПРОС: Обеспечивается ли логическое состояние D в целевом
узле?
НЕТ
Возвратиться к целевому узлу с D-границсй
OB (G 13.6 = D)
ОБРАТНЫЙ ПРОХОД:
Установить 0 на самом сложноуправлясмом Х-входе G 13:
G 13.1 (= G 5.3)
OB (G 5.3) = О
Установить 0 на самом легкоуправляемом Х-входе G 5:
G 5.1 (= G 3.12)
OB (G 3.12 = 0)
Установить 1 на самом сложноуправляемом Х-входе G 3:
G 3.2, выбираем произвольно (= А*)
0В (А* = 1)
ОПРЕДЕЛИТЬ ПВх (А*) = 1 ПВх-определение
МОДЕЛИРОВАТЬ полноту нового ПВх-определения
А* = 1
ВОПРОС: Обеспечивается ли логическое состояние D в целевом
узле?
НЕТ
Возвратиться к целевому узлу с D-границей
OB (G 13.6 = D)
ОБРАТНЫЙ ПРОХОД:
Установить 0 на самом сложноуправляемом Х-входе G 13:
выбираем произвольно G 13.1 (= G 5.3)
OB (G 5.3 = 0)
Установить 0 на самом легкоуправляемом Х-входе G 5:
G 5.1 (= G 3.12)
OB (G 3.12 = 0)
Установить 1 на самом сложноуправляемом Х-входе G 3:
выбираем произвольно G 3.13 (= АС)
0В (АС = 1)
ОПРЕДЕЛИТЬ ПВх (АС) = 1 ПВх-определение
МОДЕЛИРОВАТЬ полноту нового ПВх-определения
АС = 1
ВОПРОС: Обеспечивается ли логическое состояние D в целевом
узле?
НЕТ
Возвратиться к целевому узлу с D-границей
OB (G 13.6 = D)
ОБРАТНЫЙ ПРОХОД:
Установить 0 на самом сложноуправляемом Х-входе G 13:
произвольно выбираем G 13.2 (= G 6.3)
OB (G 6.3 = 0)
Установить 0 на самом легкоуправляемом Х-входе G 6:
G 6.2 (= С 4.12)
OB (G 4.12 = 0)
Установить 1 на самом сложноуправляемом Х-входе G 4:
выбираем произвольно G 4.2 (= В*)
0В (В* = 1)
ОПРЕДЕЛИТЬ ПВх (В*) = 1 ПВх-опредсление
МОДЕЛИРОВАТЬ полноту нового ПВх-опрелеления
В* = 1
ВОПРОС: Обеспечивается ли логическое состояние D в целевом
узле?
НЕТ
Возвратиться к целевому узлу с D-границей
OB (G 13.6 = D)
ОБРАТНЫЙ ПРОХОД :
Установить 0 на самом сложноуправляемом Х-входе G 13:
выбираем произвольно G 13.1 (= G 5.3)
OB (G 5.3 = 0)
Установить 0 на самом легкоуправляемом Х-входе G 5:
G 5.1 (= G 3.12)
OB (G 3.12 = 0)
Установить 1 на самом сложноуправляемом Х-входе G 3:
G 3.1 (= G 1.3)
OB (G 1.3 = 1)
Установить 0 на самом легкоуправляемом Х-входе G 1:
выбираем произвольно G 1.2 (= А2)
0В (А2 = 0)
ОПРЕДЕЛИТЬ ПВх (А2) = 0 ПВх-определение
МОДЕЛИРОВАТЬ полноту нового ПВх-определения
А2 = 0
G 1.3 = 1
G 3.12 = 0
G 5.3 = 0
G 8.12 =D, как и прежде
G 9.3 = 0, как и прежде
G 11.3 = 0
G 12.12 = 1
NCN1 = 1 ПВых-определение
ВОПРОС: Обеспечивается ли логическое состояние D в целевом
узле?
НЕТ
Возвратиться к целевому узлу с D-границей
ОБРАТНЫЙ ПРОХОД:
Установить 0 на самом сложноуправляемом Х-входе G 13:
G 13.2 (= G 6.3)
OB (G 6.3 = 0)
Установить 0 на самом легкоуправляемом Х-входе G 6:
G 6.2 (= G 4.12)
OB (G 4.12 = 0)
Установить 1 на самом сложноуправляемом Х-входе G 4:
G 4.13 (= ВС)
OB (BC = 1)
ОПРЕДЕЛИТЬ ПВх (ВС) = 1 ПВ-определение
МОДЕЛИРОВАТЬ полноту нового ПВх-определения
ВС = 1
G 4.12 = 0
G 6.3 = 0
G 8.12 =D, как и прежде
G 10.3 = 0, как и прежде
G 11.3 = 0, как и прежде
G 13.6 = D
NSUM = D ПВх-онределение
G 14.2 =D
SUM =D ПВых-опрсдсление
ВОПРОС: Обеспечивается ли логическое состояние D на целевом
узлe?
ДА
ВОПРОС: Распространяется ли значение D на первичный выход?
ДА
ТЕСТ для заданной неисправности найден:
А1 |
А2 |
А* |
АС |
С |
В1 |
B2 |
В* |
ВС |
NSUM |
SUM |
NCN1 |
Х |
0 |
1 |
1 |
0 |
0 |
Х |
1 |
1 |
1(D) |
0(D) |
1 |
ВЫХОД из подпрограммы
Этот пример позволяет отмстить следующие особенности процедуры:
а) в процессе моделирования проверяется наличие противоречивых логических состояний узлов при их доопределении, в данном примере такие состояния отсутствуют, но, как будет показано далее, это не всегда так;
б) в полученном тестовом наборе на двух первичных входах А1 и B2 значения неопределенные. Их можно доопределить произвольно как 0 или 1 или оставить неопределенными, что позволит впоследствии совместить два тестовых набора или более в один составной тест. Такой процесс совмещения называется сжатнем теста и рассматривается в следующем подразделе.