1
At-speed test
3
Scan-based setup delay fault tests
4
5-valued algebra
q Algebra:
S1.U0 = U0; U0.U1 = U0;
S0+U1= U1; U0+U1 = U1;
~U0 = U1;
f4 1 f7 y2
F
f3 1
y1
f2 f8 One fault is targeted
1 per-pattern.
F
a1 f1 F Disjoint path tests
may be merged in same
y0 pattern
a0 f0 f9
1
6
Non-robust path-delay test
f4 U1 f7 y2
U0 Fault-
f3 U1 free Faulty
y1
f2 f8 a1
U1
a0
a1 f1 F U0
y3
y0
a0 f0 f9
U1 Strobe-points
7
Transition delay fault test
q Transition at fault site and final value (V2) should be
observed at output. Example: slow-to-fall @ f6
F
f5 f6 y3
F
f4 U1 f7 y2
U1
f3 U1
y1
f2 f8 Any path may be used
U1 for justification and
U1 propagation.
a1 f1 U1
Initial value is not
y0 observed.
a0 f0 f9
U1
8
Stuck-at vs. Transition fault tests
f4 f7 f4 f7
1 1
1 1
f3 f3
f8 f8
f2 1 f2 1
1 1
f1 f1
f9 f9
f0 1 f0 1
Nodes
New metric: 5
# transition faults detected
12
20
28
32
40
16
24
36
44
0
4
8
weighted as: Slack
(Fault * Minimal slack) /
(Slack along detected path)
Pattern count Coverage
Area under the slack
curve.
q Take all patterns for a
given slack accept
coverage obtained.
q Take all patterns for a
10% 20% 30% 40% 50% 60% 10% 20% 30% 40% 50% 60%
given coverage accept
% of detection path slack w.r.t. % of detection path slack w.r.t.
slack used. minimum path slack minimum path slack 10
Scan-based transition fault tests
q Ideally, V2 should be independently generated from V1 to enable applying any
possible pattern to the DUT.
This may require special hardware (i.e. hold-scan flip-flops)
q Otherwise, three possible ways to generate launch (V2), after initialization (V1)
LOS: V2 is shifted value of V1 (combinational). Different V2 for all V1 guaranteed.
LOC: V2 is functional state of V1 (sequential). Different V2 for all V1 not guaranteed.
LOC: V2 is functional state of V1 after many cycles. Higher number of launch states
(V2) for a given V1. launch
shift_in (LOS) capture shift_out
shift_in (LOC)
V1 V2
scan_enable
Launch off capture
scan_enable
Launch off shift
11
LOS vs. LOC
q LOS
Trivial to generate V2 from V1.
? Faster ATPG
Large number of parallel transitions possible => many faults
detectable per pattern
? Lesser pattern count.
V2->capture is at-speed => SE switches at-speed
? SE drives all flops like clock. At-speed SE => similar physical design
considerations like clock.
Scan chain ordering impacts coverage as different scan order
results in different V2 for a given V1.
q LOC
Sequential simulation required to generate V2 from V1
? Time-consuming ATPG
V2 is functionally reachable state from V1 => Multiple arbitrary
transitions may not be justifiable
? Higher pattern count.
No at-speed requirement on SE and no dependence on scan order
12
Improving limitations of LOS and LOC
LSE
GSE
GSE
LSE
13
Bi-partitioned scan
Phase-I
- Launch from SE_R
blue.
- Capture in SE_B
red.
Phase-II SE_B
- Launch from
red. SE_R
- Capture in
blue.
14
Multiple independent scan enables
SE_B
SE_R
SE_C
SE_P
SE_B
SE_R
SE_C
SE_P
15
Proof of coverage improvement
16
Functional vs. scan states in transition faults
17
Desirable Transitions
q Transition fault pattern does not necessarily cause a transition in the capture
flip-flop.
0->1 transition on S is a valid transition fault test for A = 1 and B =1->0.
Fault-free output does not change: 1->1. Faulty o/p: 1 -> 0.
q Path delay pattern: A transition in capture flip-flop is guaranteed. However, not
necessarily through a valid path.
q Path delay tests can be robust (single launch transition), non-robust (other
enabling launch transitions), functional sensitisable (other enabling paths).
Considerations for multi-cycle paths and false paths.
q Multiple cycle launches may be required to achieve a functional launch state.
A
S Z = A.S + B.S
B
S
18
Clocking considerations
Shift clock
Slow shift + Fast capture
CLK
LEAKER
Ref clock PLL
SE
20
Test time optimization with multiple clock domains
21
Testing logic-memory interface
Process Spread 22
Testing logic-memory interface
F F ADR ADR
TADR C
RAM
F F ME ME
TME C
Shift-only BISTE = 0 ATPG_MODE = 0
Scan chain
23
Testing memory-memory interface
C C
B B
TADR TADR
M1 B B M2
ME ME F F ME ME
B B TME C
B B
TME C
BISTE = 1 ATPG_MODE = 0 BISTE = 0 ATPG_MODE = 0
26
Assignments
q Suggest a technique to achieve multiple independent at-speed scan
enables for designs with only one slow-speed SE pin. (Hint: LOS)
q Express the total number of paths in the following circuit as a function of
k?
M1 M2 M3 M4 M5 M6 Func.
Func. TADR TD flop
flop
BIST flop
BIST flop 27