You are on page 1of 8

590 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN. VOL. 7, NO. 5.

MAY 1988

A Universal Test Set for CMOS Circuits

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

D UE TO THE increasing popularity of CMOS tech-


nology for implementing Very Large Scale Inte-
grated (VLSI) circuits, the area of fault detection in
any restricted gate circuit. Henceforth, the gate-level uni-
versal test set will be denoted as UTS,. The universal test
set derived later in this paper for any restricted CMOS
CMOS circuits is growing in importance. Various meth- circuit implementation will be denoted as UTS,. We will
ods for generating test sets for CMOS circuits and obtain- assume that the restricted CMOS circuits are formed by
ing testable CMOS realizations have been presented by interconnecting fully complementary CMOS gates.
researchers [ 11-[ 111. The test generation methods assume We first show that for restricted CMOS circuits the
that the CMOS circuit is known a priori. This often re- UTS,, as derived in [12] and [13], provides all the test
sults in a near minimal test set, but the test generation vectors required to test for each detectable single stuck-
process becomes very complex and computationally de- open fault. We then consider the problem of finding ini-
manding-more so for CMOS circuits because of the need tialization vectors for each of these test vectors. We show
for two-pattern tests. Furthermore, it has been shown that that a universal initialization set (UIS) can be obtained
a two-pattern test, which consists of an initialization vec- which guarantees the initialization of every initializable
tor followed by a test vector, can be invalidated in the stuck-open fault in the circuit even in the presence of re-
presence of varying delays in the circuit [8]-[ 111. Obtain- dundancies. We then show that the UTS,, comprising of
ing a test set, if one exists, which cannot be invalidated, test vectors from the UTS, and the initialization vectors
usually involves an increase in the test set size and the from the UIS, is robust (i.e., it does not get invalidated
complexity of the test generation process. Besides, the even in the presence of delays). In this paper when we
test set is tailored to a very specific circuit implementation refer to robust test sets, we will assume that they are based
and even the slightest change in the circuit may render the on two-pattern tests, although it is possible to base them
test set useless. on n-pattern ( n > 2 ) tests.
In this paper we consider the general problem of deriv- The paper is organized as follows. In Section I1 we show
ing a test set from the functional description only. Our the usefulness of the UTS, when it is applied to any re-
fault model includes all detectable single stuck-open stricted CMOS circuit implementation of the function. In
faults. Akers [12] and Reddy [13] have already given so- Section I11 we establish certain properties of the restricted
lutions to this problem with respect to gate-level circuits. CMOS circuits. In Section IV we show how to derive the
They showed that the universal test set, comprising of the UTS, using test vectors from the UTS, and initiaIization
maximal false vectors and the minimal true vectors, tests vectors from the UIS. We prove that if there exists a ro-
for all detectable stuck-at faults in a particular class of bust test set for the circuit under test then UTS, is one such
test set. In Section V we evaluate the size of the test set.
Manuscript received June I O , 1987; revised October 13, 1987. This work
was supported in part by Siemens Corporation under Grant 170-405 1. The We conclude in Section VI.
review of this paper was arranged by Associate Editor E. J. McCluskey.
G . Gupta is with SILC Technologies, Waltham, MA 02254. 11. TEST VECTORS
N . K . Jha is with the Department of Electrical Engineering, Princeton
University, Princeton NJ 08544. In this section we show how the UTS, can be used to
IEEE Log Number 8719392. provide test vectors for restricted CMOS circuit imple-

0278-0070/88/0500-0590$01.OO O 1988 IEEE

1-
GUPTA AND JHA: TEST SET FOR CMOS CIRCUITS 59 I

mentations, even in the presence of redundancies in the TABLE 1


circuit.
TRUTHTABLEFOR^ = uh
EXPANDED + hc
I

We will first briefly review the concept of the universal abbe f


test set as applied to the gate-level circuits.
Definition 1: A true (false) test vector is one for which 0 0 1 0
0 0 1 1
the circuit output in the fault-free case is logic 1 (0). 0 1 0 0
~ two vectors then 6* covers
Dejinition 2: If 61 and 1 3 are 0 1 0 1
6, if A 2 has 1’s in every bit-position in which has 1’s. 1 0 1 0
1 0 1 1
We denote this by h2 1 6,. 1 1 0 0
For example, 110 I 100, but 110 2 001. 1 1 0 1
+
Consider a functionf = ab bc. The dependent input
literals are a , b , b and c (the formal rules for finding the
set of dependent input literals are given in [ 121 and [ 131). 111. PROPERTIES OF RESTRICTED CMOS CIRCUITS
We form an expanded truth table as shown in Table I. In this section we will establish certain properties of
A row from this expanded truth table represents an ex- restricted CMOS circuits.
panded vector. Definition 4: In a restricted CMOS circuit a CMOS gate
Dejinition 3 [13]: A minimal true vector (minimal ex- g is said to be an odd-numbered (even-numbered) gate if
panded true vector) of a logic function is the input vector an even (odd) number of CMOS gates are encountered
(expanded input vector) that does not cover any other true while traversing any path from the primary inputs to the
vector except itself. A maximal false vector (maximal ex- inputs of gate g .
panded false vector) is the input vector (expanded input In this definition the inverters present inside the circuit
vector) that is not covered by any other false vector except are counted, but not the ones present at the primary in-
itself. puts.
The minimal true vectors and maximal false vectors are Consider the three gate-level implementations o f f =
shown by asterisks in Table I. The set of minimal true +
ab bc in Fig. 1. The inversion parities of the paths to
vectors and maximal false vectors is the universal test set the inputs of any gate in these implementations are the
UTS,. It has been shown in [12] and [13] that the UTS, same. Hence, these are restricted gate circuit implemen-
can detect any detectable stuck-at fault in any restricted tations. Note that the inversions at the primary inputs are
gate circuit implementation of the function. ignored while determining the inversion parity. The
Henceforth, the word “expanded” may not always be CMOS implementations of the above function which cor-
used when it is implied by the context. respond to these three gate-level circuits are, obviously,
A method to get the gate-level model for a CMOS cir- restricted CMOS circuits.
cuit was presented in [2]. This can be used to arrive at the Since every CMOS gate introduces an inversion, it
following lemma. means that all paths incident at any CMOS gate in a re-
Lemma 1: The gate-level model of a restricted CMOS stricted CMOS circuit have either an even number or an
circuit is a restricted gate circuit. odd number of CMOS gates. In the discussion that fol-
Proof: The proof follows from the fact that the lows, we shall assume that the number of CMOS gates in
equivalent gate-level sub-circuit of any CMOS gate in a each path from the primary inputs to the circuit output is
CMOS circuit is a feedback-free interconnection of AND/ even. This does not result in any loss of generality, since
OR gates with an inversion at each primary input [2]. If by applying De Morgan’s theorem we can always transfer
no CMOS gate of the CMOS circuit has paths of different an inversion from the circuit output to the primary inputs.
inversion parities meeting at its input then, obviously, the The test set of the original circuit remains valid even for
equivalent gate-level circuit cannot have such a gate the modified circuit obtained after the inversion transfer.
either. Hence, the gate-level model is a restricted gate But the number of CMOS gates in each path to the circuit
circuit. 0 output can be changed from odd to even by this method.
It follows from Lemma 1 and the previously mentioned The following lemmas follow from these observations.
results from [I21 and [I31 that the UTS, provides test vec- Lemma 2: A true (false) test vector can only sensitize
tors for every detectable stuck-at fault in the gate-level stuck-open faults in the nMOS (PMOS) networks of odd-
model of any restricted CMOS circuit. Reddy et al. have numbered gates and the PMOS (nMOS) networks of even-
already shown [2] that any test set designed for detecting numbered gates on the sensitized path in a restricted
single stuck-at faults in the gate-level model, also tests CMOS circuit.
for single stuck-open faults in the CMOS circuit, pro- Proof: A true (false) test vector activates the PMOS
vided proper initialization vectors are used for every test (nMOS) network of the output CMOS gate since the out-
vector. Combining the above results, we can say that the put is logic 1 (0). We have assumed that the output CMOS
UTS, provides test vectors for all detectable single stuck- gate is even-numbered. By retracing the path from the cir-
open faults in any restricted CMOS circuit implementa- cuit output to the primary inputs and from the definition
tion of the given function. of restricted CMOS circuits, it is clear that a true (false)

I I- 1
592 IEEE 1'RANSACTIONS ON COMPUTER-AIDED DESIGN. VOL 7. NO. 5 . MAY 1988

single stuck-open faults in any irredundant restricted


CMOS circuit implementation of the given function. The
I L
' fresultant test set, however, can be invalidated in the pres-
ence of arbitrary delays. Besides, the test set is not valid
for all redundant implementations.
In this section we look at the problem of deriving a test
set which can detect all detectable single stuck-open faults
in any restricted CMOS circuit implementation (redun-
dant or irredundant) of a given function. Furthermore, we
show that this test set does not get invalidated in the pres-
ence of delays.

A . Universal Initialization Set

In a redundant circuit, not every stuck-open fault can


(C)
be sensitized to the circuit output. We do have the guar-
Fig. 1 . Restricted gate circuit implementations off = ab + &c. antee that the vectors in the UTS, will sensitize every sen-
sitizable fault to the circuit output. But there is no guar-
vector causes logic 1 (0) to appear at the outputs of the antee that vectors from UTS, can always initialize the
even-numbered CMOS gates, and logic 0 (1) at the out- circuit, when it is possible to do so, to detect the sensi-
puts of odd-numbered CMOS gates on the sensitized path. tized fault.
Hence, the lemma follows. 0 For example, consider the function f = ab + ac. A
Lemma 3: If 61 and 6, are two expanded vectors of a redundant CMOS realization of this function is given in
functionf, and 6, I6,, then in the transition 62 -, 6, (6, Fig. 2. The UTS, for this function is given in Table 11.
--f 6,) the output of an even-numbered gate in any re- Let a transistor in the PMOS network corresponding to a
stricted CMOS circuit implementation can only change transistor y in the nMOS network be referred to as y r .
from 0 to 1 ( 1 to 0), while the output of an odd-numbered Now a stuck-open fault in transistor 5' is sensitized by
gate can only change from 1 to 0 ( 0 to 1 ). p 2 , but neither a , nor c y 2 establishes a conduction path
Proof: We know that in a restricted CMOS circuit through transistor 5. If we confine ourselves to the UTS,
1 the output of an even-numbered (odd-numbered) gate can for initialization vectors, this fault will be left undetected.
only be reached through an even (odd) number of inver- We will give a method for deriving a set of vectors, not
sions on any path from the primary inputs. Hence, it fol- necessarily in the UTS,, which will guarantee the initial-
lows that since input literals can only change from 0 to 1 ization of the circuit for every detectable stuck-open fault.
in the transition 6, -+6,, the outputs of the even-num- Before doing so we define a few terms.
bered gates can also only change from 0 to 1, and the Definition 5: An expanded true vector K; is a maximal
outputs of the odd-numbered gates can only change from expanded true vector if there is no other expanded true
1 to 0. Analogous results can be obtained for the transi- vector K ; such that K , I K ; . Analogously, an expanded
tion + 6,. In this case, the output of each gate can only false vector tiis a minimal expanded false vector if there
vary in the complementary manner. 0 is no other expanded false vector 4, such that t j 1 4,.
Since the circuit output is taken from an even-numbered The set of maximal expanded true vectors and minimal
CMOS gate, from Lemma 3, the circuit is monotonic in expanded false vectors is said to be the universal initial-
the expanded vectors. In other words, if 61 and 6* are two ization set (UIS). We will denote the sub-set of true vec-
expanded vectors of a functionfand 6, I t h e n f ( 6 , ) tors by ZI and the sub-set of false vectors by Io.
If ( 6 , ) , else if d1 I6, t h e n f ( 6 , ) If(6,). For example, for the function implemented in the cir-
cuit in Fig. 2 the UIS is given in Table 111.
IV. DERIVING UNIVERSAL TESTSETSFOR CMOS The initialization of the circuit by the UIS is considered
CIRCUITS in the following theorem.
In an irredundant restricted CMOS circuit, for every Reorem 1: The set of maximal expanded true vectors
single stuck-open fault sensitized by a vector 6, E UTS,, I , contains initialization vectors, if they exist, for every
there exsits another vector 6, E UTS,, which sensitizes the false test vector in UTS,, while the set of minimal ex-
stuck-open fault in the corresponding transistor (the tran- panded false vectors Io contains initialization vectors, if
sistor fed by the same input) in the complementary net- they exist, for every true test vector in UTS, for any re-
work of that gate. The UTS,, therefore, provides all the stricted CMOS circuit implementation of the given func-
test and initialization vectors required for testing a re- tion.
stricted CMOS circuit for single stuck-open faults. It is Proof: The proof is given for a true test vector only.
sufficient to obtain two-pattern tests by preceding every The proof for a false test vector follows in an analogous
minimal true vector with every maximal false vector and, fashion. Suppose Io does not have initialization vectors
vice versa, in order to derive a test set which detects all for every true test vector, i.e., there exists a vector U;
~

GUPTA AND J H A : TEST SET FOR CMOS CIRCUITS 593

TABLE 111
UIS FOR f = ab + ac

0 0 0

For the circuit in Fig. 2 the stuck-open fault in 5‘ can


be sensitized by 0,from the UTS, in Table I1 and initial-
ized by K , from the UIS in Table 111.

B. Universal Test Set


The universal test set UTS, is derived by obtaining two-
pattern tests by preceding every true (false) test vector
from the UTS, by every false (true) initialization vector
from the UIS. For the function f = ab + ac considered
,Vdj
earlier, the UTS, is given in Table IV.

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

TABLE IV that ensures monotonicity. The case in which the faulty


UTS<FOR f = ab + ac gate is odd-numbered can be proved similarly. 0
We can now prove that UTS, is a robust test set.
f
Theorem 2: If there exists a robust test set for a re-
stricted CMOS circuit implementation of the given func-
01 01 00 tion, then UTS,, comprising of test vectors from the UTS,
and the initialization vectors from the UIS, is one such
robust test set.
0 0 0 Proof: Let V be a set of robust two-pattern tests de-
rived for all single stuck-open faults in the restricted
CMOS circuit under test. We shall prove that f?r every
robust two-pattern test in V , there exists a robpst two-
pattern test in UTS, which tests for the same stdck-open
I
again from Lemma 3 , there also does not exist any vector faults.
+
\

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

- (Sol * min {IS21. IS31}

The proof is exactly similar to the proof of Case 2.


and To = SQU Ss. Theorem 3 gives the lower bound on Case 4: So f null, SI # null.
the size of th&.,UTS,. For this case we have to prove that 1 UTS, lmin is equal
Theorem 3: The minimal attainable size of the UTS,, to
denoted as I UTS, I, is equal to
2(lIol ( T I (+ (Ill- ITOl) - IS11
-min{lS41JS5Ij - IS01 -in{lS2/?IS3I}
*min{IS417 ISSI} - IS01 * m i n ( l S ? I ?IS313
-21SJ * ISII + 1.
-2ISol IS11 + P ,
Hence, we have to show that apart from the reduction
wherep = 1, if So and SI are non-empty, and 0 otherwise. in 1 UTS, I shown possible in the proofs of Cases 2 and
Proof: There are four cases to be considered. 3 , a further reduction of 2 I So I I SI 1 - 1 is possible.
Case 1: So = SI = null. By preceding every ar E S , ( 6, E So) with every P, E
Hence, we have to prove that So( CY E SI) we can obtain the'following two sequences
o I + IIII
l ~ T ~ c l m i n = 2 ( 1 ~IT11 ITol).
of two-pattern tests:

For this case there is no vector which can be used both


1)
. . . P /-% . P / % , P 1 a 2 ,
P,Ql,
9
7 * - 3 P P 2 , 3 P l a i ,

as a test vector of some two-pattern test and an initial- 2) a1019 aiP1, a1P2,
* * * * * aiP2, * c-wlP/,
. . . CYiPI.
9 7 9

ization vector of the next two-pattern test. Since there are


( I Io I I TI I +
9

1 I , I I To I ) initialization-test pairs, the The second sequence may be rearranged as


proof follows directly.
Case 2: So = null, SI # null.
Therefore, we have to prove that
(YIP29 -- * 9 CYlPI, QlP1, a 2 P 2 ,
*
9 %PI, a2P1,

* * 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

You might also like