Professional Documents
Culture Documents
Testing 10
Testing 10
ATPG
ATPG Algorithms
Algorithms
Virendra Singh
Indian Institute of Science (IISc)
Bangalore
virendra@computer.org
Test
Backtrack to the last No generated
point a choice existed
Select a gate from D-frontier
and propagate D-cube of the
Selected gate as C
Feb 9, 2008 E0-286@SERC 2
D-Algo
D-Algo (Line
(Line Justification)
Justification)
Begin
No Test has
Is there any line in tc been
which are not justified? generated
Yes
Select an unjustified line and
a singular cube C to justify the line
D
1 D
0
D D
1 D
1
D
0
D D
1 D
1 1
D
0
D D
1 D
1 1
D
0
D D
1 D
1 1
0 D
0
0
D D
1 D
X
1 1
0 D
0 0
0
D D
1 D
Test cube: A, B, C, D, e, f, g, h, k, L
Feb 9, 2008 E0-286@SERC 10
D-Algorithm
D-Algorithm :: Example
Example
1
D’
1 1 D
1 0
D’ 1
D’
1
1 0
1 D’ 1
D’
¾ Logic values {0/0, 1/1, 0/1, 1/0, 0/u, 1/u, u/0, u/1, u/u}
0/u = {0, D’}, 1/u = {D, 1}, u/0 = {0, D}, u/1 = {D’, 1}
u/u = {0, 1, D, D’}
D’
1 0
D
1/u
D’
No Backtracking
P.
P. Goel,
Goel, IBM,
IBM, 1981
1981
Feb 9, 2008 E0-286@SERC 18
PODEM
PODEM
Yes
Test Is there a D or D’
generated on any PO?
No
May be
Test Possible with additional
Assigned PIs?
No
1
D’
1 D
D’ 1
D’
1
1 0
1 D’ 1
sa1
sa1
sa1
1
0
sa1
1
1
0
0
sa1
1
1
0
0
sa1
1
1
0
0
sa1
1
1
0
0
1 sa1
1
0
0 sa1
1
1
sa1
1
1
sa1
1
1
0 sa1
1
1
1 sa1
0
1
1
1
1 1 sa1 D
D
0
D
D
X
v = vs;
while (s is a gate output)
if (s is NAND or INVERTER or NOR) v = v;
if (objective requires setting all inputs)
select unassigned input a of s with hardest
controllability to value v;
else
select unassigned input a of s with easiest
controllability to value v;
s = a;
return (s, v) /* Gate and value to be assigned */;