Beruflich Dokumente
Kultur Dokumente
Test Generation
1
EE141
VLSI
Test Principles and Architectures
Focus
ATPG
EE141
VLSI
Test Principles and Architectures
Test Generation
Introduction
Random Test Generation
Theoretical Foundations
Deterministic Combinational ATPG
Deterministic Sequential ATPG
Untestable Fault Identification
Simulation-based ATPG
ATPG for Delay and Bridge Faults
Other Topics in Test Generation
Concluding Remarks
EE141
VLSI
Test Principles and Architectures
Introduction
4
EE141
VLSI
Test Principles and Architectures
5
EE141
VLSI
Test Principles and Architectures
Fault Models
Instead
Stuck-at fault
Bridging fault
Transition fault
Path-delay fault
6
EE141
VLSI
Test Principles and Architectures
7
EE141
VLSI
Test Principles and Architectures
8
EE141
VLSI
Test Principles and Architectures
9
EE141
VLSI
Test Principles and Architectures
10
EE141
VLSI
Test Principles and Architectures
12
EE141
VLSI
Test Principles and Architectures
The min detection prob of any detectable fault actually does not
depend on n, the num of PIs
Instead, it depends on the largest primary-output cone that it is
in
This is because any detectable fault must be excited and
sensitized to a primary output
13
EE141
VLSI
Test Principles and Architectures
Lemma 1
In
14
EE141
VLSI
Test Principles and Architectures
Exhaustive Testing
Apply 2n patterns to an n-input combinational circuit under
test (CUT)
Guarantees all detectable faults in the combinational circuits
are detected
Test time maybe be prohibitively long if the number of inputs
is large
Feasible only for small circuits
Pseudo-exhaustive Testing
Partition circuit into respective cones
Apply exhaustive testing only to each cone
Still guarantees to detect every detectable fault based on
Lemma 1
15
EE141
VLSI
Test Principles and Architectures
16
EE141
VLSI
Test Principles and Architectures
18
EE141
VLSI
Test Principles and Architectures
Another Example
Let
xyz=001, 101
can detect w/0
But:
19
EE141
VLSI
Test Principles and Architectures
A Third Example
Fault:
z/0
20
EE141
VLSI
Test Principles and Architectures
21
EE141
VLSI
Test Principles and Architectures
Deterministic ATPG
22
EE141
VLSI
Test Principles and Architectures
D: 1/0
D-bar: 0/1
23
EE141
VLSI
Test Principles and Architectures
24
EE141
VLSI
Test Principles and Architectures
25
EE141
VLSI
Test Principles and Architectures
Backtracking
The ATPG searches one branch at a time
Whenever a conflict (e.g., all Ds disappeared)
arises, must backtrack on previous decisions
26
EE141
VLSI
Test Principles and Architectures
27
EE141
VLSI
Test Principles and Architectures
28
EE141
VLSI
Test Principles and Architectures
Example
Fault: g/0
29
EE141
VLSI
Test Principles and Architectures
30
EE141
VLSI
Test Principles and Architectures
Example Continued
Propagate fault-effect
from g to z
31
EE141
VLSI
Test Principles and Architectures
D Algorithm
Can
J-Frontier:
EE141
VLSI
Test Principles and Architectures
D-Frontier Example
The
34
EE141
VLSI
Test Principles and Architectures
J-Frontier Example
The
35
EE141
VLSI
Test Principles and Architectures
36
EE141
VLSI
Test Principles and Architectures
D Algorithm
37
EE141
VLSI
Test Principles and Architectures
D Algorithm Example
38
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
PODEM
Also a branch-and-bound search
Decisions only on PIs
No J-Frontier needed
No internal conflicts
EE141
VLSI
Test Principles and Architectures
X-Path
41
EE141
VLSI
Test Principles and Architectures
42
EE141
VLSI
Test Principles and Architectures
43
EE141
VLSI
Test Principles and Architectures
PODEM Example
Target fault: f/0
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
FAN
Extend
46
EE141
VLSI
Test Principles and Architectures
Headlines
Output signals of fanout-free cones
Any value on headlines can always be
justified by the PIs
We only need to
backtrace to the
headlines to
reduce the
number of
decisions
47
EE141
VLSI
Test Principles and Architectures
Multiple Objectives
48
EE141
VLSI
Test Principles and Architectures
49
EE141
VLSI
Test Principles and Architectures
Direct Implications
Direct
Indirect Implications
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
54
EE141
VLSI
Test Principles and Architectures
55
EE141
VLSI
Test Principles and Architectures
Evaluation Frontiers
56
EE141
VLSI
Test Principles and Architectures
Sequential ATPG
Huffman
57
EE141
VLSI
Test Principles and Architectures
To
EE141
VLSI
Test Principles and Architectures
59
EE141
VLSI
Test Principles and Architectures
60
EE141
VLSI
Test Principles and Architectures
61
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
FIRE Example
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
Generalization of FIRE
Conflict
67
EE141
VLSI
Test Principles and Architectures
Multi-Line Conflict
Consider the AND gate
{a=0, c=1} is illegal (but this is captured by
single-line conflicts)
Likewise {b=0, c=1}
But, {a=1, b=1, c=0} is a multi-line conflict not
captured by single-line conflict
69
EE141
VLSI
Test Principles and Architectures
Simulation-Based ATPG
Random
71
EE141
VLSI
Test Principles and Architectures
GA made up of
72
EE141
VLSI
Test Principles and Architectures
Illustration of GA process
73
EE141
VLSI
Test Principles and Architectures
74
EE141
VLSI
Test Principles and Architectures
Wheel Selection
Tournament
Selection
75
EE141
VLSI
Test Principles and Architectures
crossover
Two-point
crossover
76
EE141
VLSI
Test Principles and Architectures
Uniform Crossover
The
77
EE141
VLSI
Test Principles and Architectures
78
EE141
VLSI
Test Principles and Architectures
GA Population Size
Should be a function of the individual size
Larger individuals require larger populations
to allow for reasonable diversity
Individual size depends on the number of PIs
in the circuit
EE141
VLSI
Test Principles and Architectures
Number of GA Generations
Related
80
EE141
VLSI
Test Principles and Architectures
81
EE141
VLSI
Test Principles and Architectures
CONTEST [1989]
Two-stage process
1st stage: aim to detect as many faults as
possible
EE141
VLSI
Test Principles and Architectures
GATEST [1994]
GA-based ATPG for seq ckts
Tournament selection, uniform crossover
1st phase: initialize the seq ckts
2nd phase: detect & excite as many faults as
possible
3rd phase: similar to phase 2, but to monitor
fault-free and faulty ckt events
4th phase: individuals now become sequence
of vectors, aim to detect & excite as many
faults as possible
83
EE141
VLSI
Test Principles and Architectures
84
EE141
VLSI
Test Principles and Architectures
Distinguishing Sequences
A
85
EE141
VLSI
Test Principles and Architectures
The 4-vector
sequence can
distinguish state
11010 from 11000
If a fault has been
excited and prop to
FF#4, then this
sequence has a good
chance of
propagating it to the
last PO in the 4th
vector
86
EE141
VLSI
Test Principles and Architectures
Justification Sequences
Some
89
EE141
VLSI
Test Principles and Architectures
90
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
the FFs
A state is considered new only if at least
one state group has a new value from
the state
This helps filter many noise in trying to
reach as many new states as possible
Very high fault coverage is achieved
92
EE141
VLSI
Test Principles and Architectures
Spectrum-Based ATPG
View
93
EE141
VLSI
Test Principles and Architectures
94
EE141
VLSI
Test Principles and Architectures
Alternates between
GA and
deterministic ATPG
GA passes 1 hard
faults to det. ATPG
Det ATPG passes
vector sequence
used as seed for
next GA run
95
EE141
VLSI
Test Principles and Architectures
Delay Testing
Delay defects: class of defects that affects the
functionality only when the circuit is running at
a high speed
Stuck-at fault model insufficient to model all
delay-related defects
Delay fault models
96
EE141
VLSI
Test Principles and Architectures
Enhanced scan
V1 and V2 are uncorrelated
97
EE141
VLSI
Test Principles and Architectures
Launch-on-Capture / Broadside /
Double Capture
True
at-speed test
Benefits
Detect intra-clock-domain faults and inter-clockdomain structural faults or delay faults at-speed
Facilitate physical implementation
Avoid some of functionally infeasible paths
Ease integration with ATPG
98
EE141
VLSI
Test Principles and Architectures
Launch-on-Shift / Skewed-Load
An at-speed delay test technique
Can address intra-clock-domain delay faults
V1 and V2 correlated
99
EE141
VLSI
Test Principles and Architectures
One-Hot Skewed-Load
Tests all clock domains one by one by applying a-shift-followed
by-a-capture pulses to detect intra-clock-domain delay faults.
Drawbacks:
(1) Cannot detect inter-clock-domain delay faults
(2) Test time is long
(3) Single and global scan enable (GSE) signal can no longer be used.
Shift Window
Capture Window
Shift Window
Capture Window
Shift Window
S1 C1
CK1
d1
SE1
S2 C2
CK2
d2
SE2
100
EE141
VLSI
Test Principles and Architectures
Aligned Skewed-Load
Solve
101
EE141
VLSI
Test Principles and Architectures
Aligned Skewed-Load
S1
S2
S3
Capture Window
S1
C1
CK1
CK1
SE1
SE1
C2
CK2
CK2
SE2
SE2
C3
CK3
SE3
CK3
SE3
102
EE141
VLSI
Test Principles and Architectures
Staggered Skewed-Load
When two test clocks cannot be aligned precisely, we can simply
insert a proper delay to eliminate the clock skew. The two last shift
pulses are used to create transitions and their output responses are
caught by the next two capture.
Drawback: Need at-speed scan enable signal for each clock domain
Shift Window
Capture Window
Shift Window
S1 C1
CK1
Staggered skewed-load
d1
SE1
d3
CK2
S2 C2
d2
SE2
103
EE141
VLSI
Test Principles and Architectures
One-Hot Double-Capture
Test all clock domains one by one by applying two consecutive
capture pulses at their respective domains frequencies to test
intra-clock-domain delay faults.
Benefit: true at-speed testing of intra-clock-domain delay faults
Drawbacks: (1) Cannot detect inter-clock-domain delay faults
(2) Test time is long
Shift Window Capture Window Shift Window Capture Window Shift Window
C1 C2
CK1
d1
CK2
C3
One-Hot double-capture
C4
d2
GSE
104
EE141
VLSI
Test Principles and Architectures
Aligned Double-Capture
C1
C2
C3
Capture Window
C1
CK1
C4
CK1
C2
CK2
CK2
C3
CK3
CK3
GSE
GSE
Aligned double-capture - I
Aligned double-capture - II
105
EE141
VLSI
Test Principles and Architectures
Staggered Double-Capture
In the capture window, two capture pulses are generated for each
clock domain. The first two capture pulses are used to create transitions
at the outputs of scan cells, and the output responses to the transitions
are caught by the next two capture pulses, respectively.
Shift Window
Capture Window
C1
CK1
C2
d1
d2
d3
d4
C3
CK2
Shift Window
d5
Staggered double-capture
C4
GSE
106
EE141
VLSI
Test Principles and Architectures
Enhanced Scan
Enhanced-scan
cells needed
Larger cells to hold two values at each
FF
Can apply two uncorrelated vectors
consecutively
Can achieve highest coverage, since all
V1-V2 combinations are possible
107
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
110
EE141
VLSI
Test Principles and Architectures
111
EE141
VLSI
Test Principles and Architectures
113
EE141
VLSI
Test Principles and Architectures
115
EE141
VLSI
Test Principles and Architectures
Boolean Operations
116
EE141
VLSI
Test Principles and Architectures
RESIST [1994]
Recursion-based
path-delay-fault ATPG
Starts at a PI
Depth-first-search through the circuit along
each path
Generate a test for each path
Takes advantage of many paths that share
common path-segments
117
EE141
VLSI
Test Principles and Architectures
118
EE141
VLSI
Test Principles and Architectures
119
EE141
VLSI
Test Principles and Architectures
120
EE141
VLSI
Test Principles and Architectures
121
EE141
VLSI
Test Principles and Architectures
122
EE141
VLSI
Test Principles and Architectures
Bridging Fault
Models shorts between two circuit nodes
The bridge fault is not excited unless the two
circuit nodes have opposing logic values
Faulty value depends on the bridge-fault type:
125
EE141
VLSI
Test Principles and Architectures
as a constrained stuck-at
ATPG
Consider AND-bridge(x,y), we can do
either:
Detect x/0 with setting y=0
Detect y/0 with setting x=0
Conventional
EE141
VLSI
Test Principles and Architectures
127
EE141
VLSI
Test Principles and Architectures
EE141
VLSI
Test Principles and Architectures
simulation
129
EE141
VLSI
Test Principles and Architectures
130
EE141
VLSI
Test Principles and Architectures
N-Detect ATPG
131
EE141
VLSI
Test Principles and Architectures
Finite-State-Machine Testing
A
EE141
VLSI
Test Principles and Architectures
Concluding Remarks
Theoretical Foundations
Combinational & sequential ATPG
Untestable fault identification
Simulation-based & hybrid ATPG
Delay testing
Bridging fault testing
Compaction, N-Detect, FSM testing
Challenges Ahead
Fast untestable fault identification essential to
remove large numbers of stuck-at, bridge, delay
faults
Sequential ATPG remains an open research area
133
EE141
VLSI
Test Principles and Architectures