Académique Documents
Professionnel Documents
Culture Documents
ATPG
ATPG Algorithms
Algorithms
Virendra Singh
Indian Institute of Science (IISc)
Bangalore
virendra@computer.org
E0-286: Testing and Verification of SoC Design
Lecture - 9
Feb 6, 2008
E0-286@SERC
Path
Path Sensitization
Sensitization
General Structure of TG Algorithm
begin
set all values to x
Justify (l, v)
if (v = 0) then Propagate (l, D)
else Propagate (l, D)
end
Feb 6, 2008
E0-286@SERC
D-Algorithm
D-Algorithm Roth
Roth
IBM
IBM
(1966)
(1966)
Feb 6, 2008
E0-286@SERC
D-Algorithm
D-Algorithm :: Example
Example
1
D
1
0
1
D
1
Feb 6, 2008
E0-286@SERC
1
4
D-Algorithm
D-Algorithm :: Example
Example
1
D
1 1
1
1
1
D
1
1
1
Feb 6, 2008
E0-286@SERC
1
5
Value
Value Computation
Computation
Feb 6, 2008
E0-286@SERC
Decision
Decision Tree
Tree
Feb 6, 2008
E0-286@SERC
D-Algorithm
D-Algorithm Roth
Roth
IBM
IBM
(1966)
(1966)
D-Cube
D-Calculus
Implications forward and backward
Implication stack
Backtrack
Test Search Space
Feb 6, 2008
E0-286@SERC
Singular
Singular Cover
Cover Example
Example
Gate
AND
1
2
3
Feb 6, 2008
Inputs Output
1
X
0
X
1
0
F
0
0
1
D-Cube
D-Cube
Feb 6, 2008
E0-286@SERC
A
D
1
D
D
1
D
B
1
D
D
D
D
1
D
D
D
D
D
D
10
D-Cube
D-Cube Operation
Operation of
of
D-Intersection
D-Intersection
undefined (same as )
or requires inversion of D and D
D-intersection: 0 0 = 0 X = X 0 = 0
1 1 = 1 X = X 1 = 1
X X = X
D-containment
Cube a contains
Cube b if b is a
subset of a
Feb 6, 2008
0
1
X
D
D
0
0
E0-286@SERC
1
1
X
0
1
X
D
D
11
Primitive
Primitive D-Cube
D-Cube of
of Failure
Failure
Stuck-at-0
Stuck-at-1
Bridging fault (short circuit)
Feb 6, 2008
E0-286@SERC
12
Implication
Implication Procedure
Procedure
1. Model fault with appropriate primitive
D-cube of failure (PDF)
2. Select propagation D-cubes to
E0-286@SERC
13
D-Algorithm
D-Algorithm Top
Top Level
Level
1. Number all circuit lines in increasing level
order from PIs to POs;
2. Select a primitive D-cube of the fault to be
the test cube;
Put logic outputs with inputs labeled as
D (D) onto the D-frontier;
3. D-drive ();
4. Consistency ();
5. return ();
Feb 6, 2008
E0-286@SERC
14
D-Algorithm
D-Algorithm D-drive
D-drive
while (untried fault effects on D-frontier)
select next untried D-frontier gate for propagation;
while (untried fault effect fanouts exist)
E0-286@SERC
15
D-Algorithm
D-Algorithm -- Consistency
Consistency
g = coordinates of test cube with 1s & 0s;
if (g is only PIs) fault testable & stop;
for (each unjustified signal in g)
Select highest # unjustified signal z in g, not a PI;
if (inputs to gate z are both D and D) break;
while (untried singular covers of gate z)
Feb 6, 2008
E0-286@SERC
16
Backtrack
Backtrack
if (PO exists with fault effect) Consistency ();
else pop prior implication stack setting to try
alternate assignment;
if (no untried choices in implication stack)
fault untestable & stop;
else return;
Feb 6, 2008
E0-286@SERC
17
Circuit
Circuit Example1
Example1
Inputs
A
0
0
0
0
1
1
1
1
Feb 6, 2008
E0-286@SERC
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
Output
F
0
0
0
1
0
0
0
0
18
Singular
Singular Cover
Cover &
& D-Cubes
D-Cubes
A
1
0
D
1
D
Feb 6, 2008
0
1
0
1
D
D
D
1
D
d
1
0
0
1
D
D
1
0
D
D
D
D
0
D
e
0
1
1
1
0
D
D
D
0
D
D
Propagation D-cubes
0
0
1
D
D
D
E0-286@SERC
Conditions under
which difference
between good/failing
machines propagates
19
Steps
Steps for
for Fault
Fault d
d sa0
sa0
Step A B C d e F
1
1 1
D
2
3
Feb 6, 2008
Cube type
PDF of AND gate
E0-286@SERC
20
Thank You
Feb 6, 2008
E0-286@SERC
21