Lecture 2
ATPG problem
Example
Algorithms
Multi-valued algebra
D-algorithm
Podem
FAN
ATPG system
Summary
ATPG:
Automatic test pattern generation
Given
A circuit (usually at gate-level)
A fault model (usually stuck-at type)
Find
A set of input vectors to detect all modeled faults.
Core
solution: Find a test vector for a
given fault.
Combine the core solution with a fault
simulator into an ATPG system.
What is a Test?
Fault activation
Fault effect
Primary inputs
(PI)
X
1
0
0
1
0
1
X
X
Combinational circuit
Stuck-at-0 fault
1/0
1/0
Primary outputs
(PO)
Path sensitization
An ATPG Example
1Fault activation
2Path sensitization
3Line justification
ATPG Example (Cont.)
1Fault activation
2Path sensitization
3Line justification
1
D
D
D
0
D
1
ATPG Example (Cont.)
1Fault activation
2Path sensitization
3Line justification
1
D
D
1
1
Conflict
1
1
ATPG Example (Cont.)
Backtrack
1Fault activation
2Path sensitization
3Line justification
0
1
D
D
Copyright 2001, Agrawal
& Bushnell
Day-1 PM Lecture 6
ATPG Example (Cont.)
1Fault activation
2Path sensitization
3Line justification
0
0
1
D
D
1
Test found
Copyright 2001, Agrawal
& Bushnell
Day-1 PM Lecture 6
ATPG Example (Cont.)
1Fault activation
2Path sensitization
3Line justification
0
0
1
D
D
1
Test found
9
Podem (Goel, 1981)
Podem: Path oriented decision making
Step 1: Define an objective (fault activation, D-drive, or line
justification)
Step 2: Backtrace from site of objective to PIs (use testability
measures guidance) to determine a value for a PI
Step 3: Simulate logic with new PI value
If objective not accomplished but is possible,
then continue backtrace to another PI (step 2)
If objective accomplished and test not found,
then define new objective (step 1)
If objective becomes impossible, try alternative
backtrace (step 2)
Use X-PATH-CHECK to test whether D-frontier still there a
path of Xs from a D-frontier to a PO must exist.
10
kt
c
ba
e
c
ra
ic
g
lo
n
io
t
a
ul
m
si
iv
t
ec
j
ob
t
1
ge
0
0
0
x
getobjective( backtrace()
)
logicsimulati
on()
D-frontier
f=1
c=0
d=0, e=0
implies h=0
a=1
g=D, z=D
f/0 detected
PODEM Objectives and Decisions for f
PODEM
b Stuck-At-0
Figure 1
g Stuck-At-0
Figure 2
Summary
Most combinational ATPG algorithms use D-algebra.
D-Algorithm is a complete algorithm:
Finds a test, or determines the fault to be redundant
Complexity is exponential in circuit size
Podem is also a complete algorithm:
Works on primary inputs search space is smaller than that of Dalgorithm
Exponential complexity, but several orders faster than Dalgorithm
More efficient algorithms available FAN, Socrates, etc.