Professional Documents
Culture Documents
FALLSEM2013 14 - CP0118 - 23 Aug 2013 - RM01 - L06 Combinational ATPG PDF
FALLSEM2013 14 - CP0118 - 23 Aug 2013 - RM01 - L06 Combinational ATPG PDF
Introduction
Basic problem:
Input:
A combinational circuit
A fault list
Output:
A set of test vectors
List of undetected faults
Broad Approaches
From truth table
Impractical
s-a-0
f
c
abc
000
001
010
011
100
101
110
111
f
0
0
0
0
0
1
1
1
f
0
0
0
0
0 Impractical !!
1
0
1
Since f = ab+ac, f = ac
T = the set of all tests for fault
= ON_set(f) OFF_set(f) + OFF_set(f)
ON_set(f)
= {(a,b,c) | (ab+ac)(ac)' + (ab+ac)'(ac) = 1}
= {(a,b,c) | abc'=1}
= { (110) }.
High complexity !!
Since it needs to compute the faulty
function for each fault.
Boolean Difference
Algebraic method for determining the
complete set of tests that detect a given
fault.
Definition:
The Boolean difference of a function
f(x1,x2,,xn) with respect to one of its variables
xi is defined as
df(X)
dxi = f(x1,,xi-1,0,xi+1,,xn)
f(x1,,xi-1,1,xi+1,,xn)
= fi(0) fi(1)
6
Some results:
The set of tests which detect the fault xi/0 is
given by the equation
xi df(X) = 1
dxi
df(X)
dxi = 1
Example
x1
x2
Generate tests
for x3/0 and x3/1
f
x3
x4
Example
x1
x2
Generate tests
for h/0 and h/1
h
f
x3
x4
Example
x1
x2
x3
x4
10
12
Example
Generate test
for h/1
x1
x2
x3
f1
x4
x5
h
f2
13
15
Another Example
Generate test
for h/0
G4
x1
G1
G5
x2
x3
G2
G8
G6
x4
G3
G7
16
Analysis:
If we were allowed to sensitize both paths
through G5 and G6 simultaneously, a test
can be generated.
We, therefore, need 2-D path sensitization.
17
18
20
0 1 D D X
0 1 D D X
0
1
D
D
X
0
1
D
D
X
0 0 0 0 0
0 1 D D X
0 D D 0 X
0 D 0 D X
0 X X X X
0 1 D D X
1 1 1 1 1
D 1 D 1 X
D 1 1 D X
X 1 X X X
OR
AND
0 1 D D X
0
1
D
D
X
0 1 D D X
1 0 D D X
D D 0 1 X
D D 1 0 X
X X X X X
EXOR
21
22
Some Definitions
Basic gates like AND, OR, NAND
and NOR can be characterized
by two parameters:
1. Controlling value: The value of an
input is said to be controlling if it
determines the value of the gate
output regardless of the values of
the other inputs.
AND
OR
NAND
NOR
X
0
X
25
26
Example 1
a
b
c
d
e
f
h
Generate test
for f/0
g
i
27
Example 2
g
d
a
b
c
f1
Generate test
for h/1
h
f2
i
28
Example 3
a
b
k
q
c
d
l
m
n
o
e
f
h
p
Generate test
for h/1
29
Some Comments
It is seen that in general, search for a test
may need backtracking.
The algorithms as presented does not
implement backtracking.
Must be incorporated in any real implementation.
This makes the algorithm more complex.
May even fail to generate test for some faults.
30
D Algorithm
Concepts presented builds the foundation for D
algorithm, and its derivatives.
Definition:
D-Frontier: It consists of all gates whose
output value is currently X but have one or
more error signals (D or D) on their inputs).
Error Propagation:
Select one gate from D-frontier and assign
values to the unspecified gate inputs so that
the gate output becomes D or D.
(called D-DRIVE OPERATION)
31
d'
d
e'
e
0 a
1 b
1 c
j
n
k
g
D
f'
f
h
1
i
l
m
32
1d
d'
0
e'
e
0 a
1 b
1 c
n
k
g
D
f'
f
h
1
i
D'
j
l
m
33
0 a
1 b
1 c
1d
d'
0
1e
e'
0
g
D
f'
f
h
1
i
D'
j
1
k
1=D'
l
1
m
n D
conflict=>backtracking!
1
34
0 a
1 b
1 c
1d
d'
0
1e
e'
0
g
D
f'
f
h
1
i
D'
j
1
k
D'
l
35
0 a
1 b
1 c
1d
d'
0
1e
e'
0
1f
f'
0
g
D
h
1
i
D'
j
1
k
D'
l
1
m
n D
conflict=>backtracking!
1=D'
36
0 a
1 b
1 c
1d
d'
0
1e
e'
0
1f
f'
0
g
D
h
1
i
D'
j
1
k
D'
l
1
m
n D
D'
37