Professional Documents
Culture Documents
MAY 1988
Abstract-This paper addresses the problem of finding a universal gate-level circuits. In such a circuit the inverters can be
test set for CMOS circuits, which can be derived from the functional present 'only at the primary inputs, the rest of the circuit
description alone. It is shown that for a restricted class of CMOS cir-
cuits, the gate-level universal test set (UTS,) consisting of maximal false
is assumed to be made up of AND and OR gates only. How-
vectors and minimal true vectors can sensitize every detectable stuck- ever, these results are also valid for other circuits which
open fault in the circuit. A universal initialization set (UIS) is defined can be reduced to the above class of circuits using De
which can also be derived from just the functional description, and Morgan's theorem. Consider a circuit in which all the
which contains initialization vectors for each of the test vectors. This
paths starting from the primary inputs and meeting at the
set consists of maximal true vectors and minimal false vectors. It is
shown that a test set based on UTS, and UIS can be guaranteed to
input of any gate have the same inversion parity (either
detect every detectable stuck-open fault in both redundant and irre- an odd number of inversions or an even number). A gate-
dundant CMOS implementations of the function, even in the presence level (CMOS) circuit satisfying this property will be re-
of arbitrary delays and timing-skews. The size of the test set is also ferred to as a restricted gate (CMOS) circuit. It is easy
investigated. to see that many restricted gate or CMOS circuit imple-
mentations exist for every function. Using arguments from
I. INTRODUCTION [13] one can show that the universal test set is valid for
1-
GUPTA AND JHA: TEST SET FOR CMOS CIRCUITS 59 I
I I- 1
592 IEEE 1'RANSACTIONS ON COMPUTER-AIDED DESIGN. VOL 7. NO. 5 . MAY 1988
TABLE 111
UIS FOR f = ab + ac
0 0 0
C. Robustness of UTS,
We are now in a position to find out if our universal test
set remains valid in the presence of arbitrary delays.
Dejinition 6: Let 6, and 6, be two expanded vectors in
the expanded truth table of a function f. Then (6, 6,) +
is the vector obtained by a bitwise OR of the vectors 6,
Fig. 2. A redundant restricted CMOS circuit implementation off = ab + and 6,.
ac. For example, (011 +
101) is the vector 111.
Dejinition 7: Let 6, and 8, be two expanded vectors in
the expanded truth table of a function f. Then ( 6, . 6,) is
TABLE I1
the vector obtained by a bitwise AND of the vectors and
62.
For example, (01 1 * 101) is the vector 001.
Lemmas 4 and 5 serve to establish a basis for ensuring
1 0 1
the robustness of a two-pattern test by comparing a par-
1 0 0 ticular two-pattern test with another two-pattern test which
0 1 1 02 is known to be robust.
Lemma 4: For a restricted CMOS circuit let ?i2 be an
expanded true test vector and 6, the corresponding ini-
which can serve as an initialization vector for some stuck- tialization vector such that ( 6 , , 6,) is a robust two-pattern
open fault sensitized by a true test vector, but no vector test for detecting some stuck-open fault 4,. If (a;, 6;) is
belonging to Io can do so. We know from Lemma 2 that another two-pattern test for detecting 6,such that (6; +
a true test vector tests for stuck-open faults in PMOS net- 6;) I(6, + 6,), then (61, 6;) is also robust.
works of even-numbered CMOS gates and nMOS net- Pro08 From Lemma 2, to invalidate a two-pattern
works of odd-numbered CMOS gates on the sensitized test comprising of a true test vector, a spurious conduc-
path. To initialize the output of a CMOS gate for detect- tion path must get activated through the nMOS network
ing a fault in one of its networks, we need to establish a of an odd-numbered gate or the PMOS network of an even-
conduction path through the complementary network, i.e., numbered gate on the sensitized path. This can happen if
the nMOS networks of even-numbered gates and the there exists a vector &, (6, * 6,) Ia3 I( 6 , +
S,), that
PMOS networks of odd-numbered gates on the sensitized establishes such a spurious conduction path. Since ( h l ,
path. Since uiis not in Io there must be a vector tiE Io 6,) is a robust two-pattern test, clearly, there does not
such that t i 5 U ; . Thus, in the transition ui+ t ithe only exist such a vector 6,. In particular, the vector ( 6i +
6,)
changes in the different bits can be from 1 to 0. From does not establish such a spurious conduction path. Since
Lemma 3 , the only resultant change can be from 1 to 0 at +
(6; 6;) I( 6 , +
6,), we know from Lemma 3 that the
the outputs of even-numbered gates and from 0 to 1 at the +
only additional conduction paths that (6; 6;) can estab-
outputs of odd-numbered gates. Thus the output of the lish apart from the ones established by (6, +
6,) are
faulty CMOS gate initialized by uiwould also be initial- through the nMOS networks of even-numbered gates and
ized by ti.This contradicts our initial assumption and, the PMOS networks of odd-numbered gates. Thus (6; +
hence, the theorem follows. 0 6;) cannot establish a spurious conduction path. Hence,
-_
-1- - --
1 1-
p
594 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN. VOL. 7, NO. 5. MAY 1988
6; 5 (6; 6;) that establishes a spurious conduction Let 6, be an expanded true test vector and (S,&&a
path. (Si, A;), therefore, is a robust two-pattern test for robust two-pattern test in V for a set of single stuck-open
detecting 0 faults. From Lemma 2, 6, tests for stuck-open faults in
Lemma 5: For a restricted CMOS circuit let 6, be an the nMOS networks of odd-numbered gates and the PMOS
expanded false test vector and the corresponding ini- networks of even-numbered gates on the sensitized path.
tialization vector such that (A1, 6,) is a robust two-pattern Since is the initialization vector for A,, it must establish
test for detecting a stuck-open fault d I . If (ai, 6;) is an- conduction paths through PMOS networks of odd-num-
other two-pattern test for detecting such that (6;* 6;) bered gates and nMOS networks of the even-numbered
-
2 (6, A 2 ) , then (6[,6;) is also robust. gates on the sensitized path. From the definitions of the
Proot Analogous to the proof of Lemma 4. 0 UTS, and the UIS, there must exist an expanded true vec-
Lemma 6: If R is a restricted CMOS circuit which is tor a E UTS, and an expanded false vector i E UIS, such
monotonic in the expanded vectors in the fault-free case, that a 5 and 5 It can be easily shown that a
then R remains monotonic even in the presence of a stuck- sensitizes all stuck-open faults sensitized by 6,. In the
open fault. transition a -+ 6, the output of an odd-numbered gate can
Proot Let g be the CMOS gate with the stuck-open only change from 1 to 0 and that of an even-numbered
fault. We recall that the monotonic property for the re- gate from 0 to 1. Thus if a does not test for some stuck-
stricted CMOS circuits considered in Section I11 follows open fault, i.e., the circuit output is 1 even in the presence
directly from the fact that, if 61 and 6, are two expanded of the fault, then, from Lemma 6, 6, also cannot test for
vectors such that L then in the transition + 6, that fault. Further, since 4 Idl, in the transition 6, E +
the output of an even-numbered gate can only change from the output of an odd-numbered gate can only change from
1 to 0, while the output of an odd-numbered gate can only 0 to 1 and that of an even-numbered gate from 1 to 0. As
change from 0 to 1. Analogously, in the transition li2 +
a result, E initializes the circuit for each of the faults that
6, the output of an even-numbered gate can only change 6, initializes the circuit for. Since a! I6, and t I61, ( a
from 0 to 1 , while the output of an odd-numbered gate + +
4 ) I (6, 6,). From Lemma 4, (E, a ) is also a
can only change from 1 to 0. We need to only show that robust two-pattern test for all the stuck-open faults de-
the above property holds even when the stuck-open fault tected by (li1, 6,).
is present. Now assume that ( A 1 , 6,) is a robust two-pattern test in
Let the faulty gate g be an even-numbered gate. Con- V in which 6, is an expanded false test vector. There must
sider the transition -+ 6*. All inputs to the gate g are exist an expanded false vector 6 E UTS, and an expanded
the outputs of odd-numbered gates. Besides, all gates in true vector K E UIS, such that 6 2 6, and K 2 6,.Then,
the paths from the primary inputs to the inputs of gate g using Lemma 5 , we can prove in an analogous fashion
are fault-free and, hence, from Lemma 3, the only tran- that ( K , 6 ) is a robust two-pattern test for all the stuck-
sition at the inputs of the gate g can be 0 -+ 1. Clearly, open faults detected by ( 6,). 0
even in the presence of a stuck-open fault the only addi-
tional conduction paths established in g during the tran- V. SIZE OF THE TEST SET
sition 6,-+ 6,are through the nMOS network. Hence, the In this section we compare the size of the universal test
only transition at the output of g can be 1 0. Now con-
+ set UT&, comprising of test vectors from the UTS, and
sider the transition 6, ljl. The inputs to gate g can only
-+ initialization vectors from the UIS, with the size of the
change from 1 to 0 since all these inputs are the outputs minimal robust test set for some given implementation of
of odd-numbered gates. The only additional conduction a function. In the discussion ahead we denote the set of
paths established as a result of this transition are through minimal (maximal) true vectors by T, ( I , ) and the set of
the PMOS network of g. Hence, the only transition at the maximal (minimal) false vectors by To(I , ) . In accordance
output of g can be 0 .+ 1 . The above arguments prove with the definitions of UTS, and UIS, UTS, = TI U To
that a faulty even-numbered gate preserves the property and UZS = ZI U Io.
GUPTA A N D JHA: TEST SET FOR CMOS CIRCUITS 595
as a test vector of some two-pattern test and an initial- 2) a1019 aiP1, a1P2,
* * * * * aiP2, * c-wlP/,
. . . CYiPI.
9 7 9
* * aiP2, 3 crib/,u j P 1 .
l u T ~ c I m i n = 2 ( 1 ~* oIT11
I + 14 P o l )
*
This rearranged sequence can be merged with the first
sequence to arrive at the following sequence of vectors:
Pial * P / ~ I P ~
* *Q ~/ a 2
* P * * P l a i * P/aiPI.
First assume that I S4 I 5 1 S5 1 . Consider the follow-
ing sequence of vectors: This sequence of vectors can be looked on as either Se-
quence 1 with PI added at the end or as the rearranged
F l a l Y l , 41CY2YI9 * * * 9 t l W 1 , t 2 a l Y 2 , t2%Y2, * - 7 Sequence 2 with PI added at the beginning. Hence, it con-
tains all the two-pattern tests contained in Sequence 1 or
5 2 a i ~ 2 , 7 tmalYm, Erna2~rn, * 9 tmaiYm.
Sequence 2. Since the length of each of Sequence 1 and
This sequence uses a vector aqE SI as both a test vector 2 is 2 1 So I I SI 1, it follows that the length of the total test
and an initialization vector as many times as possible. set can be further reduced by ( 2 1 So I I SI 1 - 1). We
There are 1 SI 1 * I S4 I cases in which this can be done. cannot do any better since every vector in So or SI that
Also, the number of cases in which this is possible can be could be used as both a test vector and an initialization
no more. Hence, from the above arguments, vector has been used as such. 0
l U T S c l m i n = 2 ( l I 0 I . IT11 +(Ill * IT00
B. Comparisons of Test Set Size
I S4 I .
- I SI I *
The question naturally arises as to how the 1 UTS, Imi n
Similarly, if we assumed that 1 S4 1 > I Ss 1, then it can compares with the size of the minimal test set for any
be shown that particular CMOS implementation of the given function.
-1 1
596 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN, VOL. 7, NO. S. MAY 1988
In other words, what is the price we pay in terms of the Example 3: Consider a comparator of two two-bit
increased test set size for obtaining a universal test set. numbers X 2 = x I x 2and Y2 = y1y2 [14]. The comparator
We have found that the increase is less, in general, for a has two outputs G 2 and S 2 , such that, G 2 = 1 iff X 2 >
unate function than for a binate function. Y2; S2 = 1 iff X 2 < Y2; and G 2 = S 2 = 0 iff X 2 = Y,.
Consider, for example, the implementation of the func- The logic equations for G 2 and S 2 are as follows:
tion f = ab + ac as shown in Fig. 2. The size of the
G2 = XIX2L2 + X2YIY2 + XlLl
minimal test set for this circuit is 6 , while the size of the
minimal robust test set for this circuit is 7. I UTS, lmln for s2 = X2YlY2 + XIX2Y2 + XlYl.
this function is equal to 8. Even for the simple irredundant
NAND-NAND CMOS implementation of this function the
I UTS, lmln for both G 2 and S 2 is 16, while the size of
minimal robust test set has 7 vectors in it. the minimal robust test set for the irredundant NAND-NAND
As the “binateness” of the circuit increases, however, CMOS implementations of both G 2 and S 2 is 11. Thus in
1 UTS, lmln increases rather sharply. But the size of the this case also the size of the test set increases by 45 per-
corresponding minimal test set for any particular imple- cent.
mentation of the function also registers a significant in- It can be seen from the method presented in [8] that the
crease, more so when the implementation is redundant and test generation process for generating a robust test set for
we wish to ensure robustness. any CMOS circuit is extremely time-consuming. Here the
Let us now look at some practical examples. inherent robustness and ease of test generation of our uni-
Example I : Consider the full adder. The sum S and the versal test set gives it a substantial edge. Of course, an-
carry output C in terms of the inputs a , b and c are as other advantage of having a universal test set is that a
follows: change in the implementation does not render the test set
useless.
S = ab? + Zib? + Zibc + abc
VI. CONCLUSION
C = ab + ac + bc
In this paper we presented a method for generating uni-
Hence, while S is binate in every input, C is unate in versal test sets for CMOS circuits. We summarize this
every input. By following the method presented here we method below.
find that 1 UTS, lmln = 33 for S , and 1 UTS, l m l n = 12 for Step I : Find the dependent input literals of the given
C. Now assume an irredundant NAND-NAND CMOS im- function by following procedures in [ 121 and [ 131. Obtain
plementation for both S and C . One can check that the the expanded truth table.
size of the minimal robust test set for the circuit imple- Step 2: Obtain the set of minimal (maximal) true vec-
menting S is 24, and for the circuit implementing C is 9. tors TI ( ZI) and the set of maximal (minimal) false vectors
We see that in both the cases our universal test sets are To ( l o ) .
less than 40 percent larger. The increase in the size of the Step 3: Obtain two-pattern tests by using every vector
test set is less for the unate function C than for the totally from lo( ZI ) as an initialization vector for each vector from
binate function S . Tl (To).
Example 2: Consider another practical example of the Step 4: Obtain a minimal universal test set by using as
priority encoder [14]. This device has n input lines and many test vectors as initialization vectors as possible, fol-
log, n output lines. When two input lines p l and p , , such lowing the method shown in the proof of Theorem 3.
that i > j , request service at the same time, line p l has It was shown that the UTS, sensitizes every sensitizable
priority over line p , . The encoder produces a binary out- stuck-open fault in any restricted CMOS circuit imple-
put code indicating which of the input lines requesting mentation of the function. The UIS, comprising of max-
service has the highest priority. Consider an eight-input, imal true vectors and minimal false vectors, was defined,
three-output priority encoder. The logic equations for the and it was shown that it provides all the initialization vec-
outputs zl, z 2 , and 24 are as follows: tors needed to initialize the circuit even in the presence of
redundancies. Further, if a robust test set exists for the
z1 = PIP2P4P6 P3P4P6 + PSP6 + P7 given implementation then the universal test set UT&,
2 2 = P2P4PS + P3P4P5 + P6 + P7 comprising of the test vectors from the UTS, and the ini-
tialization vectors from the UIS, is one such test set. The
24 = P4 + P5 -k P6 + Pl. method given here presents a choice between a smaller,
The input line po is used with other input lines to find but computationally demanding circuit-dependent test set
out if any request is present or not. However, that appli- and a larger, but easily obtained and robust universal test
cation of po is not shown here. I UTS, lmln for zl, z 2 , and set for CMOS circuits.
2 4 is 16, 14, and 9 respectively. The sizes of the corre-
REFERENCES
sponding minimal robust test sets for the irredundant
NAND-NAND CMOS implementations of z I , z 2 , and z 4 are [l] R. L. Wadsack, “Fault modeling and logic simulation of CMOS and
MOS integrated circuits,” Bell Syst. Tech. J . , vol. 57, no. 2, pp.
11, 11 and 8 respectively. Hence, the worst-case increase 1449-1474, May-June 1978.
in the size of the test set is 45 percent. [ 2 ] S . M. Reddy, V . D. Agrawal and S . K . Jain, “A gate-level modtl
GUPTA AND JHA: TEST SET FOR CMOS CIRCUITS 597
for CMOS combinational logic circuits with application to fault de- [12] S . B. Akers, “Universal test sets for logic networks,” IEEE Trans.
tection,” in Proc. Design Automation Conf.,pp. 504-509, June 1984. Comput., vol. C-22, pp. 835-839, Sept. 1973.
R. Chandramouli, “On testing stuck-open faults,” in Proc. Int. Symp. 1131 S . M. Reddy, “Complete test sets for logic networks,” IEEE Trans.
Fault-Tolerant Cornput., Milan, Italy, pp. 258-265, June 1983. Cornput., vol. C-22, pp. 1016-1020, NOV. 1973.
K. W. Chiang and Z. G. Vranesic, “On fault detection in CMOS [14] Z. Kohavi, Switching and Finite Automata Theory. New York:
logic networks,” in Proc. Design Automation Con$ , Miami Beach, McGraw-Hill, 1978.
FL, pp. 50-56, June 1983.
Y . M. El-Ziq, “Automatic test generation for stuck-open faults in *
CMOS VLSI,” in Proc. Design Automation Conf., Nashville, T N ,
pp. 347-354, June 1981.
Y . M. El-Ziq and R. J. Cloutier, “Functional-level test generation Gopal Gupta (S’86) received the B.Tech. degree
for stuck-open faults in CMOS VLSI,” in Proc. In?. Test Conf.,Phil- in electrical engineering from Indiana Institute of
adelphia, PA, pp. 536-546, Oct. 1981. Technology, Madras, India, in 1985 and M.S. de-
S . K. Jain and V. D. Agrawal, “Test generation for MOS circuits gree in electrical engineering and computer Sci-
using D-algorithm,” in Proc. Design Automation Conf., Miami ence from University of Michigan, Ann Arbor, in
Beach, FL, pp. 64-70, June 1983. 1987.
S. M. Reddy, M. K. Reddy and V. D. Agrawal, “Robust tests for At present he is with SILC technologies, Wal-
stuck-open faults in CMOS combinational logic circuits,” in Proc. tham, where he is currently engaged in the design
Int. Symp. Fault-Tolerant Comput., Orlando, FL, pp. 44-49, June and development of logic synthesis automation
1984. technology for high performance systems. His re-
S . M. Reddy, M. K. Reddy and J. G. Kuhl, “On testable design for search interests include digital system testing,
CMOS logic circuits,” in Proc. Int. Test Conf.,Philadelphia, PA, VLSI system design and design automation.
pp. 435-445, Oct. 1983.
N. K. Jha and J. A. Abraham, “Design of testable CMOS logic cir-
cuits under arbitrary delays,” IEEE Trans. Computer-Aided Design,
vol. CAD-4, pp. 264-269, July 1985.
*
S. M. Reddy and M. K. Reddy, “Testable realizations for FET stuck-
open faults in CMOS combinational logic circuits,” IEEE Trans. Niraj K. Jha (M’85), for a photograph and biography please see page 116
Comput., vol. C-35, no. 8, pp. 742-754, Aug. 1986. of the January 1988 issue of this TRANSACTIONS.
1- -
1