Anda di halaman 1dari 6

Outline: ATPG for stuck at faults

l Deterministic, Fault-Oriented ATG


♦ D-Algorithm
♦ PODEM
♦ FAN

l Random ATG
♦ Weighted random
♦ RAPS

l Test Compaction

ECE 1767 University of Toronto

D-Algorithm
l Roth (1966) proposed a D-algebra and a
deterministic ATG algorithm.
♦ D: good value 1 / faulty value 0
♦ D: good value 0 / faulty value 1
5-valued algebra:
VG / VF
0/0 0
1/1 1
1/0 D
0/1 D
-/X,X/- X

ECE 1767 University of Toronto


D-Algorithm: 5-Valued Operations
A B C
A C 0 0
-
B - 0 0
AND 0 1 D D X
1 1 1
1 X X 0 0 0 0 0 0
1 D X 1 X 1 0 1 D D X
D D 1 D D 0 D D 0 X
1 D 1 D D D 0 D 0 D X
1 D D X 0 X X X X
D
D 1 D
X X D X X
D D D D

ECE 1767 University of Toronto

Fanout-Free Circuit
m s-a-1
X
no conflicts with
implications or
justifications

l Test for m s-a-1 in a fanout-free circuit


♦ begin
s set all lines to X;
s Justify (m, 0); // activate the fault
s Propagate (m, D);
♦ end
ECE 1767 University of Toronto
Justify
Justify d=0 Justify d=1
a d=0 select one i of a d=1 justify (a=1)
b b justify (b=1)
c {a,b,c} & justify i=0 c justify (c=1)
a d=0 justify (a=0) a d=1
b justify (b=0) b select one i of
c justify (c=0) c {a,b,c} & justify i=1
d=0 justify (a=1) d=1
a a justify (a=0)
a d=0 justify (a=1) a d=1 select one i of
b justify (b=1) b
c c {a,b,c} & justify i=0
justify (c=1)
a d=0 select one i of a d=1 justify (a=0)
b b justify (b=0)
c {a,b,c} & justify i=1 c justify (c=0)
ECE 1767 University of Toronto

Propagate (a, D)
Propagate D on line a

D justify (b=1) and


a d
b justify (c=1)
c
D
a d justify (b=0) and
b
c justify (c=0)

b
a1 d
D select one path i ∈ {a1,a2}
a a2 Propagate (i, D)
e
c

ECE 1767 University of Toronto


Test Generation
g g/0
a X
f
i
d e
c h
b
Set g=1
justify (g=1)
justify (a=1), justify (f=1)
justify (d=0), --> justify (c=0)
propagate (g, D)
justify (h, 0)
--> select one, justify (e=0) --> justify (c=0)
ECE 1767 University of Toronto

Test Generation
l What if we make “wrong” selection (decision)?
l What if justify (a=1) fails?
l What if propagate fails?
Set g=0
justify (g=0)
g g/1 select f --> justify (f=0)
a X justify (d=1)
f justify (c=1)
i propagate (g, D)
d e justify (h, 0)
c h select e
b justify (e=0)
justify (c=0) X
ECE 1767 University of Toronto
Backtracking
l Conflicts can occur in circuits with fanout and
reconvergence.
♦ If a decision causes inconsistency, then we need to
backtrack.
♦ A backtracking strategy is simply a systematic
exploration of all decisions (choices).
♦ Conflict/inconsistency/contradiction
s An already-assigned value is different from the value
implied by the last decision.
♦ Bounding conditions
s There is no D left in the circuit.

s The fault is not excited.

s Lookahead indicates that a D cannot propagate.


ECE 1767 University of Toronto

Choice in D-Propagation
d
G2
G5 f1

a D
b G1 X choice
c s-a-1
G3 G6 f2

G4
e d

ECE 1767 University of Toronto


Choice in Line Justification
choice
a k
b q
c l 1
d
m
1
n r 1 s
o
D

e p
f
h X
s-a-1
D
ECE 1767 University of Toronto

General Test Generation Algorithm


l Procedure Imply_and_check() implies and
checks for inconsistency.
l Procedure Solve() is a generic branch-and-
bound procedure.
♦ AND-OR search strategy.
set of problems that must be solved
{a, b, c} AND
solve a
choice {a1 OR a2 OR a3}
solve a1 solve a3
AND {x, y} {f, g, h} AND
solve x
Failure Failure Success Success Success
ECE 1767 University of Toronto

Anda mungkin juga menyukai