УДК 681.326.35.74
ОБЕСПЕЧЕНИЕ ТЕСТОПРИГОДНОСТИ ОРТОГОНАЛЬНО СВЯЗАННЫХ МАТРИЧНЫХ СТРУКТУР
ТАРАНОВ В.Б., КУЛАК Э.Н., КОВАЛЕВ Е.В.
Определены условия, которым должна удовлетворять модифицированная функция базовой ячейки для обеспечения С-тестируемости одномерной и двумерной ортогонально связанных систолических матриц комбинационных элементов (СМКЭ) при использовании минимального числа дополнительных состояний в регенерирующей последовательности.
Введение
Недостаточное обеспечение существующих универсальных ЭВМ средствами обработки больших массивов данных числовой или символьной природы для распознавания изображений, речи и др. в реальном масштабе времени, а также приближение быстродействия полупроводниковых схем к пределу, определяемому законами физики твердого тела, послужило толчком к развитию специализированных вычислительных устройств систолического типа. Такие устройства состоят из идентичных ячеек комбинационного или последовательностного типа и осуществляют параллельно-конвейерную обработку данных [1,2]. С увеличением количества таких ячеек возникает множество проблем, одной из которых является проблема тестирования [3, 4]. Матрица с комбинационным типом ячеек называется С-тести-руемой, если она может быть протестирована постоянным числом векторов, независимым от размера матрицы. Впервые идея С-тестируемости была предложена в [5], а затем получила развитие в [3, 6, 7]. При этом производились попытки сокращения времени тестирования путем изменения способа регенерации тестовой последовательности и числа дополнительных состояний. Минимальное число таких состояний было использовано в [3 ], при этом удалось сократить время тестирования по сравнению с [6], где использовалось то же число дополнительных состояний. Однако был рассмотрен частный случай модификации ячейки, который влечет за собой появление недоопределенных дополнительных состояний при увеличении размерности ячейки.
В данной работе доказаны две теоремы, определяющие способ модификации ячейки матрицы при использовании минимального числа дополнительных состояний в регенерирующей последовательности. При этом формируются более общие условия, которым должна удовлетворять модифицированная функция базовой ячейки, по сравнению с ранее сформулированными.
1. Определения и замечания
Будем рассматривать одномерную и двумерную матрицы. Направление вдоль строки матрицы (горизонтальное) определим как x-направление, вертикальное — y-направление. Входы и выходы ячейки в этих направлениях обозначим x, y, xo, y°
соответственно. При получении входных сигналов x и у ячейка вырабатывает выходные сигналы x°, y°. Этот процесс означает переход из одного состояния (x, у) в другое (x°,y°), т.е. (x,y)^(x°,y°) для двумерной матрицы и (x,y)^x° — для одномерной. Запись y°(x, у), x°(x,y), y°=f(x,y), где f — функция ячейки, означает выходные сигналы ячейки, получившие на входах значение x и y; x и x° могут иметь m различных значений и обозначаться xj , i=1,...m. Для y и y° аналогично — yj, j=1,...,n.
Функция ячейки задается таблицей переходов состояний Sb. Она имеет m строк и n столбцов. Каждой паре i и j соответствует пара входных значений базовой ячейки (y^x^yj ), x°(xi,yj)) — для двумерной и значение (x°(xi,yj)) — для одномерной матрицы.
Модель неисправности такова, что только одна ячейка матрицы может быть неисправной. Неисправность базовой ячейки может привести к изменению одного или более элементов таблицы переходов, т.е. функция неисправной ячейки будет отличаться от функции исправной.
Если в ячейке имеется неисправность, используется запись xc Де или yc /ye , где xc и yc — исправные состояния; xe и ye - состояния, соответствующие неисправности. В этом случае x^x*. и yc*ye, т.е. исправное и неисправное состояния являются различимыми. Переход состояний в каком-либо направлении, скажем, в x-направлении, может представляться как x^x°. Если ячейка имеет неисправность, переход обозначается x^x°c/x°e. Эта запись означает, что если ячейка неисправна, переход имеет вид x^x°e, в противном случае - x^x°c.
Условия С-тестируемости приведены в [3, 6]. Ячейка тестируется исчерпывающим тестом. Матри -ца протестирована, если протестированы все ячейки. Приведем следующие определения.
Функция f является хорошо определенной в каком-либо направлении, скажем, в x-направлении, если для каждого yj є Y не существует двух различных значений xi и xk, {xi,xk^X, для которых выполняется условие f(xbyj)=f(xk,yj).
Функция f в каком-либо направлении, скажем, в x-направлении, удовлетворяет условию зацепления для L состояний ячейки, если множество этих состояний можно упорядочить таким образом, чтобы каждый его последующий элемент являлся функцией предыдущего (для первого элемента предыдущим является последний). Если упорядоченное множество представить как {x1, x2 ,...,x/, ...,xL}, где l — номер элемента в нем, то для него должна выполняться система равенств:
f(x1,y)=x2,
f(x2,y)=x3,
f(xi,y)=xi+1, (1)
f(xL,y)=x1.
Аналогично для y-направления. Очевидно, что функция, удовлетворяющая этому условию, является хорошо определенной, причем аргумент функции не может быть равен ее значению.
РИ, 1998, № 1
91
Если функция удовлетворяет условию зацепления, будем обозначать ее Р.
2. Обеспечение С-тестируемости одномерной систолической матрицы
Теорема 1. Для обеспечения С-тестируемости однонаправленной одномерной СМКЭ необходимо ввести в ячейку минимум четыре дополнительных СОСТОЯНИЯ (хт+1, Уп+1, Уп+2, Уп+з), функция Которых должна иметь следующие свойства:
Я^Уп+^к, i=1,.. .,m+1, k=1,...,m+1, (2)
f(xm+1,yn+2) xo r=1,.. .,m, (3)
f(Xs,Уn+2)=Xm+1, s=1,.. .,m, (4)
f(xm+1,yn+3) xm+b (5)
Я^У^^к, i=1,.. s ^4 и M S (6)
f(xm+1 ,Yw') xm+1, w=1,. ..,п, (7)
для остальных дополнительных состояний
f(xj,yj)=xj, для i=m+2,...,2m, j=1,...,2n, и для i=1,...,m+1, j=n+4,...,2n. (8)
Доказательство. Необходимо показать, что условия С-тестируемости выполняются.
Дополнительное X-СОСТОЯНИЄ (xm+i) необходимо вводить для того, чтобы трансформировать в него неисправность xv, v=1,...,m+1, имеющуюся в тестируемой ячейке, и распространять ее в таком виде ко входу следующей тестируемой ячейки. В противном случае возможна ситуация, когда на входе последней окажется xe^x c, для которого xo(xe,y)=xo(xc,y) (так как функция ячейки не является хорошо определенной), что приведет к маскированию неисправности.
Дополнительные у-состояния (уп+1,Уп+2,Уп+з) будут составлять регенерирующую последовательность. Для удобства разделим ее на две части P1 и P2 (рис.1).
Механизм регенерации состоит в следующем. В части P1 осуществляется переход от состояния Хи(Х[,У№), u=1,..., m к Xm+1, где Xt и У№ (t=1,...m, w=1,...h) -тестовые входы
PI Р2
____________А.____________ л
Xt
rYw У„+1 л r A Уп+2 Уп+3 '
Ґ \ xVx, x^./x Ґ ^ ' Xr/Xjjj+t хУхт+1 зг
Рис. 1. Тестирование одномерной СМКЭ
Очевидно, что условие управляемости в части P1 регенерирующей последовательности выполняется, при этом максимальное число Уп+1 в P1 (максимальная длина P1) равно m.
Так как функция f (2) является хорошо определенной, для каждой ячейки в пределах P1 х0(хе,Уп+1)^х0(хс,Уп+1),если xe^xc, т.е. выполняется условие наблюдаемости и независимости тестовой последовательности и ее длины от неисправности xv, v=1,...m+1.
Рассмотрим часть P2 регенерирующей последовательности. Как отмечалось выше, появление состояния xs^xm+1, s=1,...m (рис.1) означает наличие неисправности в тестируемой ячейке, поэтому xs нужно трансформировать в xm+1, в противном случае необходимо осуществить переход в состояние xr, которое послужит “точкой отсчета” в непосредственной регенерации xt. Для этого необходимо минимум одно дополнительное состояние Уп+2, для которого должны выполняться условия (3) и (4), причем xr может принимать любое из m возможных значений. Для регенерации xt и распространения неисправности требуется еще одно дополнительное состояние Уп+3. Следует отметить, что Уп+1 в этих целях использовать нельзя, так как f(xm+1,yn+1)^xm+1 (это следует из условия зацепления), что не даст возможности беспрепятственно транспортировать xm+1 к следующей тестируемой ячейке. Таким образом, для Уп+3 необходимо выполнение условий (5) и (6).
Для прохождения xm+1 через тестируемые ячейки нужно, чтобы выполнялось условие (7). В последовательности регенерации тестового входа Уп+2 используется только один раз, а Уп+3 может
использоваться максимум m-1 раз.
Очевидно, что условие управляемости матрицы выполняется. Условие наблюдаемости и независимости тестовой последовательности и ее длины от неисправности xv, v= 1,..., m+1 обеспечивается тем, что неисправность трансформируется в состояние xm+1 и распространяется к наблюдаемым выходам
матрицы, вследствие чего неисправное и исправное состояния остаются всегда различимыми.
Введение хотя бы одного дополнительного состояния требует добавления одного дополнительного входа в ячейку, что
Xu/xm+1 ----►
в x- и у- направлениях. Появление вместо xm+1 любого другого состояния xs^xm+1, s=1,..., m будет означать, что в тестируемой ячейке имеется неисправность xu^xv, v=1,..., m+1, поэтому в части P2 регенерирующей последовательности состояние xs должно трансформироваться в xm+1, а xm+1 должно беспрепятственно распространяться ко входу следующей тестируемой ячейки (на рис. 1-3 тестируемые ячейки выделены серым цветом). В случае отсутствия неисправности в части P2 необходимо осуществить переход от xm+1 к xt, т.е. произвести собственно регенерацию тестового входа xt.
Рассмотрим часть P1 регенерирующей последовательности . Для осуществления перехода от xu к xm+1 достаточно одного дополнительного состояния Уп+1, функция которого удовлетворяет условию (2).
в свою очередь приводит к удвоению возможных состояний, следовательно, некоторые значения функции остаются неопределенными. Их следует доопределить таким образом, чтобы условия С-тестиру-емости не нарушались. Наиболее рациональным с точки зрения аппаратной реализации и проверки функции ячейки будет способ, определенный выражением (8).
Действительно, для тестирования перехода xi^xi регенерация не требуется и, следовательно, длина тестовой последовательности равна единице. При этом условие наблюдаемости и независимости тестовой последовательности и ее длины от неисправности выполняется, так как не существует x'^xi, для которого x^fx^), при i=m+2,...2m, j=1,...m+3, и при j=1,...2m, j=H+4,...2H. Рассуждения аналогичны также для случая, когда i=m+1 при j=1,...4 и j=4+3.
92
РИ, 1998, № 1
Необходимо отметить, что условие наблюдаемости матрицы при возникновении неисправности xv, v=m+2,...2m и независимости от нее тестовой последовательности и ее длины будет выполняться, так как условие, выраженное в формуле (8), обеспечивает беспрепятственное продвижение xv к наблюдаемым выходам матрицы.
Таким образом, для приведенных в теореме условий, которым должна удовлетворять функция дополнительных состояний ячейки, С-тестируемость матрицы обеспечивается, что и требовалось доказать.
Следствие теоремы 1.
Для тестирования переходов дополнительных состояний х—х0, где x=xo, регенерация тестового входа не требуется, и длина тестовой последовательности при этом равна единице. При тестировании всех остальных переходов модифицированной таблицы регенерация тестового входа осуществляется с использованием дополнительных состояний yn+i, yn+2,yn+3 и длина тестовой последовательности при этом равна 2m+1.
Пример модифицированной матрицы переходов состояний ячейки представлен в табл. 1, где функция ячейки для yn+i, yn+3 — инкремент, m=n=4, xr=0. Примеры тестирования матрицы с данной таблицей переходов приведены на рис. 2. Для затемненных ячеек тестируется переход (1,2)—>1.
3. Обеспечение С-тестируемости двумерной систолической матрицы
Теорема 2. Для обеспечения С-тестируемости
однонаправленной ортогональной двумерной СМКЭ
Таблица 1
y\v y1 yn yn+1 Уп+2 yn+3 Уп+4
0 1 2 3 4 5 6 7
х1 0 1 2 3 3 1 4 1 0
1 2 2 1 0 2 4 2 1
2 1 0 0 1 3 4 3 2
х 3 3 1 0 0 4 4 0 3
m
Xm+1 4 4 4 4 4 0 0 4 4
х „ 5 5 5 5 5 5 5 5 5
m+2
Xm+3 6 6 6 6 6 6 6 6 6
х . . 7 7 7 7 7 7 7 7 7
m+4
необходимо ввести в ячейку минимум восемь дополнительных состояний (Xm+1, Xm+2, Xm+3, Xm+4, Уп+1, yn+2, yn+3, yn+4), функция которых должна иметь
следующие свойства:
fx(xi,yn+2>=Xk, i=1,...,m+1, k=1,...,m+1, (11)
f(Xm+1,yn+3)=Xr, r=1,...,m, (12)
f(Xs,yn+3)=Xm+1, s=1,...,m, (13)
f(xm+1,yn+4) xm+1, (14)
Р(хі,Уп+3)=хь k=1,. (15)
f(xm+1,yw) xm+1, w=1,...,n, (16)
^хі,Уп+1)=хі, i=1,.. .,m+1, (17)
для остальных дополнительных состояний
f(xi,yj)=xi, для i=m+2,..., 2m, j=1,..., 2n и для i=1,..., m+1, j=n+5,..., 2n. (18)
Аналогично происходит доопределение функций по y-направлению.
Доказательство. Необходимо показать, что условия С-тестируемости выполняются. В теореме приведены свойства для x-направления, так как для y-направления они симметричны.
Для двумерной матрицы необходимо обеспечить выполнение тех же условий С-тестируемости, что и для одномерной матрицы плюс выполнение четвертого условия — передачу без изменений последовательности регенерации тестового входа в заданном направлении. Поэтому общие с одномерной матрицей условия обеспечения С-тестируемости приведем без доказательств (со ссылкой на теорему 1), а подробно остановимся лишь на особенностях двумерной матрицы.
Прежде всего следует отметить, что для двумерной матрицы в y-направлении нужно дополнительное состояние yn+i подобно xm+i в x-направлении, поэтому в обоих направлениях необходимо четыре дополнительных состояния. Способ регенерации тот же, что и для одномерной матрицы, но в данном случае регенерация должна осуществляться в х- и y-направлениях одновременно.
Выражения (11)-(16),(18) следуют из теоремы 1.
Для двумерной матрицы необходимо определить функцию дополнительного состояния yn+1. Наиболее рациональным с точки зрения проверки функции ячейки и аппаратной реализации будет способ доопределения, аналогичный тому, что использован в (8), поэтому данная функция должна удовлетворять (17).
Наконец, передачу без изменений в х-направле-нии регенерирующей последовательности (состояния xm+2, xm+3, xm+4) обеспечивает условие, выраженное в (18).
Таким образом, для приведенных в теореме условий, которым должна удовлетворять функция дополнительных состояний ячейки, С-тестируемость матрицы обеспечивается.
Это и требовалось доказать.
Пример модифицированной таблицы переходов состояний ячейки двумерной матрицы представлен в табл. 2, где функция ячейки для yn+2 и yn+4 — инкремент, m=n=4, xr=0. Пример тестирования матрицы с данной таблицей переходов приведен на рис. 3. Для заштрихованных ячеек тестируется пере -ход (1,0)—(2,3).
В работе доказаны две теоремы, где сформулированы условия, которым должна удовлетворять функция модифицированной ячейки систолической матрицы при использовании минимального числа
Рис. 2. Пример тестирования одномерной СМКЭ
РИ, 1998, № 1
93
дополнительных состояний, участвующих в регенерации тестового входа. Эти условия являются общими для любой размерности базовой ячейки матрицы.
Таблица 2
x\y y1 ... Уп Уп+1 Уп+2 Уп+3 Уп+4
0 12 3 4 5 6 7
x1 0 (1,2) (2,3) (3,1) (3,0) (0,4) (1,5) (4,6) (1,7)
1 (2,3) (2,1) (1,3) (0,0) (1,4) (2,5) (4,6) (2,7)
2 (1,2) (0,3) (0,0) (1,0) (2,4) (3,5) (4,6) (3,7)
x m 3 (3,1) (1,2) (0,2) (0,1) (3,4) (4,5) (4,6) (0,7)
xm+1 4 (4,0) (4,1) (4,2) (4,3) (4,4) (0,5) (0,6) (4,7)
xm+2 5 (5,1) (5,2) (5,3) (5,4) (5,0) (5,5) (5,6) (5,7)
xm+3 6 (6,4) (6,4) (6,4) (6,4) (6,0) (6,5) (6,6) (6,7)
xm+4 7 (7,1) (7,2) (7,3) (7,0) (7,4) (7,5) (7,6) (7,7)
new class of C-testable systolic arrays // Integration VLSI journal. 1989, №8. P.269-283. 5. Friedman A.D. Easily Testable Iterative Systems // IEEE Trans. on Comput. 1973. Vol. C22, №12. P.1061-1064. 6.Elhumi H, VergisA., Kinney L. C-testability of two-dimentional iterative arrays // IEEE Trans. Comput.-Aided Design. 1986. Vol. CAD-5, №4. P.573-581. 7. LombardiF, Huang W.-K. Fault Detection and Design Complexity in C-testable VLSI Arrays / / IEEE Trans. Comput. 1990. Vol. 39, № 12. P.1477-1481.
Поступила в редколлегию 12.02.98
Таранов Виктор Борисович, канд. техн. наук, старший научный сотрудник кафедры АПВТ, ХТУРЭ. Адрес: 310726, Украина, Харьков, пр. Ленина, 14, тел. (0572) 40-93-26.
Кулак Эльвира Николаевна, канд. техн. наук, старший преподаватель кафедры АПВТ, ХТУРЭ. Адрес: 310726, Украина, Харьков, пр. Ленина, 14, тел. (0572) 4093-26.
Ковалев Евгений Викторович, аспирант кафедры АПВТ, ХТУРЭ. Адрес: 310726, Украина, Харьков, пр. Ленина, 14, тел. (0572) 40-93-26.
Литература. 1. СБИС для распознавания образов и обработки изображений / Пер. с англ. / Под ред. К.Фу. М.: Мир, 1988. 248 с. 2. Fuchs W.-K., Earl E, Swarizlander I. Wafer-Scale Integration Architectures and Algorithms // IEEE Computer. 1992. P.6-8. 3. Huang W.K., Lombardi F, Sciuto D. Design and Analysis of C-Testable Arrays // Wafer-Scale Integration II: Proc. 2nd IFIP W610. 5 Workshop, Engham, 23-25 Sept., 1988. P.115-123. 4.Lombardi F. On a
Ptoo. 3. Пример тестирования двумерной СМКЭ
94
PH, 1998, № 1