Sunteți pe pagina 1din 21

VLSI Testing

Combinational
Combinational ATPG
ATPG
Algorithms
Algorithms

Virendra Singh
Indian Institute of Science (IISc)
Bangalore
virendra@computer.org

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
soon as possible
¾ Branch and bound

Feb 18, 2008 E0-286@SERC 3


FAN
FAN Algorithm
Algorithm

™ New concepts:
¾ Immediate assignment of uniquely-
determined signals
¾ Unique sensitization
¾ Stop Backtrace at head lines
¾ Multiple Backtrace

Feb 18, 2008 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

0
0 1 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 M
F

K
A J

B L
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 M
F

K
A J

B L
0
C

A=1

J=1
B=1
B=0
J=0
C=1
C=0 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 --
„ # 0’s = 0
„ # 1’s = OUTPUT # 1’s
Feb 18, 2008 E0-286@SERC 17
Multiple
Multiple Backtrace
Backtrace
Fanout
Fanout Stem
Stem Voting
Voting
[5, 1]
[1, 1]
[18, 6] [3, 2]

[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) (q, 0. 1)
(k, 0. 1)
(N, 1. 0)

(H, 0. 2)
(D, 2. 0)

(L, 0. 1)
(P, 0. 1)
(R, 1. 0)
(E, 0. 1) (M, 0. 1)

Feb 18, 2008 E0-286@SERC 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?
Is there any unjustified
bound lines?
The number of
gatesin D-frontier? Line justification
For free lines
Is there an untried Unique
combination of values on Determine a final
sensitization Test
headlines or FOs? Objective to
Assign a value generated

Set untried Assign value to the


No test Combination Of values; final obj. line
exists and set backtrace flag

Feb 18, 2008 E0-286@SERC 21

S-ar putea să vă placă și