Easily testable iterative logic arrays - IEEE Xplore

3 downloads 0 Views 1MB Size Report
Abstmct-Iterative logic arrays (ILA) are studied with re- spect to two testing problems. First, a variety of conditions are presented which, when met, guarantee an ...
640

IEEE TRANSACTIONS ON COMPUTERS, VOL. 39, NO. 5 , MAY 1990

Easily Testable Iterative Logic Arrays Abstmct-Iterative logic arrays (ILA) are studied with respect to two testing problems. First, a variety of conditions are presented which, when met, guarantee an upper bound on the size of the test set for the ILA under consideration. Second, techniques are presented for designing optimally testable ILA’s. The arrays that are treated are, in some cases, more general than those that have been reported by other researchers: they include multidimensional and inhomogeneous arrays. Octagonallyconnected arrays, hexagonally-connected arrays, and bilateral arrays also are discussed. The presented results indicate that the characteristics of the individual cell functions (e.g., whether they are bijective) are a good guide to the test complexity of the overall array. Matrix multiplication, as an example, is shown to have several different optimally testable implementations. The results are useful for combinational and pipelined arrays, and for certain systolic arrays.

Index Terms-Bijection, C-testable, cellular array, design for testability, homogeneous array, inhomogeneous array, iterative logic array, multidimensional, systolic array, test.

I. INTRODUCTION

A

DVANTAGES associated with ILA’s, such as simplified design and layout, were known long before the advent of VLSI technology. This motivated research concerned with, among other things, ILA testing. Special advantages associated with combinational ILA’s (i.e., ILA’s with combinational cells) have been known [1]-[3] since the 1950’s. The suitability of ILA’s to integrated circuit technology with respect to design and layout is not their only advantage; they often can be tested economically as well. In this paper, we discuss the testing of combinational ILA’s. The discussion of the testing of ILA’s with sequential cells can be found in [4] and [5]. Definition: An ILA is unilateral when signals propagate in only 1 sense with respect to each axis. It is bilateral when signals propagate in both directions with respect to some axis. Definition: An ILA is homogeneous when it consists of functionally identical cells, otherwise it is inhomogeneous. Definition: A cell in an ILA is a combinational machine = (C,A,f),where f:C-A.Inthispaper,C={O,l}’,A { 0 , 1 } ~ ,for I , O E N . In this paper, and in the work to which we refer, certain assumptions are made. Manuscript received September 9, 1987; revised February 17, 1988. This work was supported by the Office of Naval Research under Contracts N0001484-K-0664 and N00014-85-K-0553. C.-W. Wu is with the Department of Electrical Engineering, National Tsing Hua University, Hsinchu, Taiwan 30043, R.O.C. P. R. Cappello is with the Department of Computer Science, University of California, Santa Barbara, CA 93106. IEEE Log Number 9034540.

Assumption I : The circuit’s behavior is invariant over time. That is, we are not testing for transient errors (e.g., due to cy-particle interference). We also do not consider patternsensitivity or bridging among cells. To completely test an array, therefore, it suffices to verify the function of every cell in the array. Verifying a cell function involves generating input for the cell (i.e., controlling the cell), and propagating faults from the cell (i.e., observing the cell). This model is called the cell fault model, and it has been used as the array-level fault model by most researchers dealing with ILA testing. Assumption 2: There is at most one faulty cell in the array. That is, the single cell fault model is adopted in this paper. Some work has been reported for detecting multiple faulty cells in unilateral homogeneous ILA’s, (see, e.g., [6]-[8]). In some cases, LSSD (or scan design) can be adopted for ILA testing with a minimum hardware overhead and performance penalty (see, e.g., [9] and [lo]). In general, it is difficult to minimize the hardware overhead [ 111. Incorporation of a scan path requires special design rules; using these may increase the design time. For a big array partitioned into many cells, the number of LSSD latches can be large. This introduces two problems. First, a tester for this purpose will be more expensive since a larger memory space is required. A test pattern must be entirely shifted in, and its result shifted out. Second, the generality of this method has a cost in test application time, because the scanning process is bit-serial. Test time and tester cost can be reduced by using built-in testing (see, e.g., [12]), but hardware and design costs may increase. It therefore is important to classify those ILA’s which can be tested with only a few tests (also known as “test patterns” or “experiments”) without modifying their circuitry. Attention to the test complexity of an ILA (i.e., the number of tests required as a function of the size of the ILA) dates back at least as far as 1967, and has continued steadily ever since. Unilateral homogeneous ILA’s have received the most attention. In 1967, Kautz [13] investigated the complexity of exhaustively testing a unilateral homogeneous ILA. He gave necessary and sufficient conditions for testing one-dimensional arrays, and sufficient conditions for testing two-dimensional arrays, with a minimum number of tests. In 1971, Menon and Friedman [14] studied a broader class of homogeneous one-dimensional and two-dimensional arrays with regard to testability. Again, necessary and sufficient conditions were given for testing linear ILA’s, and sufficient conditions were given for testing two-dimensional ILA’s. A test generation procedure for one-dimensionalarrays was proposed.

001 8-9340/90/05OO-0640$01.OO 0 1990 IEEE

641

WU AND CAPPELLO: EASILY TESTABLE ITERATIVE LOGIC ARRAYS

Landgraff and Yau [ 151 also studied sufficient conditions for testing homogeneous one-dimensional and two-dimensional ILA’s at about the same time. Test generation procedures were presented for one-dimensional and two-dimensional arrays. Procedures for modifying these arrays to make them testable also were presented. In 1973, Friedman [16] presented sufficient conditions for testing homogeneous linear ILA’s with O( 1) tests (i.e., a number of tests that is independent of the number of cells in the array), which he called C-testable. In 1974, Sung and Coates [17] characterized those unilateral homogeneous binary two-dimensional ILA’s for which all cells in the array receive all four inputs. By binary we mean that both the vertical and horizontal inputs of the cell have only binary values. In 1976, Dias [7] considered the problem of testing a linear homogeneous ILA with 0 ( 1 ) tests. He used the truth-table verification method, and assumed that any number of cells can be faulty at any time. In 1981, Sridhar and Hayes [18] showed how the onedimensional iterative array structure of carry-ripple bit-sliced systems can be used to derive an O(1) test sequence. They decompose the sequential system into sets of unilateral homogeneous ILA’s. In November of the same year, Sridhar and Hayes [19] continued their investigation of bit-sliced systems reporting on properties of iterative logic arrays that simplify testing. Along the way they presented a necessary condition for a bilateral homogeneous ILA to be testable with O( 1) tests. They also introduced the notion of I-testable, where identical test responses are obtained from every cell in a functionally correct iterative logic array, simplifying fault detection. These ideas are applied to bit-sliced systems, and especially to a self-testing CPU. Also in 1981, Parthasarathy and Reddy [20] studied the problem of fault detection and location, mainly in onedimensional unilateral homogeneous ILA’s. A condition called one-step testability was proposed which decreases the size of the test set (since the condition is more stringent). Aboulhamid and Cerny [ 121 proposed a built-in-testing structure for one-dimensional unilateral homogeneous ILA in 1984. The structure is derived from a property they call pZtestable, which means partitioned I-testable. Bilateral homogeneous ILA’s have been studied by Gray and Thompson [21], and in 1986 by Vergis and Steiglitz [22]. Late in 1986, Elhuni, Vergis, and Kinney [23] generalized Friedman’s idea and presented sufficient conditions for testing two-dimensional arrays with O( 1) tests. In this paper, we present conditions for classifying easily testable ILA’s and techniques for designing arrays with a minimum number of tests. The techniques also guarantee that the test set is easy to generate. The class of arrays that we treat includes multidimensional and inhomogeneous arrays. We also discuss octagonally-connected arrays, hexagonally-connected arrays, and bilateral arrays. We show that the characteristics of the individual cell functions (e.g., whether they are bijective) are useful in classifying many kinds of arrays that can be tested with a provably minimal test set. Moreover, we show

that such an array’s minimal test set is easy to generate. As an example, we show that several different implementations of matrix product are optimally testable (in the sense just described), Our results are useful for both pure and pipelined combinational arrays, and certain systolic arrays. The balance of the paper is organized as follows. Some work by other researchers on homogeneous arrays is reviewed, and in some cases generalized. Results for the inhomogeneous case then are presented. Inhomogeneous arrays have become important with advances in computer-aided design of VLSI circuits. Many circuits, for example those used in signal processing and digital communication, perform the same transform on successive input data. Application-specific nonprogrammable circuits that perform a particular transform, such as a particular FIR fiber or linear transformation, can be produced economically with CAD tools (see, e.g., [24] and [9]). There are many design and fabrication advantages to doing so. This however introduces the need to test inhomogeneous ILA’s. We finally present some circuit design techniques that ensure economical testability. 11. REVIEW OF TESTABILITY CONDITIONS We review in this section some reported work on testability conditions of one- and two-dimensional unilateral homogeneous arrays. Unless otherwise specified, the terms array and ILA refer to a unilateral combinational iterative logic

array. To discover the combinational machine that a cell implements, it is sufficient to apply all i E C , observing for each i the resulting j E A . Fig. 1 depicts a linear ILA, a twodimensional ILA, and the notation for cell input and output. Unless specified, a linear ILA has vertical ( 9 ) outputs as shown in the figure. In what follows, let C = Cx x CY, where Ex is the horizontal input set and CY is the vertical input set of a cell. Similarly, A = Ax x AY, where A x is the horizontal output set and A y is the vertical output set of a cell. When the array is homogeneous, Ex = A x and CY = AY. It is useful to view cell function f with respect to its horizontal input and output for a fixed vertical input. The following definitions aid this view. Definition: The x-projection off, f ” : Cx x CY + A x , is defined to be f x ( i , j ) = i, where f ( i , j ) = (i, j ) . The y-projection off is defined analogously. Notation: We say f is x-injective when V j , ‘dil # i2, f ( i l , j ) # f (i2, j ) ; we say f is x-bijective if it is x-injective and Ex = A x (note that if AY = 4 then we also may say f is x-bijective). Y-injective and y-bijective are defined analogously. Definition: An x-fault exists when 3(i, j ) E C such that f x ( i ,j ) = t/i’ where i is the intended horizontal output but i’ # i is the actual horizontal output. A y-fault is defined analogously. A cell is faulty when it has either some x-fault or some y-fault. Definition: Let A be an m x n ILA whose cells have input in Ex x C y . A test t of A is a string in (Ex), x (CY)” (see Fig. 2). That is, t constitutes input for the boundary cells of A . A partial test provides input for some contiguous subset of A’s boundary cells. A vertical partial test of A provides input

642

IEEE TRANSACTIONS ON COMPUTERS, VOL. 39, NO. 5 , MAY 1990

*...+

**..

-0-o.o.: . ..

. + l

*...+

Y

Fig. 1.

;

partialA;t

A linear array, a 2-D array, and the notation for cell input and output.

a vertical partial test 1 od

1 1

Fig. 2 .

A test 11 10110010 is applied to the array. The figure indicates that 101 10 is a partial test, and 010 is a vertical partial test.

for some contiguous subset of cells along A's horizontal input boundary (see Fig. 2 ) . A horizontal partial test is defined analogously. Definition: A test set, denoted as T , for an array is a set of tests which detects the existence of any faulty cell. The minimum test set of the array is denoted as T,. Definition: If T i s a test set of a k-dimensional ILA, where IT1 = g ( n ) , g : N k + N , and n € N k , then we say the array is g(n)-testable. Notation: Let J = j l j 2 . . . jk be a vertical partial test of an array. The horizontal output of the rightmost cell of the subarray which takes the vertical partial test J is denoted by

f x ( i *J ) = f

"(' ' ' f x ( f " ( i 9 j l ) ,

j 2 ) 9 ' ' ' 9

jk);

f y ( I , j ) analogously denotes the vertical output of the bottom cell of the subarray which takes the horizontal partial test I. Necessary and sufficient conditions for a linear homogeneous ILA without vertical output to be O(1)-testable (i.e., the size of a test set is independent of the array size), originally given by Friedman [ 161, are provided by the following theorem. Theorem 2.1: A linear homogeneous ILA which has no vertical output is O( 1)-testable if and only if V(i, j ) E C and Vi/!' such that f " ( i , j ) = a vertical partial test R such that 1) f x ( i , j R ) = i , and 2 ) Vl(Rj)' propagates the fault ?/i'. Notation: Iu I denotes the length of the sequence U . Is1 denotes the number of bits of string s. For a homogeneous array, let w = x f y denote the number of input bits of a cell, where x is the number of horizontal input bits and y is the number of vertical input bits. In Theorem

2.1, there are 2" possible inputs for a cell, and for each input ( I , j ) E C, there are 2x - 1 possible x-faults, namely i/?, i' E A x - {i}. For each cell, we have to consider all these 2w(2x - 1) situations, since the R chosen may depend on the fault. The existence of R guarantees that the test of any fault associated with any input of a cell is repeated every ( j R I / y cells. That is, the array is partitioned into blocks of ljRI/y cells each (VRI is the number of bits in the partial test and y is the number of bits per cell, so IjRI/y is the number of cells per block), and the number of tests for the whole array is equal to that for a single block. To test every cell in the block for a given fault associated with a given input, the test can be applied first to the leftmost cell in the block, then to the cell to its right, and so on until all the cells in the block have had this test applied. Therefore, at most ljRI/y tests (i.e., the number of cells in a block) are required for a given fault, and IT, I 5 2" (2x- 1) IjR I / y . If 3R such that Vi' E Cx - { i ) , f x ( i , ( R j ) ' )# f x ( i ' , ( R j ) ' ) ,then IT, I 5 2" IjRI/y. Since the same R works for all i' E Cx { i } ,the factor 2x - 1 is eliminated in the expression for IT, I. A homogeneous ILA that meets these conditions is called onestep-testable by Parthasarathy and Reddy [20]. When vertical output is observable, a fault does not always have to be propagated to the rightmost output. The following example given by Kautz [13] and Dias [7] illustrates such a case when the upper bound of IT, I can be reduced further. Definition: A complete input sequence of a cell contains every element of E. A complete output sequence of a cell contains every element of A . Example I : Fig. 3(a) depicts a carry-ripple binary adder implemented as a homogeneous linear array of full-adder cells. Fig. 3(b) presents the cell transition table (or flow table). Fig. 3(c) is the corresponding transition graph (or flow graph). The transition graph is Eulerian (i.e., a directed graph that has a directed circuit in which every edge appears exactly once [25]). The sequence of edge labels along this Eulerian circuit constitutes the partial test j R in Theorem 2.1, where ljRI/y = 2" = 8. The input generation condition 1) of Theorem 2.1 thus is satisfied. Faults are propagated to an observable output: a y-fault is observed at the vertical output of the faulty cell; an x-fault is observed at the vertical output of the neighboring cell. This is because, as an inspection of the transition table reveals, the y-projection o f f ( f Y ) is xinjective. The adder is therefore O( 1)-testable.

WU AND CAPPELLO: EASILY TESTABLE ITERATIVE LOGIC ARRAYS

*..+

c/

yollw 643

0

WO 011 O H 110

1111

1 0/1 1/0 110 111

s

f i 1i-I 0)

(a) Fig. 3.

1111

0010

(c)

The binary ripple-carry adder for Example 1.

Since the transition graph is Eulerian, there exists a cycle in the graph consisting of all possible inputs for a cell. The sequence of edge labels along this cycle constitute the partial test J R in Theorem 2.1. We therefore can apply any ( i ,j ) E C to the first cell, knowing that each cell in the same block (of ( j R1 / y cells) gets a different input. As we circularly shift the test 2" times, every cell in the block gets all its inputs applied. So the array can be tested with just ljRI/y = 2" = 8 tests.0 The following corollary follows from Dias's observation. Corollary: Let A be a linear homogeneous ILA. Iff Y is xinjective and the x-transition graph is Eulerian, then the array is 2"-testable. 1. IT) = 2" clearly The premises imply that [ A y1 2 )Ex is minimal. This corollary holds even when the x-transition graph is not Eulerian, but consists of disjoint Eulerian subgraphs (i.e., Vi1, i 2 E Ex the number of times that i l appears in the x-transition table equals the number of times that i2 appears in the x-transition table). Kautz [13] has a general study of the 2"- testability problem, which is summarized in Theorems 2.2-2.5. The proofs for Theorems 2.2, 2.4, and 2.5 are our own. Theorem 2.2 is more general than that given by Kautz . Notation: Let Z = i l , i 2 , . . . , i n be a sequence such that i k E Ex, and J = j l , j , , . . . , J n be a sequence such that j , E CY. Then ( I , J ) denotes the input sequence ( i l , j l ) , ( i 2 , j 2 ) , . . . , ( i n j, d . Theorem 2.2: Let A be a linear homogeneous ILA without vertical output (i.e., AY = I$), and with cell function f. A is 2"- testable if and only iff is x-bijective. Proof: Assume that A is 2"-testable, but that f is not xbijective. We apply a minimal complete input sequence, which has a length of 2w, to the first (leftmost) cell (see Fig. 4). Since Cy = A x and f is not x-bijective, there exists j and il # i 2 such that f ( i l , j ) = f ( i 2 , j ) (note that AY = I$), that is, the vertical input j of the second cell will not propagate the fault i 1 / i 2 generated by the first cell. Since A is 2w-testable, a minimum complete input sequence must be applied to every cell. The input ( i l , j ) therefore is an element of the input sequence to the second cell. Since j is unable to propagate i l / i 2 , A is not 2"-testable. This contradicts the assumption. Now let the cell functionf be x-bijective, and a = ( I , J ) be a minimal complete input sequence to cell,. I is the sequence of the horizontal parts of the inputs, and J is the sequence of the vertical parts of the input sequence. Since a is a minimal complete input sequence, IuI = 2". Let the sequence of horizontal outputs of celll be Z'. If celll is faulty, then since f is x-bijective, any fault will be propagated horizontally through cell2. If cell1 is not faulty, then since f is x-bijective and Ex = A x , (Z', J ) is a complete input sequence for cell2, The number of inputs needed to test the first two cells therefore is

&... Fig. 4. A minimal complete input sequence cf is not bijective) applied to a linear homogeneous ILA without vertical output.

Iu I = 2". By induction, the entire linear array is 2"-testable. 0

Theorem 2.3: A linear homogeneous ILA is 2"testable H cell function f is x-injective and its x-transition graph consists of disjoint Eulerian subgraphs. Theorem 2.4: If a two-dimensional (rectangular) homogeneous ILA has a bijective cell function, then it is 2"-testable. Proofi Since f is bijective, C = A . And we know that = 2". Let a = ~ 1 . .~. 2 be a minimal complete input sequence. Any permutation of U also is a minimal complete input sequence. Let a be the set of 2"! such permutations. Since f is a bijection, ?r is also the set of minimal complete output sequences. A minimal complete input (output) sequence subsequently may be referred to simply as a complete sequence. Let f (a) denote the complete output sequence that corresponds to the complete input sequence U . Given complete sequence U , define complete sequence a; inductively as follows:

1x1

E

a1 0;

~

W

=a

= f (0;-1)

U; = (Zi, J ; ) . Given complete sequence ( T I , we construct, for each cell in the array, a compatible complete input sequence. The construction begins by applying a1 to celll1,obtaining complete sequence a 2 = ( 1 2 , 5 2 ) . We then apply u2 to cell21 and celll*, obtaining complete sequence a3 = (13, 53). We then apply u3 to cell31,cell22,and cellls, obtaining complete sequence ~ 7 4= (14, J 4 ) . Repeating this process, we construct a complete input sequence for each cell in the array. All cells whose indexes sum to the same number (lay on the same 45" line) use the same complete input sequence. Kautz [ 131 refers to such a test pattern as a +45" tessellation [see Fig. 5(a)]. We assert that, using this test pattern, any fault is propagated to some observable output. The reasoning is as follows. Any x-fault (y-fault) results in an input change to the cell's horizontal (vertical) neighbor cell. Since f is a bijection, this input change is propagated to an output change. Bijectivity ensures that the change continues to ripple to some external output. If a cell has both an x-fault and a y-fault, the faults cannot mask one another. Fig. 5(b) indicates the region of the array through which the fault(s) must propagate. The faulty cell is marked with a cross ( x ) sign. The fault is propagated to one (or more) of the external output terminals of the shaded 0 region.

644

IEEE TRANSACTIONS ON COMPUTERS, VOL. 39, NO. 5 , MAY 1990

(a) Fig. 5 .

@)

(a) Two-dimensional +45' tessellation. (b) Fault-propagation region of Theorem 2 . 4 .

z

I

Y/

I

/

...

... 1 Fig. 6.

P 4

Two-dimensional

- 45'

tessellation.

t Fig. 7.

Theorem 2.5: If a two-dimensional homogeneous ILA has a cell function f such that f " is x-bijective, and fY is ybijective, then the ILA is 2"-testable. Pro08 Let A be a two-dimensional homogeneous ILA with a cell function f such that f " is x-bijective, and f Y is ybijective. Instead of a +45" tessellation, we construct a -45" tessellation, as indicated in Fig. 6. With such a tessellation, 1) every cell gets a minimal complete input sequence, and 2) any truth table fault is propagated to an observable output. J1) be a minimal complete input sequence. We Let u1 = (11, construct a tessellation that applies U ] to each cell on the diagonal of the array. This is indicated in Fig. 6. The cells above the diagonal accordingly receive 12 as their horizontal input sequence, and produce Jl as their vertical output sequence. We thus need to find a J3 such that f Y ( I 2 , J 3 ) = J1 . Since f is y-bijective, Vi E Ex,V j E CY(= A y ) , 3!j' E CY such that f Y ( i , j ' ) = j . Therefore, given sequences 12 and J1 there exists a unique sequence 53 such that f Y(Z2,J3)= J I. Since F x is x-bijective, (12, 51) is minimal complete (see C ~ I I ~ofJ Fig. 6 ) . Since f is y-bijective, (12, 53) is minimal complete (see celll,2 of Fig. 6 ) . Similarly, given sequences 11 and J2 there exists a unique sequence 13 such that f ' ( 1 3 , 5 2 ) = ZI,and (13, 52) is minimal complete. By induction, we may construct minimal complete input sequences for all cells. Fault propagation also follows from the fact that f is xbijective and fY is y-bijective. Since f x is x-bijective, different horizontal inputs of a cell produce different horizontal

Three-dimensional ILA.

outputs, given any vertical input. Any x-fault therefore will be propagated to the right to the row's external output. Similarly, the y-bijectivity of f Y implies that any y-fault will be propagated down to the column's external output. A faulty cell may produce both x-fault and y-fault at the same time. These faults will both be detected; they cannot mask one another because 0 they travel nonintersecting paths through the array. 111. MULTIDIMENSIONAL AND INHOMOGENEOUS ARRAYS In this section, we discuss both multidimensional ILA's and inhomogeneous ILA's. Theorem 2.4 first is generalized to the k-dimensional case, for k E N . For example, if we have an m x n x I array as shown in Fig. 7, then the following threedimensional +45" tessellation guarantees 2" -testability: Apply any minimal complete input sequence U 1 = (11 , J 1 , K1) E ?r to celll,l,l,obtaining complete sequence u2 = (12, J2, K2). Then u2 is applied to celll,~,2,ce111,2,1, and celI2,1,1,obtaining complete sequence 6 3 = (13, J3, K3). Then u3 is applied to cell1,1,3,cell1,3,1, cell3,l,l, ce111,2,2, cel12,1,2, cel12,2~,obtaining complete sequence u4 = ( 1 4 , J4, K 4 ) . Repeating this process, we construct a complete input sequence for each cell in the array. All cells whose indexes sum to the same number (these cells reside in the same diagonal plane) use the same complete input sequence.

Theorem 3.1: If a k-dimensional homogeneous ILA has a bijective cell function, then it is 2"-testable.

645

WU AND CAPPELLO: EASILY TESTABLE ITERATIVE LOGIC ARRAYS

Proof: The proof is similar to that for Theorem 2.4. The +45" tessellation procedure is generalized to k dimensions as indicated by the three-dimensional case shown above. fl Theorem 2.5 indicates that if a homogeneous array's cell function f is such that f is x-bijective and f is y-bijective, then the generation of inputs and propagation of faults can B occur simultaneously along the horizontal and vertical paths Fig. 8. Tessellation plane of Theorem 3.2 of the array. This also generalizes to multidimensional arrays. We present the three-dimensional case. 2) (11,J2,K~)isminirnalcomplete 3 1 3 ( I l , J l , K l ) Definition: Let A be a homogeneous three-dimensional array with cell function f : Cx x CY x Cz A x x AY x AZ, is minimal complete. 3 ) ( Z I , J1, K2) is minimal complete 5 XI 3 (11, J1, K1) as shown in Fig. 7. Let f be the projection o f f onto A x . is minimal complete. We say that f is x-bijective when 4) (12, J2, K I )is minimal complete 311,J I 3 ( 1 1 J, I , Vi1 #i2 E Ex,V j E C y , Vk E Cz, K 1 )is minimal complete. f x ( i l , j y k )f f x ( i 2 , j r k). 5 ) (II,J2,K2)isrninimalcomplete3 3 1 , K l 3(11, J1, K 1 ) is minimal complete. The definitions of f being y-bijective and f being z - bi6 ) ( 1 2 , J I ,K2) is minimal complete 3111, K I 3 (11, J1, jective are analogous. We say that f is I-bijective when it is K 1 ) is minimal complete. bijective with respect to all dimensions. Proof: We show that 1) is true. Assume (12, J1, K1) is Let f x y be the projection off onto A x x A y . We say that minimal complete, then no two elements in it are equal. Since f xY is xy-bijective when f is 1-bijective, f " is x-bijective. Moreover, ICx( = [ A x [ , so V j E E", k E C z , # i 2 E A x ,there exist il # i2 E Cx Vk E Y i I , j l ) # ( i 2 9 j 2 ) # c" x such that il = f x ( i l ,j , k ) and ; 2 = fx(12,j , k ) . Therefore, f x Y ( i I , j l , k) # f x Y ( i 2 , j 2 , k ) . there exists ZI such that (ZI,J 1 , K1) is minimal complete. The proof of 2)-6) can be done in a similar way, except The definitions of xz-bijective and yz-bijective are analogous. 0 We say that f if 2-bijective when it is bijective with respect that 2-bijectivity is used when proving 4)-6). Theorem 3.2: If a three-dimensionalhomogeneous ILA has to all pairs of dimensions. Lemma 3.2.1: Let f , a 1-bijectiveand 2-bijective function, a cell function that is both 1-bijectiveand 2-bijective, then the be the cell function of a three-dimensional homogeneous ILA. ILA is 2"-testable. Proof: Let A be a three-dimensional homogeneous ILA Let U = (ZI,J1, K1) be an input sequence, and (12, J2, K2) be the corresponding output sequence. If U is minimal with a cell function that is both 1-bijective and 2-bijective. J I , K2), ( 1 1 , In what follows, we construct a tessellation of the threecomplete, then (12, J 1 , K I ) , (11,J 2 , K I ) , (11, dimensional mesh: if Celli,jk has sequence U applied to it, J 2 , K2), ( 1 2 , J I ,K2), and ( 1 2 , J2, K I )are minimal complete. then celli+ljk+l and cellij+lp+l also have sequence U apProof: Since f is 1-bijective, f " is x-bijective. That is, Vi1 #i2 E E x , V j E C y , k E C z , f"(i1, j , k) # f x ( i 2 , j , plied to them. All these cells rest on a same plane as depicted k ) . Since U is minimal complete, no two elements in it are in Fig. 8. In the figure, the mesh is tessellated by planes that equal, i.e., if both ( i l , j , k ) and (i2, j , k ) are in U then are parallel to the plane defined by points A , B, and C. Let U = ( 1 1 J1, , K l ) be a minimal complete input sequence. We il # i 2 . This implies that f x ( i l , j , k ) # f x ( i 2 , j , k ) , so no two elements in (12, J1, K1) are equal. Because (Cl = ( A1, apply ~7to celll,1,1, and all other cells on the same diagonal and IuI = ( ( 1 2 , J I , K I ) ( ,( 1 2 , J1, K1) is minimal complete. plane. Let ( 1 2 , J2, K2) denote the resulting output sequence. The minimal completeness of ( 1 1 ,J 2 , K I )and ( 1 1 ,J I , K2) The cells on the plane above this one then receive 1 2 and J2 as their input sequences along the x and y axes, respectively. can be proved similarly. Sincef is 2-bijective, f x y is xy-bijective. That is, Vk E C z , The cells on the plane below receive K2 as their input seW j l , j l ) # (i2, j 2 ) E Ex x f x Y ( i l j, ~k), # f x Y ( i 2 ,j 2 , quence along the z axis. The construction is partly shown in k ) . Since U is minimal complete, no two elements in it are Fig. 9. We need to show that this construction is realizable. equal, i.e., if both (il, j ~ k ), and (i2, j 2 , k ) are in U then In Fig. 9, the input and output sequences of celll,l,l,ce111,2,2, are first specified. Since U is minimal complete, ( i l , j 1 ) # (i2, j 2 ) . This implies that f x Y ( i l j, l , k ) # f X - " ( i 2 , and j 2 , k ) , so no two elements in (12, J2, K 1 )are equal. Because (12, J2, K1) is minimal complete, according to Lemma 3.2.1. 1x1 = (AI, and (01 = ((12,J2, K 1 ) ( ,( 1 2 , J2, K1) is minimal According to Lemma 3.2.2, there exists K3 for ce111,2,1and complete. The minimal completeness of (II , 52, K2) and ( Z 2 , celI2,,,l such that their common input sequence (12, J 2 , K3) 0 is minimal complete. This sequence also is applied to cell2,2,2. J I , K2) can be proved similarly. Lemma 3.2.2: Let f , a 1-bijectiveand 2-bijective function, Let the corresponding output sequence be ( 1 3 , J3, K I ) ,then be the cell function of a three-dimensional homogeneous ILA. Lemma 3.2.1 shows that (13,J 3 , K3) is minimal complete. Let (11, J I , K I ) denote an input sequence and (Z2,J 2 , K 2 ) Lemma 3.2.2 shows that there exists Kq such that the input sequence (13,J 3 , K4) of ell^,^,^ is minimal complete. Simidenote the corresponding output sequence. 1) ( 1 2 , J I ,K1) is minimal complete + 313 ( 1 1 J, I ,K I ) larly, there exists 1 4 and Jq such that the input sequence ( 1 4 , J 4 , K2) of ~ e l l l ,is~ minimal ,~ complete. This completes the is minimal complete.

*

--f

*

*

cz,

cy,

cy,

IEEE TRANSACTIONS ON COMPUTERS, VOL. 39, NO. 5, MAY 1990

646

linear arrays, however, we show in Theorem 3.3 that homogeneity is not required for the array to be 2"-testable. We redefine w 4 m a x l ~ p < {nw , } , where w, = xp + y p . It is reasonable to assume that for all cell, of a linear array, x, = X I , C2; = A i - , , and for all of a = AXp,q-l, and two-dimensional array, x , , ~ = X,J, Y,,q =Yl,q, %.q = q - 1 , q . Theorem 3.3: Let A be an inhomogeneous linear ILA of size n. If the x-projection of A's cell functions (i.e., f;, 1 5 p 5 n ) are all x-bijective, then it is 2"-testable. maxllp