ИНФОРМАТИКА И УПРАВЛЕНИЕ В ТЕХНИЧЕСКИХ И СОЦИАЛЬНЫХ СИСТЕМАХ
УДК 681.004.6
12 2 1 А.Е. Миндров , Н.И. Кащеев , Н.С. Путихин , О.П. Тимофеева
ПОСТРОЕНИЕ ПРОВЕРЯЮЩИХ ТЕСТОВ ДИСКРЕТНЫХ СХЕМ НА ОСНОВЕ НЕПРЕРЫВНЫХ РАСШИРЕНИЙ БУЛЕВЫХ ФУНКЦИЙ
Нижегородский государственный технический университет им. Р.Е. Алексеева1, Национальный исследовательский университет Высшая школа экономики, Н. Новгород
Посвящена разработке способа построения тестов цифровых схем с использованием непрерывных моделей дискретных устройств. Представлены алгоритмы, позволяющий решить задачу поиска тестовых наборов с помощью непрерывной оптимизации. Предложенный подход реализован программно в виде среды для поиска тестов цифровых схем. В целях апробации построена система автоматической генерации тестов для константных неисправностей комбинационных схем. Приведены результаты работы программного комплекса для ряда схем набора ISCAS'85, демонстрирующие эффективность используемых алгоритмов и методов.
Ключевые слова: автоматическое построение тестов, моделирование неисправностей, непрерывные модели, цифровые схемы, комбинационные схемы, константные неисправности.
Введение
Трудоемкость выполнения задач построения тестов значительно возрастает при увеличении сложности цифровых схем. Следовательно, требования к эффективности методов и алгоритмов становятся существенно выше. В связи с этим разработке методов и алгоритмов построения тестов дискретных устройств в последнее время уделяется много внимания. Большинство ставших классическими методов построения тестов основаны на использовании модели константной неисправности. В настоящей работе предложен метод построения тестов на основе непрерывного подхода к моделированию работы схемы. В качестве апробации изложенного подхода на базе разработанных программных модулей построена система автоматической генерации тестов для константных неисправностей комбинационных схем. Представлены результаты работы данного программного комплекса на ряде схем набора ISCAS'85.
Непрерывный подход к моделированию дискретных устройств
В большинстве традиционных методов построения тестов используются дискретные модели цифровых устройств. Наиболее распространенными дискретными математическими моделями являются правильные логические сети, таблицы истинности и различные формы аналитических выражений булевых функций, реализуемых устройствами. Как следствие, задачи поиска тестовых последовательностей, основанные на подобных моделях, имеют комбинаторный характер решения. В настоящее время большинство методов представляют собой вариации метода ветвей и границ. Общеизвестна трудоемкость таких методов.
Однако возможно описание комбинационного устройства с помощью функций от непрерывного аргумента. Данная работа описывает метод, при котором булевы функции элементов схемы заменяются их непрерывными аналогами. Подобная идея была впервые пред-
© Миндров А.Е., Кащеев Н.И., Путихин Н.С., Тимофеева О.П., 2015.
ложена Капо [1]. Настоящая работа развивает этот подход и расширяет область его практического применения.
Итак, изложим основные аспекты непрерывного подхода к моделированию дискретных устройств. Введем следующие обозначения: х = (х,..., хп) - координаты точки в и-мерном пространстве, единичный гиперкуб - Тп = (х|0 < X; < 1, / = 1, ...,п], Vй = {х|х( £ {0,1},/ = 1, ...,п}, элементами множества У<^Т являются вершины единичного гиперкуба Т.
Как известно, любая комбинационная схема может быть представлена логической функцией или множеством функций, реализующих логику схемы. При этом каждому первичному выходу схемы будет соответствовать своя логическая функция от и переменных е{0,1}.
Пусть х) - некоторая и-местная функция алгебры логики, которую можно определить как отображение вершин единичного и-мерного гиперкуба на множество {0, 1} -ф):Уп ^ V1.
Определение 1. Непрерывным продолжением функции алгебры логики |(х) называется любая функция /(х), отображающая и-мерное арифметическое пространство Я" во
множество действительных чисел Я1 и совпадающая с функцией |(х) на множестве V": /(х):йп ^ = £ Vй.
Как видим, единственное существенное условие, налагаемое на вид функции /(х), является требование совпадения значений /(х) и |(х) в вершинах и-мерного гиперкуба.
Рассмотрим вопрос о соотношении булевых функций, образующих базис, с их непрерывными продолжениями. Исходя из приведенного определения, легко видеть справедливость следующего утверждения.
Пусть функция алгебры логики |(х) представлена суперпозицией базисных функций. Тогда суперпозиция, полученная заменой базисных функций на их непрерывные продолжения, есть непрерывное продолжение функции |(х).
Таким образом, достаточно построить лишь непрерывные продолжения функций алгебры логики, образующих базис. На их основе можно построить непрерывное продолжение любой функции алгебры логики. Возьмем за основу конъюнктивный базис Буля. Определим следующие непрерывные продолжения базисных функций: у=х1х2 - для конъюнкции, у = 1 — х - для отрицания. На множестве вершин единичного гиперкуба значения непрерывных продолжений действительно совпадают со значениями соответствующих булевых функций. Основываясь на приведенном утверждении, построим непрерывные продолжения для всех основных функций алгебры логики:
Таблица 1
Непрерывные продолжения булевых функций
Булева функция Непрерывное продолжение
Y N XI ~ = 1 - х
Y = X1 л X2 ~ = х1х2
Y = X1 v X2 ~ = Xj + Х2 - XjX2
Y = X © X2 = Xj + X2 - 2xjx2
Построенная система функций имеет следующее свойство: для любых значений аргумента, лежащих внутри единичного гиперкуба, значения функции лежат в интервале (0, 1). Таким образом, значения 0 и 1 достигаются непрерывными продолжениями только на гранях
и в вершинах единичного гиперкуба Т. Рассмотрим далее правильную логическую сеть, представляющую некоторое комбинационное устройство. В качестве множества возможных неисправностей рассмотрим множество одиночных константных неисправностей.
Определение 2. Непрерывной моделью комбинационного устройства назовем непрерывную сеть Ан, получающуюся из правильной логической сети А заменой функций алгебры логики, реализуемых элементами сети А, их непрерывными продолжениями.
Рассмотрим линию I, соединяющую выходной полюс элемента tl с входным полюсом элемента t2. По аналогии с дискретной моделью определим одиночную константную неисправность На, ае{0, 1} непрерывной сети Ан как неисправность, приводящую к постоянному присутствию на линии I арифметического значения а.
Пусть построена непрерывная сеть Ан для комбинационного устройства А. Разорвем
линию I сети и создадим дополнительный вход ю. Пусть ф™(ю,Х2,...,хп) есть функция, реализуемая на линии т сети Ан.
Определение 3. Функцией чувствительности для сигнала ю на линии т назовем функцию
УГГ (Х1, Х2,..., Хп ) = ф ™ (1, Х1, Х2,..., Хп ) + ф™ (0, XI, *2,..., *п ) " 2фТ (1, Хь Х2,..., Хп )фТ (0, Х^,..., Хп ) .
Очевидно, что эта функция есть непрерывное продолжение функции исключающее ИЛИ.
Теорема 1
Неисправности ю = 1 и ю = 0 сети Ан проверяюися теми и только теми входными наборами, которые являются решениями уравнений (1) и (2) соответственно:
(Х1, Х2,..., Хп )(1- ф7 (Х1, Х2,..., Хп ))= 1, х еГ; (1)
Щт(Х1,Х2,...,Хп)ф7(х1,Х2,...,Хп) = 1,х е Г. (2)
Если Ж/™ (Х1, Х2,..., Хп ) = 1, то значение ю на линии I распространяется до линии т так,
что мы наблюдаем ю или ю на линии т. Из теоремы 1 непосредственно следует, что функции в левой части уравнений (1) и (2) являются непрерывными продолжениями различающих функций.
Определение 4. Непрерывными различающими функциями неисправностей ю = 1 и ю = 0 на линии I сети Ан называются функции (3) и (4), соответственно:
Ф/( X) = ЖТ (Х1, Х2,..., Хп )(1 -р(х1, Х2,..., Хп)) ; (3)
ф0( X) = ЖТ (Х1, Х2,..., Хп )ф7( Х1, Х2,..., Хп). (4)
Получение непрерывных различающих функций представляет собой значительно более простую задачу, чем получение булевых различающих функций. Действительно, серьезную проблему при получении аналитических выражений булевых функций представляет операция инвертирования нормальных форм в соответствии с правилами Де Моргана. В отличие от этого, инвертирование непрерывных продолжений в соответствии с табл. 1 заключается в простой смене знака у всех слагаемых инвертируемой функции и прибавлении к ней единицы.
Построение проверяющего теста, близкого по длине к минимальному
При нахождении близких к минималъным покрытий таблицы неисправностей Р можно применять достаточно простое и эффективное эмпирическое правило: в таблице Р выбирается столбец с минимальны числом единиц. Среди строк, содержащих единицу в выбранном столбце, выбирается та, которая содержит максималъное количество единиц. Найденная, та-
ким образом, строка включается в покрытие, а таблица Р сокращается путем вычеркивания этой строки и столбцов, которые она покрывает . Далее аналогичная процедура проводится с сокращенной таблицей Р и т.д. до тех пор, пока в таблице Р не будут вычеркнуты все столбцы.
Алгоритм построения проверяющих тестов, основанный на таком эмпирическом правиле нахождения почти-минимального покрытия таблицы неисправнотсей Р, состоит из выполнения следующих пунктов:
1. Для каждой неисправности ^ е £ определяем г число проверяющих ее наборов.
2. Полагаем £ подмножество всех обнаружимых неисправностей из
3. Во множестве £ выбираем неисправность si, проверяемую минимальным числом входных наборов.
4. Находим М - множество наборов, проверяющих неисправность si.
5. Во множестве Мг выбираем набор проверяющий максимальное количество неисправностей из множества £ , и включаем его в тест.
6. Из множества £ исключаем неисправности, проверяемые набором
7. Если £ = 0 , тест построен, в противном случае идем на пункт 3.
Очевидно, этот алгоритм может быть эффективно реализован в том случае, если удастся, не находя таблицы Р, решать следующие задачи:
Задача А: для каждой неисправности ^ е £ найти - количество проверяющих ее наборов.
Задача В: построить множества Мг всех наборов, проверяющих неисправность si.
Задача С: определить для любого входного набора множество проверяемых ей неисправностей.
Рассмотрим задачу А. Пусть фг (х) - непрерывная различающая функция неисправности ^ е £ . Функция ф (х) имеет вид:
N
ф;(х) = ЕЪ)хк ••• хп, + Ьо,
7=1 7
где Ъj, 7 = 0, N целые числа. Перегруппировав в этом выражении слагаемые, легко представить функцию ф; (х) в виде
ф;(х) = а0 + Е а рхр + Е а Р7ХРХ7 + Е а РАХРХ7Х< + •' Р Р<7 Р<7 <
1 п
где ао =фг (0,„.,0),
а0 =ф; (0,-1,-,0) "а0,
1 Р } п
а0 =ф; (0, • 1, • ,1 • ,0) - (а0 +а р +а 7), и т. д.
Решение задачи А дает следующая теорема. Теорема 2
Г = 2п ф(0.5,„.,0.5),
где гг - количество входных наборов, проверяющих неисправность si сети Ан, ф (х) - непрерывная различающая функция неисправности si, п - количество входных полюсов сети А . Доказательство
Определим операцию над двумя векторами х е Tn и v. = (v. ,..., v. ) е Vn, j = 1,2" :
(х * vj ) = П хт, X где Л(хт, vт ) = ^ ^
т=1
хт, если Vjm = 1
— хт, если vjm = 0.
Операция (х * vj) обладает следующим очевидным свойством:
Г0, если V ^ V,
* vj) =| 1
7 1, если V = V, .
' j" v = v
(5)
Рассмотрим функцию ф* (х) = Е ф» ^^)(х * vj ).
j=1
Раскрыв в функции ф» (х) все скобки и приведя подобные члены, представим ф» (х) в виде
ф* (х)=^0+Е срхР + Е cpjxpxj+ Е cpjtxpxjxt+.'
р < ]
р < ] <t
где
Ср = ф»
Ср = ф»
Л "Л 0,...,0
V J
' 1 Р " ^ 0,...,1,...,0 — С
J
^ 1 Р } " \
ср. =ф»
0,...,1,...,1,...,0 Учитывая свойство (5),
— (С0 + СР + cj), и т.д.
J
ф* («т ) = Е ф» (и j )(ит * иj ) = ф» (ит X т = Ъ2".
7 =1
Отсюда следует, что с0 = й0,...,ср = ёр,...,ср = йрр... и т.д.
Тогда в любой точке х е Т" справедливо ф» (х) = ф* (х). Таким образом,
2" 2" 2" »(0.5,...,0.5) = ф*(0.5,...,0.5) = Еф» (^ j )((0.5,...,0.5)* и ] )=£ф (и ] )(0.5)" = 2—" Еф» (иj) = 2—"г,
j=1
и, )=ЕФ» (и,
]=1
j=1
что и требовалось доказать. Рассмотрим задачу В.
Из теоремы 2 имеем 0 <ф (0.5,...,0.5) = 2—"г
Случай ф(0.5,...,0.5) = 0 соответствует необнаружимой неисправности ^, тогда М = 0 . Рассмотрим случай ф(0.5,...,0.5) > 0 .Как было показано выше, справедливо представление ф» (х1,0.5,...,0.5) = (0.5,...,0.5) х1 + gh(0.5,...,0.5). Из точки а0 = (0.5,...,0.5) перейдем в точку а = (^ ,0.5,...,0.5), где
=
1 если Л =
0, если Л (а0) =
5фг
5x1 (а0)
5фг
> 0,
сх^)
< 0,
0 или 1, если Д (а0 ) =
сф»
Сх1 (а0 )
= 0.
"
"
2
*
2
Очевидно, ф (а0) <ф (а). Аналогично совершим переход из точки а в точку а = (^1,82,...,0.5,...,0.5)и т.д. до тех пор, пока не придем в точку ап =81 еVn. Поскольку ф;(81) > ф;(а0) > 0 и ф;(х) е {0,1}при х е Vn, для значения ф;(81) остается единственная возможность - ф; (81) = 1.
Таким образом, получен набор 81, проверяющий неисправность ^ . Набор 81 включаем в множество М{ и рассматриваем далее функцию ф; (х) = ф; (х) - (х * 81).
Функция ф; (х) совпадает с функцией ф; (х) во всех точках множества V" за исключением точки 51. Действительно, ф; (81) = ф; (81) — (81 * 81) = 1 — 1 = 0. С другой стороны, если,
11 2 ц ^8 то ф;1 (ц) = ф; (ц) — (ц * 8 ) = ф; (ц). Способом, описанным ранее, найдем точку 5
такую, что ф; (82) = ф^ (82) = 1. Набор 82 включаем в множество Мi и рассматриваем далее
функцию ф; (х) = ф^ (х) — (х *82). и т.д. до тех пор, пока не будет получен последний набор
8", " > 1, проверяющий неисправность ^ .
Рассмотрим задачу С. Решение ее очевидно. Пусть - некоторый входной набор, £ 'с £ - некоторое подмножество множества £ рассматриваемых неисправностей. Набор проверяет неисправность тогда и только тогда, когда ц (и^) = 1, а количество неисправностей из £', проверяемых набором ц, определяется по формуле Я = Еф; (и 7 ).
В качестве примера применения алгоритма рассмотрим построение теста для схемы, изображенной на рис. 1.
/
С
Рис. 1. Комбинационная схема Рис. 2. Вычисление значений на каждой
линии схемы
В табл. 2 для каждой рассматриваемой неисправности приведены непрерывные различающие функции ф; (х), а также " = 8ф; (0.5,0.5,0.5) - количество наборов, проверяющих каждую из рассматриваемых неисправностей. На первом шаге построения теста £' = £. Из табл. 2 видно, что множество £' содержит 8 неисправностей, каждая из которых проверяется единственным набором. Выберем любую из них, например ^ . Для того чтобы найти набор, проверяющий неисправность ^ , рассмотрим функцию ф (х1, х2, х3)
Производные функции ф (х) равны дф / дх = х2 — х2х3, дф / сХ2 = х1 — х1х3, дф1 / дх3 = —х1х2 . Поскольку дф1 / йх1(0.5,0.5,0.5) = 0.25 > 0, из этой точки а0 = (0.5,0.5,0.5) переходим в точку а = (1,0.5,0.5); дф / дх2 (а) = 0.5 > 0, переходим в точку а2 = (1,1,0.5) ; дф / дх3 (а2) = —1 < 0, переходим в точку а3 = (1,1,0). Таким образом, найден набор 110, проверяющий неисправность ^ . Поскольку ф1(1,1,0) = 1 для I е {1,1,12}, удалив неисправности ^ , 53,512 из множества £', получим £' = {^2,s3,s4,s6,s1,s8,s9,510,511}. Для дальнейшего рассмотрения из множества £' выберем неисправность 52.
С
Аналогично найдем набор 010, проверяющий эту неисправность. После удаления неисправностей, проверяемых набором 010, множество S'примет вид S' = {s3,s4,s6,s8,s9,^0,^x}.
Выберем далее неисправность s9. Ее проверяет набор 111. После сокращения множества S' получаем: S' = {s3, , , s8, s10}. В множестве S' находится единственная неисправность s10, для которой r = 1. Ее проверяет набор 001. После сокращения множества S' получим S ' = ¿6 }.
Из табл. 2 определяем r3 = r6 = 2. Рассмотрим любую неисправность из S', например
s3. Поскольку r = 2, множеством М3 будет состоять из двух наборов. Используя функцию
Фз( x) = x1 — x1x2, найдем первый проверяющий набор 100. Рассматривая функцию
Фзх (x) = Фз (x) — ((x, x , x3 ) * (1,0,0)) = x — xx2 — x (1 — )(1 — x3 ) найдем второй набор 101.
Таким образом, получено множество М3 ={100,101}. Поскольку оба найденных набора
проверяют по две неисправности из S', выбираем любой из них, например 100. После этого шага имеем S' = 0 . Таким образом, получен тест, состоящий из пяти наборов 110, 010, 111, 000, 100.
Таблица 2
Таблица непрерывных различающих функций
i Si Фг(^ x3) Г,
1 lj - 0 X2X2-X2X2X3 1
2 1 - 1 X2-X1X2-X2X3+XiX2X$ 1
3 h - 0 Xj-XjX2 2
4 l2 -1 J -Xj -X2+XjX2 2
5 1з - 0 X2X2-X2X2X3 1
6 13 -1 Xj-XjX2 2
7 U - 0 X2-X1X2-X2X3+X1X2X3 1
8 I4 -1 J -Xj -X2+XjX2 2
9 i5 - 0 X1X2X3 1
10 is -1 X3-X2X3-XJX3+XJX2X3 1
11 i5 - 0 X1X2X3 1
12 1б -1 XjX2-XjX2X3 1
Континуальный метод построения проверяющих тестов
Рассмотренный ранее алгоритм можно отнести к аналитическим методам построения проверяющих тестов комбинационных устройств и, будучи таковым, он имеют ограничение на применение, присущее всей группе этих методов. Ограничения эти связаны с необходимостью получения функций (в данном случае - непрерывных различающих функций) в аналитическом виде. В рамках традиционных моделей комбинационных устройств этот недостаток аналитических методов непреодолим. Непрерывная же модель, каковой является непрерывная сеть Ан, дает возможность вычислять значение реализуемой ей функции, а, значит, и непрерывных различающих функций, в любой точке х е Я". Присвоим входным полюсам х1х2х3 сети Ан значения 0.5,0.5,0.5. На рис. 2 показана последовательность вычисления значений всех линий схемы. На выходе получаем значение 0,578125.
Основным преимуществом непрерывных методов моделирования схемы является другой принцип работы с моделью схемы по сравнению с традиционными подходами. Схема моделируется как обычная непрерывная функция нескольких переменных. Задача алгоритмов построения тестов на основе непрерывного подхода схемы - найти глобальный максимум целевой функции. Таким образом, открывается возможность использовать алгоритмы глобальной оптимизации применительно к задачам поиска тестов для логических схем.
Построение тестов для цифровых схем будем осуществлять в процессе максимизации специально построенной непрерывной целевой функции, описывающей поведение тестируемой схемы, как в присутствии, так и в отсутствии неисправности. В данной работе рассмотрено применение алгоритма поиска максимума целевой функции на основе метода покоординатного подъема. Будем использовать систему, проверяющую эквивалентность двух схем: исправной и неисправной (рис 3). В общем случае, данная система описывается следующей функцией:
S
G{x) = \j{Fk{x)®F'k{x)).
k=1
Выход G принимает значение 1 тогда и только тогда, когда две схемы имеют различные значения выходных линий при подаче определенной комбинации сигналов на входы
хр.
Действительно, как можно видеть из рис. 3, значение функции G будет равно 1, если выходы исправной и неисправной схем различаются, и нулю - в противном случае.
G(X) = 1. (6)
Fault-free circuit
__F,
Circuit with fault
" f;
Fs
Рис. 3. Система, реализующая целевую функцию
Задачу дискретной оптимизации (6) можно заменить на задачу непрерывной оптимизации (7), используя непрерывную модель дискретного устройства путем замены всех булевых функций на соответсвующие непрерывные продолжения булевых функций.
в( X) = 1. (7)
Функция G(X) есть непрерывный аналог логической функции 0(X). Итак, для поиска тестов на основе непрерывного подхода необходимо: • получить непрерывную модель схемы;
Х>1
• внедрить в схему неисправность и получить непрерывную модель схемы с неисправностью;
• построить непрерывную целевую функцию;
• найти входной вектор, максимизирующий целевую функцию Полученный вектор и есть тест для рассматриваемой неисправности.
Задача поиска максимума целевой функции - это задача глобальной оптимизации, поскольку нас интересует именно глобальный максимум исследуемой функции на всей области определения данной функции. Заметим, что хотя глобальных максимумов может быть и несколько, во всех точках экстремума значение целевой функции будет равно 1, т.е. максимум заранее известен, это упрощает решение задачи. Координаты каждого глобального максимума будут представлять собой один из возможных тестовых наборов.
В качестве первоначального приближения тестового набора выбирается точка x1 = (x1, x1,..., x1) = (0.5,0.5,...,0.5) - центр единичного гиперкуба. Далее следуют одна или более итераций, каждая из которых заключается в следующем. Относительно текущей точки вычисляется оценка для частной производной 8G(x)ldxj, i = 1,2,...,n по каждой координате,
значение которой не равно 0 или 1. Оценка определяется как модуль разности между значением целевой функции в текущей точке и значением в точке, имеющей приращение по одной из координат. Выбирается та координата, для которой вычисленная оценка максимальна. Далее, вычисленная разность используется как критерий установления значения для выбранной координаты. Если значение разности неотрицательно, то устанавливается 1. Для отрицательных значений берется 0. Если для вновь полученной точки функция достигает единичного значения, то тестовый набор найден, и работа алгоритма завершается. В противном случае начинается следующая итерация. Количество итераций ограничено, если за заданное количество итераций решение не найдено, то такая несисправность считается необнаружимой. Очевидно, что ограничение накладываемое на количество итераций является компромиссом между быстродействием алгоритма и процентом покрытия несиправностей.
Результаты
Описанные алгоритмы и методы были реализованы в программном комплексе генерации тестовых наборов для константных неисправностей комбинационных схем. Разработанный программный продукт, названный CONTINENT, был апробирован на некоторых комбинационных схемах набора ISCAS'85. В табл. 3 приведены полученные результаты.
Таблица 3
Результаты работы программы генерации тестов
Схема CONTINENT ATALANTA [5] ATPG [4]
Покрытие Время (с) Покрытие Время (с) Покрытие Время (с)
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
Выводы
В данной работе предлагается метод построения тестов, основанный на использовании непрерывной модели цифровой схемы. Полученные алгоритмы применены при построении и программой реализации автоматической системы поиска тестовых наборов для константных неисправностей комбинационных схем. Представлены результаты апробации разработанного программного комплекса на некоторых схемах набора ISCAS'85.
Библиографический список
1. Kano, H. Test pattern generation for logic networks by real number logic simulation // AU-TOTESTCONF'79. 1979. P. 168-178.
2. Миндров, А.Е. Использование непрерывной модели схемы для генерации тестов / А.Е. Мин-дров, Н.И. Кащеев // Simulation and CAD systems. 1989. P. 47-50.
3. Кащеев, Н.И. Использование непрерывной оптимизации для генерации тестовых наборов / Н.И. Кащеев, В.В. Белобородов // Системы обработки информации и управления. - Н. Новгород. 2001. Вып. 7. С. 21-25.
4. Goel, P. An implicit enumeration algorithm to generate tests for combinational logic circuits // IEEE Trans. on Computers. vol.C-31, Р. 215-222, March 1981.
5. H. K. Lee and D. S. Ha. On the Generation of Test Patterns for Combinational Circuits, Technical Report No. 12_93, Department of Electrical Engineering, Virginia Polytechnic Institute and State University, 1993
6. I. Rivin and S.T. Chakradhar. Discrete Test Generation by Continuous Methods // in Proc. 12th IEEE VLSI Test Symposium. Р. 100-105, April 1994.
Дата поступления в редакцию 25.10.2015
12 2 1 A. Mindrov , N. Kascheev , N. Putikhin , O.Timopheeva
TEST PATTERN GENERATION FOR DISCRETE CIRCUITS USING CONTINUOUS EXTENSIONS OF BOOLEAN FUNCTIONS
Nizhny Novgorod state technical university n.a. R.E. Alexeev1, National Investigate University Higher School of Economics, Nizhny Novgorod
Purpose: Create a novel algorithm for gate-level test pattern generation for combinational circuits. Design/methodology/approach: Test generation method for combinational circuits by means of continuous optimization is proposed. The classical ATPG methods target the problem at the logical level and use a discrete approach for simulation of the circuit behavior. This paper presents a new approach for circuit simulation using continuous set of values. In scope of this approach a continuous gate-level model of a circuit is introduced. Boolean functions of the gates are replaced with corresponding continuous analogues. The continuous objective function is constructed and then the problem of test pattern generation is solved by means of maximization of the objective function. Experimental results for ISCAS'85benchmarks are presented to demonstrate the effectiveness of the method proposed.
Key words: ATPG, test generation, combinational circuits, continuous models.