Построение тестов цифровых схем с использованием обобщенной модели неисправностей и непрерывного подхода к моделированию

Математическое моделирование. Оптимальное управление Вестник Нижегородского университета им.Н.И. Лобачевского, 2011, № 3 (2), с. 72-77

УДК 681.004.6

ПОСТРОЕНИЕ ТЕСТОВ ЦИФРОВЫХ СХЕМ С ИСПОЛЬЗОВАНИЕМ ОБОБЩЕННОЙ МОДЕЛИ НЕИСПРАВНОСТЕЙ И НЕПРЕРЫВНОГО ПОДХОДА К МОДЕЛИРОВАНИЮ

© 2011 г. Н.И. Кащеев1, Д.М. Пономарев1, Ф.М. Подъяблонский1

1 Нижегородский государственный технический университет им. Р.Е. Алексеева 2Нижегородский филиал Государственного университета - Высшей школы экономики

nikolay.kascheev@gmail.com

Поступила в редакцию 17.02.2011

Разрабатываются способы построения тестов цифровых схем с использованием непрерывных моделей дискретных устройств. Представлен алгоритм, позволяющий решить задачу поиска тестовых наборов с помощью непрерывной оптимизации. Кроме того, предложена обобщенная модель неисправности, реализующая единый подход к представлению различных типов неисправностей при генерации тестов. Предложенный подход реализован программно в виде среды для разработки и исследования моделей неисправностей и алгоритмов поиска тестов цифровых схем. В целях апробации построена система автоматической генерации тестов для константных неисправностей комбинационных схем. Приведены результаты работы разработанного программного комплекса для ряда схем набора 1ВСЛВ’85, демонстрирующие эффективность используемых алгоритмов и методов.

Ключевые слова: автоматическое построение тестов, моделирование неисправностей, непрерывные модели, цифровые схемы, комбинационные схемы, константные неисправности.

Введение

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

создание совершенно новых алгоритмов. Наиболее эффективным видится использование для различных типов схем и неисправностей некоего общего подхода к решению проблемы построения тестов. В настоящей работе представлена попытка реализации данного принципа: предложен метод построения тестов на основе непрерывного подхода к моделированию работы схемы, а также обобщенная модель неисправностей, реализующая единый подход к представлению различных типов неисправностей при поиске тестовых наборов. Представленные алгоритмы реализованы программно и являются основой для построения систем автоматического поиска тестов различных типов схем с применением всевозможных моделей неисправностей, с той или иной степенью реалистичности представляющих физические дефекты цифровых схем. В качестве апробации изложенного подхода на базе разработанных программных модулей построена система автоматической генерации тестов для константных неисправностей комбинационных схем. Представлены результаты работы данного программного комплекса на ряде схем набора Т8СЛ8’85.

Непрерывный подход к моделированию дискретных устройств

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

Однако возможно описание комбинационного устройства с помощью функций от непрерывного аргумента. Данная работа описывает метод, при котором булевы функции элементов схемы заменяются их непрерывными аналогами. Подобная идея была впервые предложена Капо [1]. Настоящая работа развивает этот подход и расширяет область его практического применения.

Итак, изложим основные аспекты непрерывного подхода к моделированию дискретных устройств. Введем следующие обозначения: х = (х1,к, хп) - координаты точки в п-мерном

пространстве, а также

Тп = {х 0 < xi < 1, г = 1,..., и),

Vп = {х|х, е {0,1), г = 1,..., и),

где Тп представляет собой единичный гиперкуб, а элементами множества Vп с Тп являются вершины единичного гиперкуба Тп.

Как известно, любая комбинационная схема может быть представлена логической функцией (функцией алгебры логики) или множеством функций, реализующих логику схемы. При этом каждому первичному выходу схемы будет соответствовать своя логическая функция от п переменных Х1, к, хп; х. е {0,1}.

Пусть Х(х) - некоторая п-местная функция алгебры логики, которую можно определить как

отображение вершин единичного п-мерного гиперкуба на множество {0, 1}, т.е.:

Х(х):¥п ^ V1.

Непрерывным продолжением функции алгебры логики Х(х) называется любая функция f (х), отображающая п-мерное арифметическое

Г)П

пространство К во множество действительных чисел К1 и совпадающая с функцией Х(х) на

множестве Vп:

/(х): Кп ^ К1,

/(х) = Х(х), Ух еУп.

Как видим, единственным существенным условием, налагаемым на вид функции /(х), является требование совпадения значений / (х) и Х(х) в вершинах п-мерного гиперкуба.

Рассмотрим вопрос о соотношении булевых функций, образующих базис, с их непрерывными продолжениями. Исходя из приведенного определения, легко видеть справедливость следующего утверждения.

Пусть функция алгебры логики Х(х) представлена суперпозицией базисных функций. Тогда суперпозиция, полученная заменой базисных функций на их непрерывные продолжения, есть непрерывное продолжение функции Х(х) .

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

Возьмем за основу конъюнктивный базис Буля. Определим следующие непрерывные продолжения базисных функций:

~ = х1х2 - для конъюнкции;

~ = 1 - х - для отрицания.

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

Таблица 1

Непрерывные продолжения булевых функций

Булева функция Непрерывное продолжение

у=х у = 1 - X

У = X л X 2 ~ = Х1Х2

У = X, V X2 = х1 + х2 - х1х2

у = х © х2 = х1 + х2 - 2 х1х2

Построенная система функций имеет следующее свойство: для любых значений аргумента, лежащих внутри единичного гиперкуба, значения функции лежат в интервале (0, 1):

Ух, 0 < х < 1, г = 1,..., п: f (х) е (0,1).

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

Непрерывным продолжением комбинационной схемы назовем непрерывную сеть Л\ получающуюся из правильной логической сети Л заменой функций алгебры логики, реализуемых элементами сети Л, их непрерывными продолжениями.

Алгоритм поиска тестовых наборов

Основным преимуществом непрерывных методов моделирования схемы является другой принцип работы с моделью схемы. Схема, последовательностная или комбинационная, моделируется как обычная непрерывная функция нескольких переменных. Задача алгоритмов построения тестов на основе непрерывного подхода становится более простой в формулировке

- найти глобальный максимум целевой функции. Таким образом, открывается возможность использовать алгоритмы глобальной оптимизации применительно к задачам поиска тестов для логических схем [2-4].

Построение тестов для цифровых схем будем осуществлять в процессе максимизации специально построенной непрерывной целевой функции, описывающей поведение тестируемой схемы как в присутствии, так и в отсутствие неисправности.

Максимизация целевой функции может осуществляться с помощью широко известных алгоритмов глобальной оптимизации, в данной работе рассмотрено применение алгоритма поиска максимума целевой функции на основе метода покоординатного подъема.

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

Будем использовать систему, призванную проверить эквивалентность двух схем: исправной и неисправной.

В общем случае данная система описывается следующей функцией:

я( х) = и (Р (х) © Р( х)).

к=1

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

рис. 1, значение функции О будет равно 1, если выходы исправной и неисправной схем различаются, и нулю - в противном случае.

Итак, для поиска тестов на основе непрерывного подхода необходимо:

- получить непрерывную модель схемы;

- внедрить в схему неисправность и получить непрерывную модель схемы с неисправностью;

- построить непрерывную целевую функцию;

- найти входной вектор, максимизирующий целевую функцию;

- полученный вектор и есть тест для рассматриваемой неисправности.

Задача поиска максимума целевой функции - это задача глобальной оптимизации, поскольку нас интересует именно глобальный максимум исследуемой функции на всей области определения данной функции. Заметим, что хотя глобальных максимумов может быть и несколько, во всех точках экстремума значение целевой функции будет равно 1, т.е. максимум заранее известен, это упрощает решение задачи. Координаты каждого глобального максимума будут представлять собой один из возможных тестовых наборов.

Отметим, что на практике большинство входных воздействий, являющихся частью тестового набора, - неопределенные, то есть могут принимать значения как 0, так и 1, поэтому глобальный максимум может быть как в конкретной точке, так и на линии и даже на плоскости. Для нашей целевой функции глобальный максимум достигается только в вершинах, на ребрах и гранях единичного п-мерного гиперкуба. Исходя из этого предлагается следующий алгоритм поиска максимума, основанный на методе покоординатного подъема и учитывающий данную особенность функции.

В качестве первоначального приближения тестового набора выбирается точка х1 = (х\, х\,

X) = (0.5, 0.5,..., 0.5) - центр единичного гиперкуба. Далее следуют одна или более итераций, каждая из которых заключается в следую-

щем. Относительно текущей точки, дающей приближение к тестовому набору, вычисляется оценка для частной производной ВО(х)/ дх1,

I = 1, 2,..., п по каждой координате, значение которой не равно 0 или 1. Оценка определяется как модуль разности между значением целевой функции в текущей точке и значением в точке, имеющей приращение по одной из координат. Выбирается та координата, для которой вычисленная оценка максимальна. Далее вычисленная разность используется как критерий установления значения для выбранной координаты. Если значение разности неотрицательно, то устанавливается 1. Для отрицательных значений берется 0. Если для вновь полученной точки функция достигает единичного значения, то тестовый набор найден, и работа алгоритма завершается. В противном случае начинается следующая итерация. Количество итераций в алгоритме ограничено. Если за заданное количество итераций решение не найдено, то такая неисправность считается необнаружимой. Очевидно, что ограничение, накладываемое на количество итераций, является компромиссом между быстродействием алгоритма и процентом покрытия неисправностей.

Приведенная процедура оптимизации оказывается более эффективной, чем общие алгорит-

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

Обобщенная модель представления неисправностей при построении тестов

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

Дефект некоторым образом изменяет нормальное функционирование схемы. Эти изменения могут влиять на логические функции, реализуемые схемой; приводить к изменению временных характеристик работы схемы (пре-

И справная схема

Х„)

Неисправная схема

Рі

1

£

Рис. 1. Система, реализующая целевую функцию

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

Неисправная схема представляет собой изоморфную копию соответствующей исправной схемы за исключением внесенных изменений, моделирующих ту или иную неисправность. В общем случае можно сказать, что неисправность преобразует некую область схемы в отдельный неисправный блок, имеющий несколько входов и выходов. Размер этого блока, то есть заменяемой им части схемы, зависит как от типа рассматриваемой неисправности (константная, мостиковая, обрыв), так и от сложности и реалистичности соответствующей ей модели. Иначе говоря, неисправный блок может включать в себя как вентили, расположенные в непосредственной близости от места дефекта, так и прочие вентили, лежащие на пути дальнейшего распространения сигнала от места неисправности, а, возможно, и на линиях обратной связи, образованных в результате возникновения дефекта. Функция, реализуемая данным блоком, определяется его размером, типом и моделью неисправности, а также рассматриваемой технологией производства схемы. Данная функция может быть описана как с помощью таблицы истинности, так и посредством выражений булевой алгебры.

Результаты

Описанные алгоритмы и методы были реализованы в программном комплексе генерации тестовых наборов для константных неисправностей комбинационных схем. Разработанный программный продукт, названный CONTINENT, был апробирован на некоторых комбинационных схемах набора ISCAS’85. Испытания проводились на машине, имеющей следующие характеристики: CPU P-II, 400 MHz, 512 MB RAM. В табл. 2 приведены полученные результаты работы.

Заключение

В данной работе предлагается общий подход к моделированию неисправностей логического типа, а также универсальный метод построения тестов, основанный на использовании непрерывной модели цифровой схемы. Полученные алгоритмы применены при построении и программной реализации автоматической системы поиска тестовых наборов для константных неисправностей комбинационных схем. Представлены результаты апробации разработанного программного комплекса на некоторых схемах набора ISCAS’85. В следующих работах планируется применить изложенный подход для разработки и построения системы генерации тестов для резистивных мостиковых неисправностей последовательностных схем.

Результаты работы программы генерации тестов

Таблица 2

Схема CONTINENT

Покрытие Время

c432 520 / 524 0.52 520 / 524 1.742 519 / 524 2

c499 750 / 758 0.901 750 / 758 0.11 749 / 758 2

c880 942 / 942 0.63 942 / 942 0.1 922 / 942 7

c1355 1566 / 1574 2.313 1566 / 1574 0.3 1554 / 1574 39

c1908 1870 / 1879 2.323 1870 / 1879 3.194 1852 / 1879 74

c2670 2630 / 2747 18.486 2630 / 2747 68.298 2473 / 2747 3614

c3540 3291 / 3428 14.841 3291 / 3428 1.662 3274 / 3428 1250

c5315 5291 / 5350 10.505 5291 / 5350 1.662 5285 / 5350 320

c6288 7710 / 7744 13.359 7710 / 7744 1.732 7710 / 7744 1100

c7552 7419 / 7550 28.861 7414 / 7550 415.116 7150 / 7550 3600

Всего 31989/32496 92.739 31984 / 32496 493.916 31488 / 32496 10008

Список литературы

1. Kano H. Test pattern generation for logic networks by real number logic simulation // AUTOTESTCONF' 79. 1979. P. 168-178.

2. Миндров А.Е., Кащеев Н.И. Использование непрерывной модели схемы для генерации тестов // Simulation and CAD systems. 1989. P. 47-50.

3. Danilov S., Kasheev N. Automatic test pattern generation using continuous approach // Proceedings of Internetional Scientific conf. «Informatics, Mathematical Modelling & Design in the technics, controlling & edu-

cation (IMMD) '2004», Vladimir city, VGU, 2004. P. 187-192.

4. Кащеев Н.И., Белобородов В.В. Использование непрерывной оптимизации для генерации тестовых наборов // Системы обработки информации и управления, Н. Новгород, 2001. Вып. 7. С. 21-25.

5. Goel P. An implicit enumeration algorithm to generate tests for combinational logic circuits // IEEE Trans. on Computers. 1981, March. V. C-31. P. 215-222.

6. Rivin I. and Chakradhar S.T. Discrete Test Generation by Continuous Methods // Proc. 12-th IEEE VLSI Test Symposium, April 1994. P. 100-105.

CONSTRUCTION OF DIGITAL CIRCUIT TESTS USING A GENERALIZED FAULT MODEL AND THE

CONTINUOUS SIMULATION APPROACH

N.I. Kashcheev, D.M. Ponomarev, F.M. Podyablonsky

This paper considers the development of digital circuit tests using continuous models of discrete devices. An algorithm is presented which makes it possible to solve the problem of finding test sets using continuous optimization. A generalized fault model is proposed which implements a unified approach to the representation of different types of faults in test generation. The proposed approach is implemented as a software environment for research and development of fault models and algorithms for finding digital circuit tests. For testing, a system of automated test generation for constant faults of combinational circuits has been built. The performance estimation results for the software package developed for the ISCAS '85 benchmark circuits demonstrate the effectiveness of the algorithms and methods used.

Keywords: automated test construction, fault simulation, continuous models, digital circuits, combinational circuits, constant faults, approach.