Chapter 7 Design For Testability: Definition 1
Chapter 7 Design For Testability: Definition 1
1. Partition large circuits into smaller subcircuits to reduce test generation cost
(using MUXes and/or scan chains).
T1 T2
S Mode T1 T2
1
M Normal 0 0
0
Test C1 0 1
C1 C2 Test C2 1 0
S
1
M
0
0 1 1 0
M S S M
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-2
OP
C1 .
.
. C2 .
.
. C3
M
CP1 CP2 CP3 CP4
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-3
Definition 2
The syndrome of a boolean function f is S (f ) k2(fn ) , where k is the number of
1s (minterms) in f and n is the number of independent input variables.
Exhaustive Syndrome
UUT Comparator
patterns register Go/No-go
(Counter)
Reference syndrome
Figure 1: A typical syndrome testing set-up.
✯ 0 S (f ) 1.
✯ A circuit is syndrome testable iff 8 fault , S (f ) 6= S (f ).
Exercise 1
Show that for blocks with shared inputs (circuits having reconvergent fanouts):
S (f + g ) = Sf + Sg S (fg )
S (fg ) = Sf + Sg + S (fg) 1
S (f g ) = )
S (f g) + S (fg
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-4
S1
S2 S
S4
S3
Example 1
Calculate the syndrome of the following circuit.
1 3
S1 = 1 =
4 4
1 3
S2 = 1 =
4 4
1
S3 =
8
S4 = 1 (S2 + S3 S2S3 ) = 7=32
) S = S1S4 = 21=128. 2
☞ Syndrome is a property of function, not of implementation.
Definition 3
A logic function is unate in a variable xi if it can be represented as an sop or
pos expression in which the variable xi appears either only in an uncomplemented
form or only in a complemented form.
Theorem 1
A 2-level irredundant circuit realizing a unate function in all its variables is syndrome-
testable.
Theorem 2
Any 2-level irredundant circuit can be made syndrome-testable by adding control
inputs to the AND gates.
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-5
Example 2
Let f = xz + y z. Then S = 12 . If z=0, then f = y. )S = 1
2
= S.
) Syndrome untestable.
Now add a control input c 3 f 0 = cxz + yz, where
1
c
when in normal operation mode
normal i/p when in test mode
S 0 = 83 , f 0 = y , and S 0 = 1
2
6= S 0. ) Syndrome testable. 2
Drawbacks:
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-6
Shift-Register Modification (MUX Scan) [M. Williams & Angell, IEEE TC-
22(1), 1973]
X Combinational Z
Logic
y Y
State Vector
Test procedure:
☞ The SI pin may be a redefined input pin (using a MUX) in test mode.
☞ The SO pin may be a redefined output pin (using a MUX) in test mode.
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-7
x C/L z
SI M FF M FF M FF SO
C
T
DI
L1 L2
D Q D Q
SI
T
C
C2
SI
DI DO
SO
C1
L1 L2
2-port raceless master-slave D FF
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-8
Polarity-Hold Latch:
D C D +L
C
D 0 0 L
L +L
L C 0 1 L
1 0 0
1 1 1
☞ The correct change of the latch output (L) is not dependent on the rise/fall
time of C , but only on C being ‘1’ for a period of time data propagation
and stabilization time.
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-9
DI +L1 DI
C
L1 +L1
SI
C A
SI +L2 L2 +L2
B
A
B
✯ Normal mode: A = B = 0; C = 0 ! 1.
✯ SR (test) mode: C = 0; AB = 10 ! 01 to shift SI through L1 and L2.
x C/L z x C/L z
C C
A A
SI L1 L1 L1 SO SI L1 L1 L1 SO
L2 L2 L2 L2 L2 L2
B B
double-latch LSSD single-latch LSSD
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-10
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-11
✯ Advantages:
✩ Fast; minimal impact on normal path.
✩ Fast for testing—random access.
✩ Ability to ‘watch’ a node in normal operation mode (impossible with
LSSD).
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-12
DI
CK1
x C/L z
SI . +L
C
SI
CK2
L L L L Addr
addr SO
decoder
SO (C = CK1 & CK2)
✯ Disadvantages:
✩ Address decoder—and thus h/w overhead—is large.
✩ More pins added (* parallel address).
✩ No asynchronous circuits.
SO Z1
0 Mux D Q Q2 . D Q Q1 0 Mux . Z2
SI 1 S 1 S
T2 C2 C1 T1
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-13
☞ For use in sequential circuits that are time sensitive, such as asynchronous
circuits.
✯ Stuck-at & bridging faults can occur on decoder lines, bit lines, product lines,
and output lines.
✯ A functional-level fault model: in addition to stuck & bridging faults, we
should also consider crosspoint (contact) faults.
✯ For a PLA with i input lines, p product lines, and o output lines, there are
(2i + o)p possible single crosspoint faults, and 2(2i+o)p 1 possible multiple
crosspoint faults.
Crosspoint Faults:
① Growth fault—a product term can grow (cover more minterms) due to a miss-
ing contact in the AND array.
② Shrinkage fault—a product term can shrink due to an extra contact in the
AND array.
③ Disappearance fault—a product term can disappear from a function due to a
missing contact in the OR array.
④ Appearance fault—a product term from one function can spuriously appear
in another function due to an extra contact in the OR array.
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-14
☞ Missing crosspoints are equivalent to some stuck-at faults, but extra contacts
cannot be modeled by stuck faults.
☞ To test whether a product term has grown, for example, minters which would
be covered by the growth of the term and which are not covered by any other
product term are chosen as test vectors.
☞ A complete xpt fault detection inherently covers most single stuck faults in
input decoders and output lines, as well as many shorts and a large proportion
of multiple faults [Cha 1978; Ostapko & Hong 1979; Smith 1979].
☞ Any complete single xpt fault test set covers 98% of all multiple xpt faults of
size 8 or less [Agarwal 1980].
☞ Any stuck-at fault or AND bridging fault is equivalent to a multiple xpt fault
[Min 1983].
☞ In general PLAs are not efficiently tested by random vectors due primarily to
the large number of xpts used in the AND array, i.e., the large fanins of the
AND gates, which are frequently 10 or larger. Let the fanin be n, then the
probability of detecting a missing xpt with a random pattern is no better than
2 n.
. . . .
. . . .
. . .
. . . .
x1 x1 x2 x2 x3 x3 x4 x4 y1 y2
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-15
Embryonic Tests:
① Test Type 1 (T1): All used xpts on a given product line are set to logic 1.
② Test Type 2 (T2): One selected used xpt on a given product line is set to 0;
the rest of the used xpts are set to 1.
☞ These 2 test types are the familiar embryonic patterns for detecting all stuck
faults of the AND gates.
☞ For these tests to be successful there must also exist a sensitized test path
through the OR array.
Path Sensitization:
☞ The characteristic that the AND gates have large fanins renders the procedure
of combining random patterns with T1 and T2 tests effective for sensitizing
test paths through OR gates.
☞ A T1 test will test the input to at least one OR gate s-a-0, so it is necessary
to ensure that all OR gates fed by the same AND gate be sensitized for some
T1 test.
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-16
☞ A T2 test will test the input to the AND gate s-a-1, so it is sufficient to sensi-
tize the path through any OR gate fed by the AND gate.
✯ Two or more T1 tests should not be combined, since they might both feed the
same OR gate and combining them would prevent the testing of their inputs
to this common OR gate.
✯ Combining a T2 test with a T1 test is acceptable, since the T2 test will usually
help sensitize the T1 test path, and the associated product term of the T2 test
will have a high probability of feeding at least one OR gate not fed by the T1
product term.
✯ Two or more T2 tests can usually be combined without causing any path
sensitization problem.
☞ The heuristic procedure may not work well for a small percentage of PLAs.
For example, if all AND gates have only one input and the OR gate has p
inputs, where p equals to the number of product lines. This PLA will not be
susceptible to random test path sensitization.
For the residual untested faults, select each of the related product terms
whose output is not 0 and set one of its unspecified inputs to 0.
☞ Since setting one product term to 0 can result in another being forced to
1, the closing algorithm must also iterate n times, using random selection
techniques, where n is a user-specified variable.
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-17
☞ Empirical data show that defect coverage is high. If, however, experience
dictated the need, extra xpt faults can be accommodated by PLA/TG.
① The shift register is used to select an arbitrary product line by setting 0 to the
selected line and 1 to all others (* NOR logic is assumed).
② The control array is used to select any row of the AND array, i.e., to sensitize
any output line of the decoder. To select Q2i 1 , set Xi to 0, all other Xj s to
1, C1 to 0, and C2 to 1. To select Q2i , set Xi to 1, all other Xj s to 0, C1 to 1,
and C2 to 0.
③ The cascade of XOR gates below the OR array is used as a parity checker.
④ The cascade of XOR gates to the left of the OR array also is used as a parity
checker.
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-18
C1 C2
Sin S1 . ... Sm . Sm+1 . Sout xi Q2i 1
C1 C2 Q2i
x1 . . ... . . Q1
. ... Q2
... ... Pi
extra Si
column
xn . ... . Q2n 1
. ... Q2n
... . . F1
... ... ...
extra ... . . Fk
row
. ... . .
... ..
Z1 Z2
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-19
X1 Xi Xn C C S Sj
1 2 1 Sm
+1 Z1 Z2
I 1
0 0 1 0 1 1 0 0
Ij2 0 0 1 0 1 0 1 1 1
Ij3 1 1 0 1 1 0 1 1 1
Ii4 1 0 1 0 1 0 0 m x
Ii5 0 1 0 1 0 0 0 m x
j = 1; : : : ; m + 1; i = 1; : : : ; n;
n=# i/p lines; m=# product lines;
m = 0(1) if m is even (odd).
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002
7. Design for Testability 7-20
References
c Cheng-Wen Wu, Lab for Reliable Computing (LaRC), EE, NTHU 2002