- •Министерство общего и профессионального образования российской федерации
- •Учебное пособие Воронеж 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. Средства поддержки процедур тестирования и поиска неисправностей
- •Содержание
1.3. Процедуры и проблемы программного тестирования
Удобно разделить программное тестирование на три основные процедуры: генерацию тестов, оценку эффективности тестов и реализацию тестового диагностирования. Генерация тестов является процедурой нахождения множества тестовых входных наборов и ожидаемых реакций исправного устройства, обеспечивающих покрытие неисправностей из заданного списка. Генерация тестов зависит от ограничений, которые накладываются как параметрами тестера, так и размерностью самой проверяемой схемы. Опенка эффективности тестов является процедурой, в результате которой количественно определяется степень покрытия множеством тестов заданного списка неисправностей, обычно представляемого множеством одиночных неисправностей типа н-к-1, н-к-0 на всех соединениях схемы. Реализация тестового диагностирования является физическим процессом тестирования реальной схемы. Далее кратко излагаются проблемы, которые в настоящее время приходится решать при осуществлении каждой из этих процедур.
1.3.1. ГЕНЕРАЦИЯ ТЕСТОВ
При генерации тестов для логических схем преследуется либо одна цель, либо несколько специфических целей: изменение значения сигнала в некотором узле схемы; установление активизированного пути для определенной неисправности (например, для неисправности узла типа н-к-1, н-к-0); испытание диагностируемой подсхемы во всех ее состояниях и т. д. Процедуры, обеспечивающие достижение этих целей, в значительной степени основаны на программных методах генерации активизированных путей, с помощью которых пользователь в диалоговом режиме определяет стратегию тестирования и решает более сложные проблемы.
Существуют два фактора, которые могут облегчить или усложнить процесс генерации тестовых наборов для цифровой схемы. Оба они связаны с возможностями тестера различать элементы проверяемой схемы и сводятся к свойствам управляемости и наблюдаемости. Чем выше значения управляемости и наблюдаемости в схеме, тем проще создать в ней надлежащие условия проявления и транспортировки неисправностей. Хорошо известна способность разработчиков логических схем проектировать труднотестируемые схемы на уровне печатных плат с использованием микросхем малой и средней степени интеграции. Совсем недавно разработчики схем на вентильных матрицах также продемонстрировали эту способность. Появление проблемы обусловлено использованием устройств с элементами памяти в сложных структурах с цепями обратной связи. Чем сложнее структура, тем труднее становится как управлять схемой, так и наблюдать за ее поведением. Проблемы генерации тестов при проектировании устройств с шинной организацией в большей степени определяются сложностью используемых БИС и СБИС, чем параметрами управляемости и наблюдаемости. Иначе говоря, проблемы возникают в результате:
а) неопределенности, неполноты и некорректности массивов данных;
б) различий между элементами первичных и вторичных источников данных;
в) разнообразия элементов, их сложности и частоты введения новых элементов;
г) большого объема тестовых данных, требуемых для проверки сложных устройств, особенно ЗУПВ и микропроцессорных элементов;
д) недостаточности знаний о возможных дефектах устройства.
1.3.2. ОЦЕНКА ЭФФЕКТИВНОСТИ ТЕСТА
Эффективность тестовых наборов оценивается по заданному списку неисправностей.
Это обусловливает необходимость использовать только тщательно изученный прибор или субблок, в который могут быть физически введены неисправности с целью оценки эффективности тестовой программы. С другой стороны, оценить уровень покрытия неисправностей можно путем моделирования их поведения в программной модели схемы. Метод физического моделирования неисправностей ограничивается либо своими потенциальными возможностями ограниченного доступа к элементам схемы (как в устройстве, изготовленном в виде интегральной схемы), либо моделированием лишь тех неисправностей, которые не могут повлечь за собой постоянного повреждения схемы. Например, выход вентиля сепии ТТЛ можно заземлить, чтобы моделировать воздействие неисправности н-к-0, но для моделирования неисправности п-к-1 его нельзя соединять с источником питания напряжением —5 В ни непосредственно, ни через ограничивающее -*39сопротивление. Для любого значительного промежутка времени такой эксперимент может вызвать необратимое повреждение устройства.
Единственным практическим решением задачи оценки эффективности теста является использование логического моделирования неисправностей. При этом подходе основная стратегия заключается в построении модели схем и возможности анализа ее поведения с помощью тестовых наборов как в исправном, так и неисправном состояниях. Неисправности из заданного списка вводятся в модель схемы либо поодиночно за один цикл работы моделирующей программы (последовательное моделирование неисправностей), либо заранее определенными комбинациями (параллельное моделирование неисправностей). С другой стороны, неисправности, которые в конечном итоге обнаруживаются на первичных выходах схемы, можно определить дедуктивно в результате сравнения выходных значений элементов исправной и неисправной схем (дедуктивное или конкурентное моделирование неисправностей).
Во всех случаях в процессе моделирования неисправностей используется некоторая разновидность программной модели схемы, позволяющая оценивать ее поведение как в исправном состоянии, так и при наличии неисправности. Для БИС, СБИС и печатных плат, из которых они размещены, получение модели точного поведения схемы значительно усложняется по причинам, указанным в подразделе 1.3.1 (неадекватность массивов данных, различие и сложность элементов, неопределенность механизмов неисправностей).
1.3.3. РЕАЛИЗАИЯ ТЕСТОВОГО ДИАГНОСТИРОВАНИЯ
Тесты подаются на проверяемую схему в результате подключения со к АДУ. Возникающие проблемы большей частью связаны с ограниченными возможностями аппаратурной реализации АДУ (максимальные скорости подачи тестов, ограниченная возможность изменения входных-выходных проверяющих последовательностей и т. д.), ограниченностью технических приспособлений (словарь неисправностей с управляемым пробником или без него, способность воспринимать импульсы и т. д.). Проблема поиска места неисправности особенно трудно решается для схем с цепями глобальной обратной связи, когда нельзя определить, что в замкнутой петле является причиной, а что следствием неисправности (так называемая проблема «разрыва цепи обратной связи»). Сложность доступа к точкам контроля и требования интерфейса могут также затруднять процедуру диагностирования, если элементы на печатной плате замкнуты друг на друга или программа проверки исправности требует использования дополнительного доступа к элементам схемы через нестандартные перекидные контакты.
1.3.4. СТОИМОСТЬ ОСНОВНЫХ ПРОЦЕДУР
Подводя итог, основные затраты на выполнение различных тестовых процедур представим в виде следующих составляющих. Для генерации тестов:
а) на обеспечение процесса генерации новых тестовых программ для новых приборов или печатных плат, выполняемых вручную или с помощью ЭВМ;
б) на совершенствование или приобретение программ генерации тестов общего назначения, основанных большей частью на классических алгоритмах активизации пути;
в) на ЭВМ, выполняющие программы генерации тестов;
г) на создание тестовых программ при проектировании новых приборов или новых печатных плат, не предусмотренных принятыми стандартами;
д) на обслуживание и эксплуатационные расходы по п. а—г;
е) на содержание и непрерывное обучение инженеров, специализирующихся в области программных методов тестирования.
Для оценки эффективности тестов:
а) на совершенствование или приобретение программ моделирования неисправностей общего назначения и, как и выше, на использование ЭВМ;
б) на постоянное совершенствование соответствующих моделей приборов для использования в процедуре моделирования;
в) на машинное время выполнения программ моделирования (обычно рассматриваемая в качестве основной составляющей всех затрат);
г) на обслуживание и эксплуатационные расходы по п. а - в;
д) на обучение.
Для реализации тестового диагностирования:
а) на приобретение АДУ, на обслуживание, эксплуатацию и ремонт;
б) на реализацию интерфейса для каждого типа проверяемой схемы;
в) на реализацию процедуры тестирования, определяемые производительностью: временем установки схемы на АДУ: средним временем обнаружения неисправности, средним временем восстановления и повторной проверки;
г) на замену исправного элемента и последующее повторное тестирование как результата неправильного диагноза;
д) на отгрузку неисправного изделия заказчику как результата неполного покрытия неисправностей;
е) на обучение.
В общем случае стоимость тестирования изделия на протяжении его полного жизненного цикла будет определяться комбинацией всех этих затрат и изменяться в соответствии со следующими факторами:
а) ожидаемым доходом и уровнем качества изделия;
б) стратегией тестирования на протяжении жизненного цикла, выражаемой комбинациями используемых АДУ и числом тестеров каждого типа;
в) объемом и разнообразием различных проектов;
г) централизованной или децентрализованной эксплуатационной службой и стратегией восстановления.