- •Министерство общего и профессионального образования российской федерации
- •Учебное пособие Воронеж 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.1. Алгоритм podem, условные обозначения, понятия и принципы
Алгоритм PODEM представляет собой процедуру генерации проверяющего теста для заданной неисправности, основанную на принципах транспортировки неисправности вдоль активизированного пути. В этом отношении алгоритм PODEM аналогичен D- алгоритму, и, действительно, в этой процедуре используется D-нотация (см. далее), впервые введенная при разработке D-алго-ритма. От D-алгоритма PODEM отличается способом определения логических значений первичных входов, необходимых для активизации пути от источника неисправности до первичного выхода (ПВых). Эти значения определяются при обратном проходе от места заданной неисправности к входам путем обеспечения в логических узлах схемы условий тестирования этой неисправности до тех пор, пока не будут определены логические значения первичных входов (ПВх). После этого полнота определенных значений первичных входов (ПВх-определения) оценивается с помощью процедуры моделирования, которая заключается в проверке условий тестируемости для всех узлов схемы. Если для некоторого узла эти условия не обеспечиваются, процедура обратного прохода повторяется, начиная с этого узла. Сущность метода прояснится в большей степени после иллюстрации его на примере. Перед тем как это сделать, необходимо ввести и определить некоторые понятия и идеи, используемые в алгоритме PODEM.
4.1.1. УСЛОВНОЕ ОБОЗНАЧЕНИЕ УЗЛА СХЕМЫ
Слово «узел» отождествляется с соединением схемы, передающим сигнал от одного элемента к другому. Если узел не обозначен специальным символом, то ему присваивается условное обозначение элемента и добавляется номер вывода элемента, от которого направлена линия соединения, но не допускается использовать номер вывода элемента, к которому направлена линия соединения. В этом случае обозначение узла, соответствующего элементу схемы с ветвлениями к нескольким элементам, не будет содержать неопределенности. Обозначения узлов записываю юя, как «номер элемента, номер вывода», т.е. вывод 3, соответствующий выходу элемента G1, обозначается, как узел схемы G1.3.
Рис. 4.1. Условное обозначение узлов
На рис. 4.1 предложенное условное обозначение узлов иллюстрируется на примере простой схемы с ветвлениями. (Отметим: на рис. 4.1 и на последующих схемах номера выводов элементов проставлены произвольно, хотя они могут соответствовать номерам выводов микросхем, например, типа SN7400. Читатель не должен придавать этому большого значения. Принятый способ обозначения позволяет только исключить неопределенность идентификации узлов схемы.)
4.1.2 ЛОГИЧЕСКИЕ СОСТОЯНИЯ УЗЛОВ
В алгоритме PODEM используется D-нотация для описания эффекта проявления неисправности или передачи состояния логического узла. Полное множество состояний, в котором может находиться узел, следующее:
а) фиксированное состояние логического 0;
б) фиксированное состояние логической 1;
в) фиксированное состояние D или D, где D==1 (D=0) соответствует исправному состоянию узла, a D=0 (D=1) определяет неисправное состояние узла, соответствующее либо появлению в этом узле неисправности, либо транспортировке неисправности из предшествующего узла;
г) неопределенное состояние X, которое может принимать любое значение: 0, 1, D или D.
Для читателей, не знакомых с D-нотацией, на рис. 4.2 показан простой пример схемы, к входам которой подается тестовый набор, позволяющий обнаружить неисправность элемента G 3.3 (в исправном состоянии значение на выходе равно 1; в неисправном равно 0, что соответствует неисправности на выходе G3.3 типа н-к-0) и транспортировать ее через элементы G4 и G5.
Рис.4.2. Пример D-нотации
На рис. 4.2 показаны также фиксированные состояния 0 и 1 узлов схемы, обеспечивающие условия тестирования неисправности вместе с неопределенным значением (X) на одном из первичных входов.
Рис.4.3. D – нотация:
а – условия тестирования неисправностей; б – условия D - распространения
На рис. 4.3 приведены в обобщенном виде условия тестирования и D-распространения для каждого элементарного логического вентиля, включая элемент Исключающее ИЛИ. Входные комбинации на каждом вентиле (рис. 4.3) позволяют обнаружить н-к-1 на выходе вентиля (значение на выходе D) или неисправность типа н-к-0 (значение выхода D). На рис. 4.3. определены фиксированные значения входов вентилей, которые обеспечивают транспортировку значения D со стороны входа вентиля к его выходу.
4.1.3. ЦЕЛЕВЫЕ УЗЛЫ СХЕМЫ
Детальная реализация алгоритма PODEM основана на идентификации и попытке достижения определенных целей, связанных с установкой конкретного узла схемы в требуемое состояние. Например, возвращаясь к рис.4.2, можно было бы записать «установить в узле G 3.3 состояние D» или «установить в узле G1.3 состояние 0». Такие целевые узлы и их исходные состояния будем обозначать OB (G3.3=D) и OB (G1.3=0).
4.1.4. ВЫБОР ПУТИ РАСПРОСТРАНЕНИЯ ЛОГИЧЕСКИХ СОСТОЯНИИ
Алгоритм PODEM включает в себя процедуру поиска условий, обеспечивающих заданное логическое состояние в выходном узле путем транспортировки его значения к входному узлу, которая основана на выборе «самого легкого» или «самого сложного» пути распространения сигналов. (Концептуально эта процедура соответствует логике операций в D-алгоритме.) В данном контексте понятия «самый легкий» и «самый сложный» связаны с относительными значениями управляемостей множества входных узлов и могут быть основаны на оценках управляемости, полученных в результате применения системы CAMELOT.
Наряду с упомянутой процедурой существует простейшая процедура вычисления относительных значений управляемости для множеств узлов схемы, кратко описываемых здесь.
Рис. 4.4. Легко и сложно управляемые входы
Для иллюстрации подхода рассмотрим элемент схемы, представленный на рис. 4.4. На рисунке изображен трехвходовый вентиль И-НЕ, обозначенный G5, который является частью большой схемы. Значения управляемости известны и указаны для каждого входного узла (выводы 3—5), однако не установлены логические значения узлов, т.е. узлы имеют неопределенные состояния X. Транспортировка логических значений с выхода элемента на входы может быть выполнена только при неопределенном состоянии входных узлов. Теперь рассмотрим случай, когда ОВ (G5.6=1). Это логическое состояние в управляемые входы целевом узле можно обеспечить, устанавливая на одном из трех входов вентиля логический 0. Следовательно, имеет смысл выбрать входной узел, в котором наиболее легко устанавливается 0. В этом случае выбирается вход 3, так как этот узел имеет максимальное значение управляемости. Этот выбор определяет транспортировку логического состояния целевого узла к новому целевому узлу OB (G5.3==0), и, таким образом, процедура обратной транспортировки (обратного прохода) продолжается до полного описания состояний всех вентилей.
Рассмотрим теперь вариант с другим логическим состоянием целевого узла G5.6, а именно OB (G5.6=0). Это состояние можно обеспечить только в случае, если на всех трех входах вентиля И-НЕ установить 1. Исходя из временных затрат, безусловно, предпочтительнее следовать по одному пути транспортировки логических состояний, чем одновременно по нескольким. Это значит, что процедура должна определять один из входов последующего обратного прохода. Наиболее рациональное решение заключается в выборе входа с худшей управляемостью, т. е. входа 4, на том основании, что если этот вход не может быть установлен в требуемое состояние, то нет необходимости доопределять узлы схемы с более высокими значениями управляемости. Другими словами, если стремиться к сокращению временных затрат, то целесообразнее решить первой наиболее сложную задачу, а не простую.
Если начальный целевой узел OB (G5.6=0), то обратный проход заключается в определении логического значения нового целевого узла OB (G5.4=1), и, таким образом, процесс продолжается далее.
В случае если G5.4 действительно устанавливается в состояние 1, то процесс возвращается к начальному целевому узлу 0В (G5.6==0). В этом случае необходимо сделать выбор между входами 3 и 5; результатом выбора является OB (G5.5=1), так как управлять входом 5 сложнее, чем входом 3.
Рис. 4.5. Самые легкие и самые сложные условия установки логических состояний вентилей
На рис. 4.5 приведены «самые легкие» и «самые сложные» условия установки логических значений на выходах для всех типов элементарных вентилей, включая вентиль Исключающее ИЛИ.