Module1 Complete
Module1 Complete
chapter 1
Introduction
metal oxide semiconductor (CMOS) technology]. Figure 1.2 illustrates the CMOS realization of
the two-input NAND:
The number 1 in the figure indicates an open, whereas the numbers 2 and 3 identify the short
between the output node and the ground and the short between the output node and the VDD,
respectively. A short in a CMOS results if not enough metal is removed by the photolithography,
whereas over-removal of metal results in an open circuit [3]. Fault 1 in Figure 1.2 will disconnect
input A from the gate of transistors T1 and T3. It has been shown that in such a situation one tran-
sistor may conduct and the other remain nonconducting [4]. Thus, the fault can be represented by a
stuck at value of A; if A is s-a-0, T1 will be ON and T3 OFF, and if A is s-a-l, T1 will be OFF and
T3 ON. Fault 2 forces the output node to be shorted to VDD, that is, the fault can be considered as
an s-a-l fault. Similarly, fault 3 forces the output node to be s-a-0.
The stuck-at model is also used to represent multiple faults in circuits. In a multiple stuck-at
fault, it is assumed that more than one signal line in the circuit are stuck at logic 1 or logic 0; in other
words, a group of stuck-at faults exist in the circuit at the same time. A variation of the multiple
fault is the unidirectional fault. A multiple fault is unidirectional if all of its constituent faults are
either s-a-0 or s-a-l but not both simultaneously. The stuck-at model has gained wide acceptance
in the past mainly because of its relative success with small scale integration. However, it is not very
effective in accounting for all faults in present day very large scale integrated (VLSI), circuits which
mainly uses CMOS technology. Faults in CMOS circuits do not necessarily produce logical faults
that can be described as stuck-at faults [5, 6, 7]. For example, in Figure 1.2, faults 3 and 4 create
stuck-on transistors faults. As a further example, we consider Figure 1.3, which represents CMOS
implementation of the Boolean function:
Z = (A + B)(C + D) · EF .
Two possible shorts numbered 1 and 2 and two possible opens numbered 3 and 4 are indi-
cated in the diagram. Short number 1 can be modeled by s-a-1 of input E; open number 3 can be
modeled by s-a-0 of input E, input F, or both. On the other hand, short number 2 and open number
4 cannot be modeled by any stuck-at fault because they involve a modification of the network func-
tion. For example, in the presence of short number 2, the network function will change to:
Z = (A + C)(B + D) · EF ,
Z = (AC) + (BD) · EF .
For this reason, a perfect short between the output of the two gates (Figure 1.4) cannot be
modeled by a stuck-at fault. Without a short, the outputs of gates Z1 and Z2 are:
Zl = AB and Z2 = CD ,
Zl = Z2 = AB + CD .
cidentally connected together. Earlier study of bridging faults concentrated only on the shorting of
signal lines in gate-level circuits. It was shown that the shorting of lines resulted in wired logic at
the connection.
Bridging faults at the gate level has been classified into two types: input bridging and feedback
bridging. An input bridging fault corresponds to the shorting of a certain number of primary input
lines. A feedback bridging fault results if there is a short between an output and input line. A feed-
back bridging fault may cause a circuit to oscillate, or it may convert it into a sequential circuit.
Bridging faults in a transistor-level circuit may occur between the terminals of a transistor
or between two or more signal lines. Figure 1.5 shows the CMOS logic realization of the Boolean
function:
Zl = Z2 = AB + CD
A short between two lines, as indicated by the dotted line in the diagram will change the function
of the circuit.
The effect of bridging among the terminals of transistors is technology-dependent. For ex-
ample, in CMOS circuits, such faults manifest as either stuck-at or stuck-open faults, depending on
the physical location and the value of the bridging resistance.
—−
— + CD
Figure 1.5: CMOS implementation of Z (A, B, C, D) = AB
An Introduction to Logic Circuit Testing
1.2.1 Breaks
Breaks or opens in CMOS circuits are caused either by missing conducting material or extra insu-
lating material. Breaks can be either of the following two types [3]:
1. Intragate breaks;
2. Signal line breaks.
Introduction
An intragate break occurs internal to a gate. Such a break can disconnect the source, the drain, or
the gate from a transistor, identified by b1, b2, and b3, respectively, in Figure 1.6. The presence of b3,
will have no logical effect on the operation of a circuit, but it will increase the propagation delay;
that is, the break will result in a delay fault. Similarly, the break at b1 will also produce a delay fault
without changing the function of the circuit. However, the break at b2 will make the p-transistor
nonconducting; that is, the transistor can be assumed to be stuck-open.
An intragate break can also disconnect the p-network, the n-network, or both networks (b4,
b5, and b6 in Figure 1.6) from the circuit. The presence of b4 or b5 will have the same effect as the
output node getting stuck-at-0 or stuck-at-1, respectively. In the presence of b6, the output voltage
may have an intermittent stuck-at-1 or stuck-at-0 value; thus, if the output node simultaneously
drives a p-transistor and an n-transistor, then one of the transistors will be ON for some unpredict-
able period of time. Signal line breaks can force the gates of transistors in static CMOS circuits to
float.
As shown in Figure 1.6, such a break can make the gate of only a p-transistor and an n-
transistor to float. It is also possible, depending on the position of a break, that the gates of
both transistors may float, in which case one transistor may conduct and the other remain in a
nonconducting state [9]. In general, this type of break can be modeled as a stuck-at fault. On the
other hand, if two transistors with floating gates are permanently conducting, one of them can be
considered as stuck-on. If a transistor with a floating gate remains in a nonconducting state due to a
signal line break, the circuit will behave in a similar fashion as it does in the presence of the intragate
break b2.
Table 1.1: Truth table of two-input CMOS NOR gate with and without stuck-open fault
0 0 1 1 1 Zt
0 1 0 0 Zt 0
1 0 0 Zt 0 0
1 1 0 0 0 0
A stuck-open transistor fault like a feedback bridging fault can turn a combinational circuit
into a sequential circuit [10]. Figure 1.7 shows a two-input CMOS NOR gate. A stuck-open fault
causes the output to be connected neither to GND nor to VDD. If, for example, transistor T2 is
open-circuited, then for input AB=00, the pull-up circuit will not be active and there will be no
change in the output voltage. In fact, the output retains its previous logic state; however, the length
of time the state is retained is determined by the leakage current at the output node.
Table 1.1 shows the truth table for the two-input CMOS NOR gate. The fault-free output
is shown in column Z; the three columns to the right represent the outputs in presence of the three
stuck-open (s-op) faults. The first, As-op, is caused by any input, drain, or source missing connec-
tion to the pull-down FET T3. The second, Bs-op, is caused by any input, drain, or source missing
connection to the pull-down FET T4. The third, VDDs-op, is caused by an open anywhere in the
series, p-channel pull-up connection to VDD. The symbol Zt is used to indicate that the output
state retains the previous logic value.
IInput Output
a b c (Fault-Free) c (Fault-Present)
0 0 1 1
0 1 1 0
1 0 1 1
1 1 0 0
present in the circuit. The aim of testing at the gate level is to verify that each logic gate in the circuit
is functioning properly and the interconnections are good. Henceforth, we will deal with stuck-at
faults only unless mentioned otherwise. If only a single stuck-at fault is assumed to be present in
the circuit under test, then the problem is to construct a test set that will detect the fault by utilizing
only the inputs and the outputs of the circuit.
As indicated above, a test detects a fault in a circuit if and only if the output produced by the
circuit in the presence of the fault is different from the observed output when the fault is not pres-
ent. To illustrate, let us assume that input a of the NAND gate shown in Figure 1.8 is stuck-at-1.
The output responses of the gate to all input combinations for both fault-free and fault-present
conditions are shown in Table 1.2.
It can be seen in Table 1.2 that only for input combination ab = 0, the output is different in
the presence of the fault a s-a-1 and when the gate is fault-free.
In order to detect a fault in a circuit, the fault must first be excited; that is, a certain input
combination must be applied to the circuit so that the logic value appearing at the fault location is
opposite to the fault value. Next, the fault must be sensitized; that is, the effect of the fault is propa-
gated through the circuit to an observable output. For example, in Figure 1.9, the input combination
abc=111 must be applied for the excitation of the fault, and d=1 for sensitizing the fault to output Z.
Thus, the test for the s-a-1 fault is abcd=1111. This input combination is also a test for other faults
(e.g., gate 1 s-a-0, gate 3 s-a-1, and input a s-a-0, etc.).
output; hence, the fault is undetectable. A combinational circuit is denoted as redundant if it has an
undetectable fault.
A test set for a circuit is derived based on the assumption that only a single fault is present in
the circuit when the tests are applied. Thus, the simultaneous presence of an undetectable fault and
a detectable fault violates this assumption. Furthermore, the presence of an undetectable fault may
prevent the detection of a detectable fault.
Because there are three equivalence fault sets for both NOR and NAND gates, it is sufficient
to derive tests for three faults only in each case, i.e., one fault from each set. In general, an m-input
gate can have a total of (m+2) logically distinct faults; however, only m+1 equivalent sets of faults
need to be considered.
References
[1] Anderson, T., and P. Lee, Fault-Tolerance: Principles and Practice, Prentice-Hall International
(1981).
[2] Avizienis, A., “Fault-tolerant systems,” IEEE Trans. Comput., 1304−11 (December 1976).
[3] Shoji, M., CMOS Digital Circuit Technology, Prentice-Hall (1988).
14 An Introduction to Logic Circuit Testing
[4] Maly, W., P. Nag, and P. Nigh, “Testing oriented analysis of CMOS ICs with opens,” Proc.
Intl. Conf. CAD, 344−7 (1988). doi:10.1109/ICCAD.1988.122525
[5] Ferguson, I. and J. Shen, “A CMOS fault extractor for inductive fault analysis,” IEEE Trans.
CAD, 1181−94 (November 1988). doi:10.1109/43.9188
[6] David, M. W., “An optimized delay testing technique for LSSD-based VLSI logic circuits,”
IEEE VLSI Test Symp., 239−46 (1991).
[7] Wadsack, R. L., “Fault modelling and logic simulation of CMOS and MOS integrated cir-
cuits,” Bell Syst. Technol. Jour., 1149−75 (May−June 1978).
[8] Ferguson. J., M. Taylor, and T. Lamabee, “Testing for parametric faults in static CMOS cir-
cuits,” Proc. Intl. Test Conf., 436−42 (1990). doi:10.1109/TEST.1990.114052
[9] Maly, W., “Realistic fault modeling for VUI testing,” Proc. 24th ACMI IEEE Design Auzom-
atlon Conf., 173−80 (1987).
[10] Ferguson, J., and J. Shen, “Extraction and simulation of realistic CMOS faults using induc-
tive fault analysis,” Proc. Intl. Test Conf., 475−84 (1988). doi:10.1109/TEST.1988.207759
[11] Malaiya, Y. K., and S. Y. H. Su, “A survey of methods for intermittent fault analysis,” Proc.
Nut Comput Conf., 577−84 (1979).
• • • •