- •Министерство общего и профессионального образования российской федерации
- •Учебное пособие Воронеж 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.3.2. Заключение о процедуре raps
Процедура RAPS не является алгоритмом в той степени, в какой она не позволяет гарантировать нахождение решения задачи.
Это только процедура полезного доопределения значений состояний первичных входов. На рис. 4.10 приведена блок-схема процессов RAPS верхнего уровня.
Рис. 4.10. Блок схема процедуры RAPS
4.4. Методика выполнения процедур raps и podem
Чтобы обеспечивался достаточно высокий уровень покрытия неисправностей перед выполнением процедуры, в общем случае выполняется процедура RAPS. Одна из заслуживающих внимания методик, основанная на использовании процедуры моделирования для оценки уровня покрытия отдельных неисправностей и их совокупностей, приведена на рис. 4.11.
Рис. 4. 11. Методика, основанная на использовании процедур RAPS и PODEM
Дадим пояснения к рис. 4.11.
А. Процедура RAPS предназначена для генерации небольшого числа псевдослучайных тестов, практически от 5 до 15 независимо от сложности схемы Это объясняется тем, что первые тесты покрывают значительное множество неисправностей из заданного класса, например, единственный тест, полученный на основе процедуры RAPS в подразделе 4.3.1, покрывает одну треть всех неисправностей схемы. Генерация фиксированного числа тестов процедурой RAPS чередуется с использованием процедуры моделирования неисправностей, которая после генерации каждого нового теста оценивает возрастание уровня покрытия множества всех неисправностей и определяет выход из подпрограммы, когда либо достигнут определенный минимальный уровень покрытия (скажем, 70%), либо превышено установленное время вычисления.
Б. Аналогичные замечания можно сделать относительно процедуры PODEM. На рис. 4.11 проиллюстрированы две возможные методики: одна основана на использовании процедуры моделирования неисправностей таким же образом, как это обсуждалось выше, другая основана исключительно на процедуре генерации теста для каждой непокрытой неисправности. Эта вторая методика, вероятно, приводит к увеличению числа тестов, которые можно совместить для уменьшения их общего числа. Процедура совмещения тестов, называемая сжатием, обсуждается в следующем подразделе.
4.4.1 Использование статического сжатия тестов
При выполнении процедур как PODEM, так и RAPS могут генерировать не полностью определенные множества входных наборов, которые при первой процедуре обеспечивают условия тестирования определенной неисправности, а при второй – выполнение промежуточной цели, такой, как «установка определенных значений на всех первичных выходах» (примеры 1 и 4 соответственно). Если конечной целью является получение как можно меньшего числа тестовых наборов (т. е. сокращение затрат времени на моделирование, на циклические переходы от режима сканирования пути к нормальному функционированию), то неопределенные состояния первичных входов можно использовать при совмещении различных тестовых наборов в один составной тестовый набор при условии, что логические значения на установленных первичных входах этих наборов не противоречат друг другу.
Например, совмещаются два входных набора (набор 1 и 2) на входах А, В, С, D:
-
А
В
С
D
1
1
0
Х
Набор 1
Х
1
Х
0
Набор 2
1
1
0
0
Совмещенный набор
Два набора объединяются, образуя совмещенный набор (А = 1, В = 1, С = 0, D = 0), представляющий единственную композицию множества значений входов.
В другом случае наборы 1 и 3:
-
А
В
С
D
1
1
0
Х
Набор 1
Х
0
Х
0
Набор 3
не могут быть совмещены, так как логические значения на входе В противоречивы.
Совмещение тестовых наборов по этому принципу называется статическим сжатием, и эта процедура может использоваться в системе как RAPS, так и PODEM, что показано на рис. 4.12 и 4.13 соответственно.
Как показано на рис. 4.12, выход из процедуры RAPS осуществляется при получении определенного числа тестов, так как в результате выполнения этой процедуры каждый тестовый набор формируется не полностью определенным, то имеется небольшая особенность в использовании процедуры попеременной оценки полноты покрытия множества неисправностей путем моделирования. В результате появилась возможность безусловного выхода из процедуры моделирования.
Рис. 4.12 Совмещение процедур RAPS и статического сжатия тестов
Рис. 4.13. Совмещение процедур PODEM и статического сжатия тестов
Иная последовательность процедуры моделирования представлена на рис. 4.13. Предполагая, что начальное число непокрытых неисправностей достаточно мало (скажем, около 30% от полного множества неисправностей заданного класса), использование процедуры PODEM отдельно для каждой неисправности, вероятно, позволит быстрее получить решение, чем использование моделирования после каждого прохода процедуры PODEM.
Это объясняется тем, что с приближением уровня покрытия неисправностей к отметке 100% дополнительный прирост этого уровня уменьшается с каждым новым тестом. Это можно увидеть более наглядно, анализируя классическую кривую покрытия неисправностей на рис. 4.14.
Рис. 4.14. Кривая покрытия неисправностей
Когда достигнуто 100%-ное покрытие неисправностей, можно переходить к выполнению процедуры статического сжатия тестовых наборов. Однако следует помнить, что исчерпывающий поиск минимального решения задачи статического сжатия требует значительных временных затрат. На практике используется простая процедура поиска и совмещения тестовых наборов, которая не гарантирует получения минимального решения, но вычисление завершается за приемлемое время.