Professional Documents
Culture Documents
D Algo PDF
D Algo PDF
ATPG Algorithms
Characteristics of the three main algorithms:
• Roth’s D-Algorithm (D-ALG) defined the calculus and algorithms for
ATPG using D-cubes.
• Goel’s PODEM used path propagation constraints to limit the ATPG search
space and introduced backtrace.
• Fujiwara’s FAN efficiently constrained the backtrace to speed up search
and further limited the search space.
A
d AND a b d NOR d e F
B F 1 0 X 0 4 1 X 0
e
2 X 0 0 5 X 1 0
C 3 1 1 1 6 0 0 1
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
1 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
• D-intersection: Define how different D-cubes can coexist for different gates in
a logic circuit.
0∩0 = 0∩X = X∩0 = 0 Rule: If one cube assigns a specific
1∩1 = 1∩X = X∩1 = 1 signal value, the other cubes must
X∩X = X assign either the same signal or X
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
2 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
3 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
For the AND gate, the PDF for output SA0 is "1 1 D"
Here the good machine generates a 1 when both inputs are 1, while
the bad machine generates a 0.
The PDFs for the AND gate output SA1 are "0 X D" and "X 0 D".
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
4 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
The D-algorithm’s main problem is that it selects cubes and singular covers
arbitrarily during test generation.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
5 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
D-ALG
Select a fault
Start Generate a PDF
no no
Inconsistency? Inconsistency?
no no
Backup one level Backup one level
select another path select another path
Revisiting no no Options
a node? exhausted?
No pattern
yes exists yes
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
6 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
D-ALG Examples
Assign PDF A B C d e F
A 1 SA0 1 1 1
1 1 d 0 0
Singular Cover
D F 0 0
B e 2
D 1 1 0
3 0
C 1 0 1
Propagate 0 1
Consistency 1 0
1 0
Truth Table 0 0 1
A B C F A B C d e F
0 0 0 0 Propagation D-cubes D 1 D
0 0 1 0 1 D D
0 1 0 0 D D D
0 1 1 1 D 1 D
1 0 0 0 1 D D
1 0 1 0 D D D
1 1 0 0 D 0 D
1 1 1 0 0 D D
D D D
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
7 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
D-ALG Examples
The following procedure is carried out for d SA0 in the previous circuit:
Step A B C d e F Type of cube
1 1 1 D PDF for AND gate
2 D 0 D Propagation D-cube for NOR gate
3 1 1 0 Singular cover of NAND gate
Example #2:
Consistency
DX k
0 1 4
C0 g
5 1
B0 f D
e 0 6 D 3
D 7
1 0 h
2
AD
SA0
Assign PDF Propagate
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
8 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
D-ALG Examples
Steps followed to generate test cube (tc):
Step A B C D e f g h k L
D-drive 1 D
2 D 0 D
3 D 0 D 1 D
Consistency 4 or 1 1
5 not 0 1
6 or 0 0 0
7 and 0 0
tc D 0 0 0 0 1 D 1 D
D-chain dies
Note that all implications are performed in the consistency procedure here.
A later example by our authors indicates the implications are carried out
after each D propagation step in the D-drive?
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
9 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
D-ALG Examples
Example #3:
Consistency 1
F 4
E 1
C 0 1 5
SA0 1 D
B 1 6 3
D
D
1
A 1 2
Assign PDF Propagate
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
10 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
D-ALG Examples
Example #4:
e
f 5 0 X
r
n
1 D 1
A 1 d g SA1 t
6 m
B 1 1 k 4 s 2 D Y
1 p q 0
3
h
u
D
9 i 7 v
8 D
1 Z
C
Assign PDF Propagate Consistency
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
11 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
D-ALG Examples
Example #5:
e FAIL
f (backtrack) X
7 r
n
d g 1
A t
3 m
B 0 0 k 4 s 0 Y
1 p q 0 6
5 SA1
h
1 D
u D
i 2 v
Z
C
Assign PDF Propagate Implications
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
12 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
PODEM
In late ’70s, IBM introduced error correction and translation (ECAT) to their
DRAM to increase reliability.
D-ALG fails on attempts to generate tests for these circuits because the search
is not directed.
A
H SA1 D 1
4 B
3 choice 1 2
C 0 j 0 3
p D
E 1 1 R D
n
F 1
G 1 k choice
1
5 The only valid tests
6 l 0
FAIL require that these
q 1
are opposite.
m
1
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
13 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
PODEM
PODEM (Path-Oriented Decision-Making) introduced several standard
ATPG concepts:
• PODEM expands the binary decision tree around the PIs and not around
all circuit signals.
This reduces the size of the tree from 2n to 2num_PIs.
• PODEM introduced objectives and realized that choosing PIs to set was
important in efficiently realizing objectives.
Backtracing was used to obtain a PI assignment given an initial objective.
PODEM considered the length of the path between the objective and the
POs and used controllability measures to guide the ATPG algorithm.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
14 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
PODEM
PODEM starts at the PIs instead of at faulty line like D-ALG.
Is there a D yes
or D on any PO? Pattern
no
Is there any no
untried combo on No Pattern
assigned PIs? exists
yes
Involves choosing objectives
and performing backtrace. Set untried combo
on assigned PIs.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
15 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
FAN
Fujiwara and Shimono introduced several novel concepts to further limit the
ATPG search space and accelerate backtracing:
• Immediate Implications: PODEM misses opportunities to immediately assign
values that are uniquely determined to signals.
A 1h j 0
0 0 0
B g k 1 L
C
E
Given objective L = 0, PODEM would backtrace and assign k=1, g=0 and
B=0.
This is unfortunate since B=1 => h=1 and j=0 which prevents objective.
A 1 0h j FAN instead sets j, k and E to 1 since
1
they must all be set to justify L=D.
1
B g k 1 L=D
C 0
1 This leads to unique A and B=1, C=0.
E
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
16 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
17 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
18 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
32 random patterns are generated in parallel and one concurrent fault simu-
lation is carried out.
The process terminates when no faults are detected after 64 random pat-
terns have been tried.
This process outputs a test vector file, a list of undetected faults, a list of redun-
dant faults, a list of aborted faults and a backtrack distribution file.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
19 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
Test Compaction
Many ATPG systems use RPG to get 60% fault coverage, followed by ATPG.
At the end of ATPG, all patterns are fault simulated in reverse order of their
generation.
Once fault coverage reaches 100%, the remaining RPG patterns are dis-
carded.
This type of compaction greatly reduces the size of the test set.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
20 (10/21/04)
RE COUNT
UN
1966
VLSI Design Verification and Test Combo ATPG II CMPE 646
Test Compaction
The degree of compaction possible depends on the order in which the vectors
are processed.
t1 = 01X t2 = 0X1 t3 = 0X0 t4 = X01
Dynamic compaction immediately assigns 1’s and 0’s to the unassigned PIs
after the ATPG program generates them.
The secondary faults detected allows additional fault dropping.
UMBC
YLAND BA
AR L
M
TI
U M B C
F
IVERSITY O
MO
21 (10/21/04)
RE COUNT
UN
1966