Testing in the Fourth Dimension - IISc-SERC

VLSI Testing
Combinational
Combinational ATPG
ATPG
Algorithms
Algorithms
Virendra Singh
Indian Institute of Science (IISc)
Bangalore
[email protected]
E0-286: Testing and Verification of SoC Design
Lecture – 13
Feb 18, 2008
E0-286@SERC
1
FANout
FANout –– oriented
oriented
test
test generation
generation
FAN
FAN
(Fujiwara,
(Fujiwara, 1983)
1983)
Feb 18, 2008
E0-286@SERC
2
TG
TG Algorithms
Algorithms
Objective
™ TG time reduction
¾ Reduce number of backtracks
¾ Find out the non-existence of solution as
¾
Feb 18, 2008
soon as possible
Branch and bound
E0-286@SERC
3
FAN
FAN Algorithm
Algorithm
™ New concepts:
¾ Immediate assignment of uniquely¾
¾
¾
Feb 18, 2008
determined signals
Unique sensitization
Stop Backtrace at head lines
Multiple Backtrace
E0-286@SERC
4
FAN
FAN Algorithm
Algorithm
Strategies:
Strategy1:
¾ In step of the algorithm determine as many
signal values as possible
™ Implication
Strategy 2:
¾ Assign faulty signal D or D’ that is
uniquely determined or implied by the
fault in question
Feb 18, 2008
E0-286@SERC
5
PODEM
PODEM Fails
Fails to
to Determine
Determine
Unique
Unique Signals
Signals
„
Backtracing operation fails to set all 3 inputs
of gate L to 1
Causes unnecessary search
Feb 18, 2008
E0-286@SERC
6
FAN
FAN ---- Early
Early Determination
Determination of
of
Unique
Unique Signals
Signals
„
Determine all unique signals implied by
current decisions immediately
Avoids unnecessary search
Feb 18, 2008
E0-286@SERC
7
PODEM
PODEM Makes
Makes Unwise
Unwise Signal
Signal
Assignments
Assignments
1
0
„
0
0
1
Blocks fault propagation due to assignment J = 0
Feb 18, 2008
E0-286@SERC
8
FAN
FAN –– Unique
Unique sensitization
sensitization
J=1
A=1
C=1
F =D’
H =D
K
M
B=0
E =D
„
G =1
L=1
FAN immediately sets necessary signals to
propagate fault
Unique sensitization and implication
Partial sensitization, which uniquely determined,
is called unique sensitization
Feb 18, 2008
E0-286@SERC
9
FAN
FAN Algorithm
Algorithm
Strategies:
Strategy 3:
¾ When the D-frontier consists of a single
gate, apply a unique sensitization
Strategy 4:
¾ Stop the backtrace at a headline, and
postpone the line justification for the
headline to later
Feb 18, 2008
E0-286@SERC
10
Headlines
Headlines
H
E
F
J
A
M
K
L
B
C
•
When a line L is reachable from a fanout point,
L is said to be bound
•
A signal line that is not bound is said to be free
•
When a line is adjacent to some bound line, it
is said to be head line
Feb 18, 2008
E0-286@SERC
11
Decision
Decision Trees
Trees
H
E
F
A
J
B
C
0
M
K
L
A=1
J=1
B=1
B=0
J=0
C=0
C=1
Backtracking at Head-lines
PODEM
Feb 18, 2008
E0-286@SERC
12
FAN
FAN Algorithm
Algorithm
Strategies:
Strategy 5:
¾ Multiple backtracing (concurrent backtracing
of more than one path) is more efficient than
backtracing along a single path
Objective for multiple backtrace
™ Triplet
™ (s, n0(s), n1(s))
Feb 18, 2008
E0-286@SERC
13
Multiple
Multiple Backtrace
Backtrace
FAN – breadth-first
passes –
1 time
PODEM –
depth-first
passes – 6 times
Feb 18, 2008
E0-286@SERC
14
FAN
FAN Algorithm
Algorithm
Objective for multiple backtrace
™ Triplet
™ (s, n0(s), n1(s))
AND gate
™ Let X be the easiest to set to 0 input
n0(X) = n0(Y), n1(X) = n1(Y)
For other inputs Xi
n0(Xi) = 0 , n1(Xi) = n1(Y)
OR gate
Let X be the easiest to set to 1 input
n0(X) = n0(Y), n1(X) = n1(Y)
For other inputs Xi
n0(Xi) = n0(Y) , n1(Xi) = 0
Feb 18, 2008
E0-286@SERC
15
FAN
FAN Algorithm
Algorithm
NOT gate
n0(X) = n1(Y), n1(X) = n0(Y)
Fanout points
n0(X) = ∑ n0(Xi), n1(X) = ∑ n1(Xi)
Feb 18, 2008
E0-286@SERC
16
AND
AND Gate
Gate Vote
Vote Propagation
Propagation
[5, 3]
[0, 3]
[5, 3]
[0, 3]
[0, 3]
„
AND Gate
Easiest-to-control Input –
„
„
# 0’s = OUTPUT # 0’s
# 1’s = OUTPUT # 1’s
All other inputs -„
„
Feb 18, 2008
# 0’s = 0
# 1’s = OUTPUT # 1’s
E0-286@SERC
17
Multiple
Multiple Backtrace
Backtrace
Fanout
Fanout Stem
Stem Voting
Voting
[5, 1]
[1, 1]
[3, 2]
[18, 6]
[4, 1]
[5, 1]
„
Fanout Stem -# 0’s = Σ Branch # 0’s,
# 1’s = Σ Branch # 1’s
Feb 18, 2008
E0-286@SERC
18
FAN
FAN
(A, 1. 0)
(G,0.1) (J, 0. 1)
(k, 0. 1)
(D, 2. 0)
(q, 0. 1)
(N, 1. 0)
(H, 0. 2)
(L, 0. 1)
(E, 0. 1)
Feb 18, 2008
(M, 0. 1)
E0-286@SERC
(P, 0. 1)
(R, 1. 0)
19
FAN
FAN Algorithm
Algorithm
Strategies:
Strategy 6:
¾ In the multiple backtrace, if an objective at a
fanout point p has a contraditory
requirement, that is, if both n0(p) and n1(p)
are non-zero, stop backtrace so as to assign
a binary value to the fanout point.
Feb 18, 2008
E0-286@SERC
20
FAN
FAN -- Algorithm
Algorithm
Start
Set a faulty signal
Set backtrace flag
Implication
Is continuation of
backtrace meaningful?
Set backtrace flag
Faulty signal propagated
to PO?
The number of
gatesin D-frontier?
Is there an untried
combination of values on
headlines or FOs?
No test
exists
Feb 18, 2008
Unique
sensitization
Set untried
Combination Of values;
and set backtrace flag
E0-286@SERC
Is there any unjustified
bound lines?
Line justification
For free lines
Determine a final
Test
Objective to
Assign a value generated
Assign value to the
final obj. line
21