Unit 2
Unit 2
Introduction :
CO-2 Analyze and design test patterns for combinational logic circuits (L2)
Several distinct test generation methods have been developed over the years
for combinational circuits.
These methods are based on the assumptions that a circuit is nonredundant and
only a single stuck-at fault is present at any time
Circuit under test
Fault Matrix
Fault Matrix
B F2 s-a-0
f
F6 s-a-1
C
F3 s-a-0 F5 s-a-0
0 0 1 0 0 0 1 1 0 1 1 1 1
0 1 0 1 1 1 1 1 0 1 1
0 1 1 0 1 0 1 1 0 1 1 1 1 1
1 0 0 1 1 1 1 1 0 1 1
1 0 1 0 0 0 1 1 0 1 1 1 1
1 1 0 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1 1
0 1 1 1 1 1 1
1 1 1 1
Path Sensitization
The basic principle of the path sensitization method is to choose some path
from the origin of the fault to the circuit output
A path is sensitized if the inputs to the gates along the path are assigned
values such that the effect of the fault can be propagated to the output
Example
0
A
1/0
1
B 0/1
G3
C
0 1 s-a-1
G1 G2
Input NAND NOR
Forward Trace
G2 = 0, Both inputs to G2 must be 1, A B Y Y
A=0 0 0 1 1
Backward Trace 0 1 1 0
B = 1 and G1 = 1 1 0 1 0
C=0 1 1 0 0
Test Vector : ABC = 010
G1 = 0, A = B = 0 or A = 0, B = X or A = X, B = 0 1 1 0 1 0
G5 = 1, F = 0
Test Vector, ABCDEF = 0000X0, 0XXX00, X0XX00 …………
Input NAND
A B Y
0 0 1
0 1 1
1 0 1
1 1 0
C S-a-0
Input NOR
A B Y
0 0 1
s-a-0 0 1 0
1 0 0
1 1 0
Path : G6, G8
For s-a-0, to sensitize the fault: G2=1, B=C=0,
To propagate the fault through G6 and G8: D=0, G4=G5=G7=0
Since B and D=0 is already set, G3=1, G7=0
To set G5=0: A=1 hence G1=0, To make G4=0, B must be = 1, but B=0 already
set , not possible to set G4 o/p to 0 Hence not possible to propagate
ECE16 VLSI Testing and Verification VIII Semester
Problem
Find the test pattern by using path sensitization method?
Input NOR
A B Y
0 0 1
s-a-0 0 1 0
1 0 0
1 1 0
Path : G5, G8
s-a-0, to sensitize the fault: G2=1, B=C=0,
To propagate the fault through G5 and G8: A=0, G4=G6=G7=0
For G6=0, D=1, Since B=0 and D=1, G3=0,
To set G7=0, C must be=1, but already C is set 0 to sensitize fault
A=0, D=1, G1=0, To set G4=0, B must be=1, Hence not possible to propagate
ECE16 VLSI Testing and Verification VIII Semester
Problem
Find the test pattern by using path sensitization method?
Input NOR
A B Y
0 0 1
s-a-0 0 1 0
1 0 0
1 1 0
Assume ABCD=0000
G2=1/0, G1=1, G3=1, G4=0, G5=0/1, G6=0/1, G7=0
G8=1/0
This example shows the necessity of sensitizing more than one path in deriving
tests for certain faults
19
D - Algorithm
The D-algorithm is guaranteed to find a test if one exists for detecting a fault
1. Generate / Trigger fault
2. Propagate fault from its origin to output
3. Consistency set of inputs for detecting the fault
It uses a cubical algebra for automatic generation of tests
Three types of cubes are considered
Singular Cube
Propagation D Cube
Primitive D cube of a fault
OR gate A B Y A B Y
0 0 0 0 0 0
0 1 1 1 X 1
1 0 1 X 1 1
1 1 1
NAND gate A B Y A B Y
0 0 1 0 X 1
X 0 1
0 1 1
1 1 0
1 0 1
1 1 0
NOR gate A B Y A B Y
0 0 1 0 0 1
0 1 0 1 X 0
X 1 0
1 0 0
1 1 0
NOT gate A Y
0 1
1 0
A Y
Buffer
0 0
1 1
B Y
A B Y A B Y
0 X 0 X X 0
X 0 0
1 1 1
A B Y
1 1 D
AND gate
A s-a-1
B Y
A B Y A B Y
0 X 0 X X 1
X 0 0
1 1 1
A B Y
0 X D
X 0 D
OR gate
A s-a-0
B Y
A B Y A B Y A B Y
0 0 0 X X 0 1 X D
1 X 1 X 1 D
X 1 1
A s-a-1 A B Y A B Y
0 0 0 X X 1
Y 1 X 1
B
X 1 1
A B Y
0 0 D
NAND gate A B Y A B Y
0 X 1 X X 0
A s-a-0 X 0 1
A B Y
1 1 0
B Y 0 X D
X 0 D
A s-a-1
A B Y A B Y
Y 0 X 1 X X 1
B
X 0 1
A B Y
1 1 0
1 1 D
NOR gate A B Y A B Y
0 0 1 X X 0
A s-a-0 1 X 0
A B Y
X 1 0
B Y 0 0 D
A B Y A B Y
0 0 1 X X 1
A s-a-1 1 X 0
A B Y
X 1 0
B Y 1 X D
X 1 D
NOT gate A Y
A Y A Y
A s-a-0 0 1
X 0 0 D
1 0
Y
A s-a-1 A Y
A Y A Y
0 1
X 1 1 D
Y 1 0
Buffer
A Y
A s-a-0 A Y A Y
0 0
X 0 1 D
1 1
Y
A Y
A s-a-1 A Y A Y
0 0
X 1 0 D
1 1
Y
OR Gate A B Y A B Y
0 0 0 D 0 D
1 X 1 0 D D
X 1 1
A B Y A B Y
0 X 1 D 1 D
X 0 1 1 D D
1 1 0
A B Y A B Y
0 0 1 D 0 D
1 X 0 0 D D
X 1 0
A Y A Y
0 1 D D
1 0
A Y A Y
0 0 D D
1 1
A B C D
X X X X
PDCF of G1 for generating fault s-a-0 0 X D X
0 X D X
PDC of G2 TO propagate fault X X D D
0 X D D
Consistency check 0 X D D
C G2 A Y
F Singular
0 1
Cube NOT
1 0
A B C D E F G
X X X X X X X
PDCF of G3 for generating fault s-a-1 1 X X 1 D X X
1 X X 1 D X X
PDC of G4 to propagate fault X X X X D 1 D
1 X X 1 D 1 D
Consistency check (G1) X 0 X X X X X
1 0 X 1 D 1 D
Consistency check (G2) X X 0 X X X X
1 0 0 1 D 1 D
s-a-1
Test Vector : AB = 11
B F
G1
C G4
I
G3
H
D G2 s-a-0
E G
s-a-1
Since a test for fault l s-a-1 is to be derived, the initial objective is to set l to 0
Either B or C can be assigned 1 to satisfy the objective
Assuming we choose B to be at 1, the result of the forward propagation is
A B C l m n p F A B Y
1 X D
X 1 X D 0 X X X X 1 D
s-a-1
A B C l m n p F
X 1 X D 0 X X X
The next objective is to propagate D through n to output F. This can be done by
assigning a proper logic value to C. If C = 1, propagation of D is blocked, hence
C=0
A B Y
A B C l m n p F D 0 D
X 1 0 D 0 D D X 0 D D
The final objective is to propagate D to output F. This can be done by assigning
A=0
a b c d e f g h i j k l m
X X 1 1 1 1 X D 0 X D X X
To propagate through G5, j =1, a=1 or b=1
a b c d e f g h i j k l m
1 X 1 1 1 1 X D 0 1 D D X
Test Vector: a b c d e f g = 1X1111X
53
The initial objective is to set the
output of gate A to logic 1; that is,
the objective logic level is 1 on net.
Both primary inputs x1 and x2 drive
gate A.
54
Thus, the test for the fault α s-a-0 is x1x2x3x4=0000.
55
Problem
Find test vector for F s-a-1 fault by using PODEM
A F s-a-1
G2
G4 G
B
G1 G3
C D E
57
FAN
Several terms have to be defined before discussing the
test generation process used by FAN:
• bound line: a gate output that is part of a
reconvergent fan-out loop.(i.e the line fed
directly or indirectly by fanout stem)
• free line: one that is not bound is
considered to be free line
• headline: a free line that is either:
(i) fanout stem
(ii) input to a gate with bound output
58
To identify bound line, free line and head
line in the given circuit
bound line: the line fed directly (I, j) or indirectly (m) by fanout stem)
59
60
FAN
The FAN algorithm is in principle similar to PODEM but is made more efficient by
reducing the number of backtracks
FAN uses a technique called multiple backtracks to reduce the number of
backtracks that must be made during the search process
Example E=1
C=0
F=1 H=1
G=0 H=0
G=1
Since this assignment fails to achieve the desired objective, the backtrack
process is performed via another path, for example, H−G−F−C
Thus, in PODEM, several backtracks may be necessary before the requirement
of setting up a particular logic value on a line is satisfied.
FAN avoids this waste of computation time by backtracking along multiple
paths to the fan-out point
If multiple backtrack is done via both H−E−C and H−G−F−C, the value at C
can be set so that the value at H is justified
In PODEM, a logic value assigned to a primary input in order to achieve one
objective may in turn result in the failure of satisfying another objective,
thereby forcing a backtrack
E=1 N=1
F=1
I=1
Application of the FAN algorithm to derive a test for the fault Z s-a-0
First, the value D is assigned to the line Z and the value 1 to each of the inputs
M and N. The initial objectives are to set M and N to 1
By the multiple backtrack, G and I are assigned 1 (note that instead of G and I,
L could be assigned logic 1).
Again, by the multiple backtrack, we have the final objectives A=l, B=l and
E=1, F=l.
G=1
A=1
B=1
M=1
Z=1
E=1 N=1
F=1
I=1
The assignment A=1, B=l makes J=1, M=1, and the assignment E=1, F=1
makes I=1, N=1. Thus, the assignments A=B=E=F=1 constitute a test for the
fault Z s-a-0.
If the first multiple backtracks stopped at L and the second multiple backtrack
at H, the test for the fault would be C=D=1.
A=0 G G=0
I=1
s-a-0
H=0
E=0
F=0
J=1