Функции обнаружения константной неисправности, управляемости и наблюдаемости полюса элемента комбинационной схемы

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

2015 Управление, вычислительная техника и информатика № 1

УДК 519.718

О.И. Голубева

ФУНКЦИИ ОБНАРУЖЕНИЯ КОНСТАНТНОЙ НЕИСПРАВНОСТИ, УПРАВЛЯЕМОСТИ И НАБЛЮДАЕМОСТИ ПОЛЮСА ЭЛЕМЕНТА КОМБИНАЦИОННОЙ СХЕМЫ

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

Ключевые слова: комбинационная схема; константная неисправность; тестовые наборы; наблюдаемость; BDD; ОДНФ.

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

В настоящей статье исследуются функции обнаружения константной неисправности, наблюдаемости и управляемости для некоторого полюса элемента комбинационной схемы. Функция обнаружения константной неисправности представляет все тестовые наборы для обнаружения одиночной константной неисправности на полюсе; функция наблюдаемости представляет множество тех наборов входных переменных, которые обеспечивают смену значения на выходе схемы при смене значения на рассматриваемом полюсе; функция управляемости представляет наборы входных переменных, устанавливающие на полюсе значений а, ае{0,1}. Также исследуются эффективные способы получения этих функций в виде ВББ и ортогональной дизъюнктивной нормальной формы (ОДНФ). ОДНФ и ВББ представления булевой функции характерны тем, что по ним легко получить множество наборов значений входных переменных, обращающих функцию в единицу, так как конъюнкции ОДНФ взаимно ортогональны и, следовательно, любой набор значений входных переменных может обратить в единицу не более одной конъюнкции ОДНФ; в ВББ все пути от корня к некоторой терминальной вершине также представляют взаимно-ортогональные конъюнкции. То есть, например, ОДНФ функции обнаружения некоторой константной неисправности представляет множество тестов для этой неисправности, а каждая конъюнкция ОДНФ представляет подмножество этого множества, и подмножества, соответствующие разным конъюнкциям, не пересекаются. Кроме того, имея ОДНФ или ВББ представление булевой функции, легко вычислить вероятность единичного значения функции на случайном входном наборе, и, следовательно, получение одного из этих представлений для рассмотренных функций позволяет вычислить меры тестопригодности: вероятность обнаружения неисправности, управляемость и наблюдаемость. Данная работа является продолжением исследований, выполненных в работах [2-4].

1. Основные определения

Пусть имеется комбинационная схема с п входами и т выходами. В данной работе будем рассматривать только одиночные константные неисправности.

Пусть константная неисправность ае {0,1} присутствует в полюсе V схемы; фг(^), 7 = 1,т , - функция, реализуемая 7-м выходом исправной схемы и зависящая от входных переменных множества X, X = {х1, ..., х„}, а фа(X), ае{0,1}, - функция, реализуемая 7-м выходом схемы, в которой присутствует неисправность константа а в полюсе V.

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

Будем называть функцией обнаружения неисправности а, ае {0,1}, Оа(Х), функцию вида

0а

о*

Здесь (X) - функция обнаружения неисправности а, ае {0,1}, на 7-м выходе схемы.

Функция обнаружения неисправности Dа(X) представляет все тестовые наборы для константной неисправности а.

Будем называть функцией наблюдаемости B(X) функцию вида

В^) =

В,

Здесь В7 - функция наблюдаемости полюса V на 7-м выходе схемы.

Функция B(X) представляет наборы входных переменных, на которых смена значения в полюсе V приводит к смене значения хотя бы на одном из выходов схемы.

Функцию, реализуемую полюсом V схемы, будем называть функцией 1-управляемости, а инверсию этой функции - функцией 0-управляемости. Обозначим функцию 1-управляемости через С1^, а 0-управляемости через С0^; обозначим через /X) функцию, реализуемую полюсом V схемы. Тогда

с^ = flX), С0

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

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

2. Функция наблюдаемости 2.1. ОДНФ-представление функции наблюдаемости

Сопоставим рассматриваемому полюсу схемы переменную V. Затем получим функцию ^i(X, V), 7 = 1, т , реализуемую 7-м выходом схемы, рассматривая переменную V в качестве входной.

^i(X, V) порождает функции фг^ и фа (X) для неисправности константа ае {0, 1}.

Для неисправности константа 1

ф (X) = Л7 (X ,1);

для неисправность константа 0

ф0( X) = Л7 (X ,0).

Пусть /X) - булева функция, реализуемая полюсом V схемы и зависящая от входных переменных множества X. Тогда

Фг (X) = л, (X, / (X)).

Заметим, что Д(Х) - это булева производная функции ^г(Х, V) по переменной V

(В(X) = ) [5].

оу

Получим функции Л,(X, V), л,(X,V) и /X) в виде ОДНФ по структурному описанию схемы. ОДНФ функции Л,(X, V) может быть представлена в виде

Л,-

здесь К,, КV, КV - ДНФ, не зависящие от переменной V. Очевидно, что ДНФ К, К-, К- являются ОДНФ.

Тогда ОДНФ функции для неисправности константа 1 примет вид

ф1( X) = Л , (X ,1) = К, V КV ; ОДНФ функции для неисправности константа 0 примет вид

ф0(X) = Л , (X,0) = К, V К. Функция исправной схемы примет вид

Ф, (X) = Л (X, /(X)) = К, V К]  /(X) V КV  7(X). Представление функции л,(X, V) в виде (6) предложено в работе [6].

ОДНФ функции л ,(X, V) может быть представлена в виде л ,(X, V) = К , V К]  V V К]  V. Такое представление функции л,(X, V) также предложено в работе [6]. К ,, К], К] - ОДНФ, не зависящие от переменной V. Тогда для неисправности константа 1

ф1(X) = Л(X,1) = К, V К] ;

для неисправность константа 0

Ф0(X) =Л(X,0) = К, V К] ;

и для функции исправной схемы

Ф;(X) =Л(X, 7(X)) = Кг V К V  /(X) V КV  /(X). Преобразуем формулу (4) для функции наблюдаемости Bi(X) полюса V на , -м выходе:

В, (X) = ф1 (X) 0 ф0 (X) = ф1 (X)ф0 (X) V ф1 (X)ф0 (X) =

=

= К, • К, V кг  К'V V К]  К, V к]  К'V V К,  Кг V К,  К V К]  Кг V К]  К. Две ДНФ ортогональны друг другу, если любая конъюнкция одной ДНФ ортогональна любой конъюнкции другой ДНФ. Две конъюнкции к1 и к2 ортогональны, если к1 л к2 = 0. Если две конъюнкции ортогональны, то некоторая переменная входит в одну из них с инверсией, а в другую - без инверсии.

Утверждение 1.

1. ОДНФ К, ортогональна ОДНФ К; и К] .

2. ОДНФ К, ортогональна ОДНФ К] и К] .

Доказательство. Рассмотрим конъюнкции к' е К, и к"е К1; конъюнкция к = к'  V принадлежит ОДНФ (6) функции л¿(X, ;) и, следовательно, к" и к ортогональны. Поскольку к" не зависит от переменной V по построению, то к' и к" ортогональные конъюнкции. Так как это верно для любых конъюнкций к' е К* и к" е К1, то ОДНФ К, и К, ортогональны друг другу. Остальные выводы утверждения доказываются аналогично.

Утверждение 2.

1. ОДНФ К,- ортогональна ОДНФ К,, К* и К* .

2. ОДНФ К, ортогональна ОДНФ К, К* и К*.

Доказательство. ОДНФ ^(X, V) и ^ ,(X,*) ортогональны друг другу. Следовательно, ОДНФ К, ортогональна ОДНФ К ,. Рассмотрим конъюнкции к' е К* и к" е К1. Конъюнкция к = к' • V принадлежит построенной ОДНФ функции ^ ,(X, *), следовательно, конъюнкции к" и к ортогональны друг другу. Поскольку конъюнкция к" по построению не содержит переменной V, то к" ортогональна конъюнкции к'. Так как это верно для любых конъюнкций к" е К 1 и к' е К* , то ОДНФ К, и К* ортогональны

друг другу. Остальные положения утверждения доказываются аналогично. Утверждение 3.

1. ОДНФ К* и К* ортогональны друг другу.

2. ОДНФ К* и К* ортогональны друг другу. Доказательство аналогично доказательству утверждения 2.

Принимая во внимание утверждения 1-3 и учитывая, что произведение ортогональных друг другу ДНФ равно 0, преобразуем выражение (7) и получим

Согласно утверждению 3 ОДНФ К* и К* ортогональны друг другу, ОДНФ К* и К* также ортогональны друг другу. Следовательно, произведения К* • К* и К* • К* ортогональны друг другу. Поскольку К- , К- , К* , К* являются ОДНФ, то произведения К* • К* и К* • К* также являются ОДНФ.

Итак, получив произведение ОДНФ К- и К*, а также ОДНФ К* и К* из (8), получаем ОДНФ для функции Д-(Х).

Если предположить, что все ДНФ К, К ,, К- , К- , К_* , К* состоят из одного и того же числа

конъюнкций, то применение формулы (8) вместо (7) позволяет в четыре раза сократить число перемножаемых конъюнкций.

Функция наблюдаемости В(Х) полюса * для схемы в целом, согласно формуле (3), имеет вид В(X) = В1(X) V В2(X) V... V Вт(X). Поскольку полученные по формуле (8) ОДНФ В(Х), - = 1,т , не

обязательно ортогональны друг другу, то дизъюнкция ОДНФ Bi(X), - = 1, т , в общем случае не является ОДНФ. Ортогонализируем (3) следующим образом:

Чтобы по этой формуле получить ОДНФ функции B(X), необходимо представить В (X) и ВДX) в виде ОДНФ. Функция В (X) в виде ОДНФ уже получена. Получим функцию ВДX) также в виде ОДНФ.

В, (X) = К* • К* V К* • К* .

В(X) = В (X) V В2(X) V ... V Вт (X) =

ВДX) V В1(X) • В2(X) V ... V ВДX) • В2(X) •... • Вт-ДX) • Вт (X).

В,(X) = ф'(X) 0 ф0(X) = ф!^)ф0(X) V ф1(X)ф0(X) = = ( V К* )• (к, V К* ^ К V К* )• К V К* )=

= К, • К, V К, • К* V К, • К* V К* • К* V Кг • Кг V Кг • К* V Кг • К* V К* • К* .

0

0

0

Пользуясь утверждением 1, сократим полученную формулу:

В, (X) = К, V К* • К* V К , V К* • К* .

Выполнив произведение ОДНФ К] и К] , а также К и К из (10), согласно утверждениям 1-3, получим ОДНФ функции В^ (X).

Если предположить, что все ДНФ К, К, К] , КV , КV , КV состоят из одного и того же числа

конъюнкций, то применение формулы (10) вместо (9) позволяет в четыре раза сократить число перемножаемых конъюнкций.

Пример 1. Для иллюстрации предложенного метода получения функции наблюдаемости в виде ОДНФ рассмотрим схему Q (заимствована из [6]), изображенную на рис. 1.

Рис. 1. Схема Q

Сопоставим числа 5, ..., 10 выходам элементов. Пусть и5, ..., и10 - внутренние переменные, соответствующие этим выходам. Рассмотрим полюс V схемы. Получим ОДНФ функции наблюдаемости для этого полюса.

Получим ОДНФ функции ^(Х,]):

^(Х, V) = и10 = и8и9 = и8 V и8 • и9 = х1 © V V (х1 © ])(и7 V х4) = = V Х] V (х^ V XV • Х4и7 = = V х] V (х^ V XV) • х4] = XV V ххУ V х^х^у.

Получим ОДНФ К, К , К:

К = 0, К" = х V х1х4 , К = ху. Получим ОДНФ функции X, V):

X, V) = и10 = и8и9 = (х1 © V) • (х4 V х4и7) = (хр V • (х4 V х4и7) = = (х1У V х^) • (х4 V х4У) = х1х4У V х1х4У V х^^.

Получим ОДНФ К , К , К :

К = 0 , К = х1х4 , К = х1х4 V х1х4 = х1. Получим ОДНФ функции наблюдаемости по формуле (8):

В(X) = К • К V К • К = (х1 V х1х4) • х1 V х1х4 • х1 = х1 V х1х4 .

2.2. BDD-представление функции наблюдаемости

Binary Decision Diagram (BDD) - это ориентированный граф с корнем и множеством вершин W [7]. Множество W содержит два типа вершин: терминальные и нетерминальные. Нетерминальная вер-

шина w имеет две дочерние вершины low(w) е W и high(w) е W. В дочернюю вершину low(w) ведет левое ребро, исходящее из вершины w, а в вершину high(w) — правое ребро. Терминальная вершина w имеет значение value(w) е {0, 1}.

Нетерминальной вершине BDD сопоставляется некоторая переменная xi, от которой зависит булева функция, представляемая BDD. Иногда будем переменную, сопоставляемую вершине w, обозначать x(w).

BDD G с корнем w сопоставляется булева функция fw, определяемая следующим образом:

1. Если w является терминальной вершиной, то

а) если value(w) = 1, то fw = 1;

б) если value(w) = 0, то fw = 0.

2. Если w — нетерминальная вершина, которой сопоставляется переменная x, то

fw (х1,..., xn ) = Xi  flow( w) (x1,..., xn ) V Xi  fhigh(w)(x1,..., Xn ) .

Будем обозначать через G(h(x)) BDD-представление функции h(X). Здесь под BDD мы будем понимать reduced BDD, как они определены в [7].

Ориентированной цепи BDD сопоставляется конъюнкция, состоящая из переменных, соответствующих нетерминальным вершинам, через которые проходит цепь; причем если ребро в цепи является левым ребром, исходящим из вершины w, то переменная x(w) входит в конъюнкцию с инверсией, иначе — без инверсии.

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

Пусть t1, ..., ts — цепи BDD G(h(X)), ведущие из корня в терминальную вершину 1, а k(t\), ..., k(ts) — конъюнкции, сопоставленные этим цепям; t[,..., t's, — цепи BDD G(h(X)), ведущие из корня в терминальную вершину 0, и к(t[),..., к(t's,) — конъюнкции, сопоставленные цепям t[,..., t's,. Тогда из определения BDD следует, что h(X) = k(ti) v ... v k(ts), h(X) = к(t() v ... v к(tS).

Представим функцию ^(X, v) в виде BDD. Выберем переменную v в качестве последней переменной, по которой будет производиться разложение при построении BDD для ^(X, v).

Извлечем из G(^(X, v)) ОДНФ rqi(X, v) и ц (X, v). Представим, как и ранее, ОДНФ rqi(X, v) в виде

ц (X, v) = Kt v KJ  v v KJ  v и ОДНФ ^(X, v) в виде ^(X, v) = K, v KJ  v v KJ  v .

Утверждение 4. ДНФ KJ v KJ и KJ v KJ , извлеченные из G(ц^X, v)), состоят из тех и только

тех конъюнкций, которые соответствуют цепям в G(^(X, v)), ведущим из корня графа в вершины, сопоставленные переменной v.

Если из некоторой вершины w, сопоставленной переменной v, в терминальную вершину 1 ведет правое ребро, то конъюнкции, соответствующие цепям, ведущим из корня в вершину w, принадлежат

ДНФ KJ и K . Если же из этой вершины в терминальную вершину 1 ведет левое ребро, то конъюнкции принадлежат ДНФ KJ и KJ .

Утверждение 5.

1. ДНФ KJ и KJ , извлеченные из G(^(X, v)), совпадают.

2. ДНФ KJ и K , извлеченные из G(^(X, v)), совпадают.

Утверждение 6. ДНФ K, (к,), извлеченная из G(^(X, v)), состоит из тех и только тех конъюнкций, которые соответствуют цепям в G(^(X, v)), ведущим из корня графа в терминальную вершину 1(0) и не проходящим через вершины, сопоставленные переменной v.

Имея в виду утверждение 5, формулу (8) для функции Bi(X) преобразуем к виду

в, = KJ  KJ v Kv  KJ = KJ v KJ .

Из формулы (10), утверждения 3 и утверждения 5 получим

в, (х) = к, V к; • к; V К, V К* • К* =

=к, V к; • к; V к , V к; • к; = к, V к ,.

В формулах (11) и (12) ДНФ к; , Ц , , , к,, к, извлечены из G(r,(Х, ;)).

Из утверждений 4 и 6 и формул (11) и (12) получим следующую процедуру построения БОБ 0(В,(Х)) из БББ G(r,(Х, ;)).

Процедура 1. Получение БББ 0(В,(Х)) из БББ G(r,(Х, ;)).

1. Последние ребра всех цепей БББ G(r ,(Х, ;)), ведущих из корня в терминальные вершины и не проходящих через вершины, сопоставленные переменной ;, направляются в терминальную вершину 0.

2. Удаляются все вершины, сопоставленные переменной ; вместе с исходящими из них ребрами, а ребра, ведущие в эти вершины, направляются в терминальную вершину 1.

Итак, установлено, что БББ G(B,(Х)) получается простой модификацией БББ G(r ,(Х, ;)) и не превосходит последней по сложности.

БББ G(B(Х)) для функции В(Х) строится как дизъюнкция БББ G(B,(Х)) для функций В,(Х),

Пример 2. Построим БББ G(B(Х)) для функции наблюдаемости полюса ; схемы Q (рис. 1). Построим БББ G(r(Х, ;)) для функции, реализуемой выходом схемы, полученной из схемы Q, в которой полюсу ; сопоставлена входная переменная выполнив разложение по переменной ; в последнюю очередь. Полученный граф представлен на рис. 2.

В графе на рис. 2 курсивом выделены цепи, представляющие конъюнкции из ДНФ

B(Х) = к; V к; . Это конъюнкции к = Х1х4 и к2 = Х\.

На рис. 3 показан БББ G(B(Х)), полученный из БББ G(r(Х, ;)) по процедуре 1.

, = 1, т .

Рис. 2. БББ G

Рис. 3. БББ G(B(Х)), где B(Х) - функция наблюдаемости полюса ; схемы Q

3. Функция обнаружения неисправности

Представим функции ф,(Х), ф,(Х), , = 1,т , в следующем виде:

ф,

= ф1( Х) • 7 (Х) Vф0( Х) • 7 (Х), ф (Х) = Г (X, 7 (Х)) = г (Х ,1) • 7 (Х) V Г (Х ,0) • 7 (Х) = ф1( Х) • 7 (Х) Vф0( Х) • 7 (Х).

Рассмотрим неисправность константа 1 и функцию Б)( Х) обнаружения константной неисправности 1 на 1 -м выходе, , = 1, т . Подставим формулы (13) и (14) в (2), получим

Б)(Х) = ф,(Х) 0 ф1(Х) = ф,(Х) • ф1(Х) V ф,(Х) • ф1(Х) = = (ф1( Х) • 7 (Х) V ф0( Х) • 7 (Х ))• ф1( Х) V

V

= ф0 (X) • ф1 (X) • / (X) V ф0 (X) • ф} (X) • / (X) =

= (ф0( X) ©ф1( X) )• / (X).

Аналогичными преобразованиями получим формулу для неисправности константа 0:

) = ф7

Имея ввиду формулы (15) и (16), запишем общую формулу для неисправности константа а, ае{0, 1}:

оа (X) = (ф0( X) ©ф1 (X ))• /а (X),

где /*(X) = /(X), а / "(X) = /(X).

Функция обнаружения неисправности для многовыходной схемы принимает вид

0а (X) = Да (X) V оа (X) V... V от (X) =

= ((ф1( X) ©ф0( X) )v(ф12( X) ©ф2( X) ^... v(ф1я (X) ©фт (X) ))• / а (X).

Согласно формуле (3) выражение в скобках соответствует функции наблюдаемости В^, а согласно формуле (5) /а (X) - это функция а -управляемости Са (X).

Следовательно,

оа

Таким образом, функция обнаружения неисправности константа 1 есть произведение функции наблюдаемости и функции 0-управляемости, а функция обнаружения неисправности константа 0 есть произведение функции наблюдаемости и функции 1-управляемости.

Формула (17) позволяет выделить общую часть при получении функций обнаружения неисправностей константа 1 и константа 0.

Согласно формуле (17) ОДНФ или БББ представления функции обнаружения неисправности а Dа(X) можно получить как произведение ОДНФ или БББ представлений, соответственно, функции наблюдаемости B(X) и функции а -управляемости Са (X). Напомним, что произведение двух ОДНФ есть также ОДНФ. Эффективные методы получения ОДНФ и БББ представлений для функции наблюдаемости B(X) описаны выше. ОДНФ и БББ представления для функции Са (X) можно получить по структурному описанию схемы, имея ввиду, что С1^ - это функция, реализуемая выходом подсхемы, соответствующей полюсу V, а С0^ - функция, реализуемая этой подсхемой, к выходу которой добавлен инвертор.

Отметим, что при решении некоторых задач можно не находить полное произведение, а ограничиться частичным произведением формул для функций B(X) и Са (X). Например, при поиске одного тестового набора.

Формула (17) соответствует результату, полученному в работе [5], где показано, что тестовые наборы для константной неисправности 1(0) являются решениями системы из двух уравнений: /(X) = 0(1) и В(X) = 1. В работе [5] функция В(X) рассматривается как булева производная функции V) по переменной V. Здесь мы записали формулу (17) в терминах данной работы для многовыходной схемы. В работе [1] отмечается, что метод построения тестов, предложенный в работе [5], не широко используется из-за трудоемкости построения булевой производной. В данной работе предложены методы, позволяющие сократить трудоемкость построения функции В^.

Заключение

В данной работе исследуются функции обнаружения константной неисправности, управляемости и наблюдаемости для полюса элемента комбинационной схемы. Разработаны эффективные методы получения функции наблюдаемости в виде ОДНФ и БББ. Предложенная формула для получения ОДНФ

функции наблюдаемости позволяет приблизительно в 4 раза сократить объем вычислений по сравнению с получением ОДНФ по исходной формуле (3). Сложность получения BDD для функции наблюдаемости предложенным в работе методом сопоставима со сложностью построения BDD для подсхемы исходной схемы, в которой рассматриваемому полюсу сопоставлена входная переменная. ОДНФ и BDD представления функции обнаружения константной неисправности а, ае{1, 0}, предлагается получать как произведение ОДНФ и BDD соответственно функции наблюдаемости и функции а -управляемости. Использование этой формулы позволяет выделить общую часть при получении функций обнаружения неисправностей константа 1 и константа 0. При решении некоторых задач достаточно выполнить лишь частичное произведение формул, представляющих две функции.

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

литература

1. Bushnell M.L., Agrawal V.D., Essentials of Electronic Testing for Digital, Memory and Mixed-Signal VLSI Circuits. Boston : Kluwer

Academic Publishers, 2000. P. 690.

2. Голубева О.И. Метод вычисления вероятности обнаружения неисправности, основанный на BDD представлении функции //

Труды 3-го Международного симпозиума «Application of the Conversion Research Results for International Cooperation». Томск. 18-20 мая 1999. Томск, 1999. Т. 1. С. 195-197.

3. Голубева О.И., Матросова А.Ю. Точный метод вычисления вероятности обнаружения неисправности, основанный на

ОДНФ-представлении функции // Материалы 3-й Международной конференции «Автоматизация проектирования дискретных систем». Минск. 10-12 ноября 1999. Минск : ИТК НАН Беларуси, 1999. Т. 3. С. 64-71.

4. Голубева О.И. Разработка и исследование методов моделирования и оценки мер тестопригодности логических схем : дис. ...

канд. техн. наук. Томск, 2000. С. 112.

5. Sellers F.F., Hsiao M. Y., Bearnson L. W. Analyzing Errors with the Boolean Difference // IEEE Trans. on Computers. 1968. V. C-17,

No. 7. P. 676-683.

6. Евтушенко Н.В., Матросова А.Ю. О вероятностном подходе к вычислению оценок управляемости и наблюдаемости узла

дискретного устройства // Автоматика и телемеханика. 1993. № 11. С. 152-160.

7. Bryant R.E. Graph-Based Algorithms for Boolean Function Manipulation // IEEE Trans. on Computers. 1986. V. C-35, No. 8.

P. 677-691.

Голубева Ольга Ивановна, канд. техн. наук, доцент. E-mail: golubeva-o@yandex.ru

Томский государственный университет Поступила в редакцию 3 ноября 2014 г.

Golubeva Olga I. (Tomsk State University, Russian Federation).

Stuck-at fault detection, controllability and observability functions of the combinational circuit gate pole. Keywords: combinational circuit; stuck-at fault; test patterns; observability; BDD; orthogonal DNF.

The stuck-at fault at the gate pole is a widely used and studied fault model for combinational and sequential circuits. In this work, stuck-at fault detection, controllability and observability Boolean functions corresponding to the combinational circuit gate pole are considered. Effective methods of their representations obtaining in the orthogonal DNF (ODNF) and the BDD are suggested. Studies allow us to solve together a number of tasks related to the stuck-at fault at the combinational circuit gate pole.

Stuck-at fault detection function represents all test patterns for the single stuck-at fault at the gate pole; observability function represents all sets of input values that provide different values on at least one of the circuit output for different values on the considered pole; a-controllability function represents sets of input values providing the value а, ае {0, 1}, at the pole. Functions are defined on the set of circuit input variables.

The ODNF and the BDD representations of Boolean function have the property that they clearly represent the set of input values sets on which function takes value 1: the ODNF conjunctions are orthogonal in pairs and consequently any set of input values can turn into a value 1 not more than one conjunction of the ODNF; in the BDD paths from the root to a terminal vertex represent conjunctions orthogonal in pairs as well. Besides, having the ODNF or the BDD of considered functions, it is easy to calculate testability measures: the fault detection probability, controllability and observability.

The а-controllability function Ca(X), ае {0, 1}, is the function performed by the output of the subcircuit corresponding to the considered pole when а = 1, and its inversion when а = 0. The ODNF and the BDD of the function Ca(X) can be derived directly from the structural description of the circuit. For the one-output combinational circuit stuck-at-а fault detection function Da(X) and observability function B(X) can be obtained according to definitions by formulas:

D a ( X ) =9( X ) ©9a ( X ), B( X ) = 91( X ) ©90( X ).

In these formulas, ^(X) is the function performed by the output of the fault-free circuit, 9a(X) is the function performed by the output of the circuit with stuck-at-a fault, ae {1, 0}, at the considered pole. Here, for reducing the text, we consider a one-output circuit, whereas, in the full paper, we consider a multiple-output circuit.

To obtain some representation of functions Da(X) and B(X) directly from the formulas (1) and (2), respectively, it is very time-consuming. In this work, for the obtaining of the ODNF and the BDD of observability function B(X), the subcircuit of the initial circuit is considered, where the pole is considered as the subcircuit input. Let us denote as v the input variable met in correspondence to the pole and as ^(X, v) - the function corresponding to the output of such subcircuit. Obtained in this work the formula for ODNF representation construction of observability function allows to reduce approximately 4 times the computational cost when compared to its obtaining directly from the formula (2). For BDD representation construction of the function, first the BDD of the function ^(X, v) is obtained, where the variable v is considered as the last variable in the function decomposition, then the BDD of observability function is obtained from the BDD of the function ^(X, v) by simple procedure proposed in this work. Thus, the complexity of the suggested procedure of the BDD construction of observability function is comparable with the complexity of the BDD construction for the function performed by the output of the subcircuit of the initial circuit.

Also, we propose to obtain the ODNF and BDD representations of stuck-at-a fault detection function, ae {1, 0}, by multiplying of the ODNF and BDD, correspondingly, of observability function and a -controllability function. Note that this formula corresponds to the known test pattern construction method based on the Boolean difference. This formula allows distinguishing common part for the obtaining of stuck-at fault detection function for the stuck-at-1 and the stuck-at-0 faults. For solving of some tasks, for example, such as search of one test pattern, may be sufficient to perform only partial multiplication of the representations of two functions.

1. Bushnell M.L., Agrawal V.D. Essentials of Electronic Testing for Digital, Memory and Mixed-Signal VLSI Circuits. Boston: Kluwer

Academic Publishers, 2000. 690 p.

2. Golubeva O.I. [The method of the fault detection probability calculation based on BDD representation of a function] Tr. 3-go mezhdunar. simpoziuma "Application of the Conversion Research Results for International Cooperation" [Proc. of the Third International Symposium "Application of the conversion research results for international cooperation"]. Tomsk, 1999, vol. 1, pp. 195197. (In Russian).

3. Golubeva O.I., Matrosova A.Yu. [The precise method of the fault detection probability calculation based on ODNF representation of

a function]. Materialy 3-y mezhdunar. konferentsii "Avtomatizatsiya proektirovaniya diskretnykh system" [Proc. Of The Third International Conference "Computer-Aided Design Of Discrete Devices"]. Minsk. 10-12 noyabrya 1999. Minsk: ITK NAN Belarusi Publ., 1999, vol. 3, pp. 64-71. (In Russian).

4. Golubeva O.I. Razrabotka i issledovanie metodov modelirovaniya i otsenki mer testoprigodnosti logicheskikh skhem. Dis. kand.

tekhnicheskikh nauk [Elaboration and research of simulation and testability measures estimation of logical circuits. Engineering Cand. Diss.]. Tomsk, 2000. 112 p.

5. Sellers F.F., Hsiao M.Y., Bearnson L.W. Analyzing Errors with the Boolean Difference. IEEE Transactions on Computers, 1968, vol.

17, no. 7, pp. 676-683.

6. Evtushenko N.V., Matrosova A.Yu. O veroyatnostnom podkhode k vychisleniyu otsenok upravlyaemosti i nablyudaemosti uzla dis-

kretnogo ustroystva [On a Random Approach to the Calculation of Discrete Device Node Controllability and Observability Measures]. Avtomatika i telemekhanika, 1993, no. 11, pp. 152-160.

7. Bryant R.E. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers, 1986, vol. 35, no. 8, pp. 677-691. DOI: 10.1109/TC.1986.1676819

references