Источник - http://danx.nm.ru/research/Test%20generation%20algorithm.pdf

УДК 681.004.6

С.О. ДАНИЛОВ

АЛГОРИТМ ГЕНЕРАЦИИ ТЕСТОВ ПОСЛЕДОВАТЕЛЬНОСТНЫХ СХЕМ НА ОСНОВЕ НЕПРЕРЫВНОЙ МОДЕЛИ

(Нижегородский государственный технический университет)

Непрерывная модель генерации тестов для логических схем являетcя новым направлением в технической диагностике. Данная статья посвящена рассмотрению возможности применения непрерывного подхода для тестирования последовательностных схем.

Метод генерации тестов, основанный на непрерывном подходе, является сравнительно новым, оригинальным подходом к проблеме генерации тестов. Основная идея данного метода заключается в построении целевой функции, параметрами которой являются сигналы на первичных входах сети и значение константной неисправности, тестовый вектор для которой требуется найти. Данная целевая функция принимает значение 1, если тестовый набор обнаруживает константную неисправность, и меньше 1 в противном случае. Таким образом, задача поиска тестового вектора сводится к задаче максимизации целевой функции. Данный подход позволяет использовать обширный аппарат математического анализа для нахождения максимума функции. Важным свойством построенной целевой функции является то, что в процессе нахождения максимума делается неявная попытка активизировать все пути с той целью, чтобы, по меньшей мере, на одном из выходов можно было наблюдать изменение сигнала как свидетельство неисправности.

Предлагаемый алгоритм поиска тестовых векторов для последовательностных схем начинается с обработки итеративного логического массива, состоящего из одного кадра, пытаясь построить тестовый вектор. В дальнейшем проводится анализ сгенерированного тестового вектора. Если при применении полученного вектора к исходной схеме с неисправностью и к исправной схеме значения на выходах обеих схем отличаются на множестве первичных выходов, то данный тестовый вектор будем называть полупроходным. В случае различия выходных значений только на псевдопервичных выходах требуется добавить в конец рассматриваемого массива ещё одну копию схемы и повторить процесс поиска неисправности. Если в полупроходном векторе все значения псевдо-первичных входов установлены в безразличное значение, то данный вектор считается тестовым и алгоритм переходит к поиску тестового вектора для следующей неисправности из списка. В противном случае требуется приписать ещё одну копию схемы к началу логического массива и выполнить процедуру уточнения значения первичных входов. В результате мы получим новый тестовый вектор, который станет либо полупроходным, либо одним из элементов тестовой последовательности векторов.