Scan Path Design
Scan Path Design
Scan Path Design
Scan-Path Design
07/03/16
Outline
Problems with sequential testing
What is scan
Types of scan
Types of storage devices
Scan Architectures
Cost of Scan
Partial Scan
Timing problems
PO
Combinational
SFF
logic
SFF
SCANOUT
SFF
TC or TCK
SCANIN
Testing strategy
Principle of scan path
Each input to the
FF is considered
an output of the
combinatorial
circuit
each output of the
FF is an input to
the circuit
Testing strategy
Example:
A realization for the double-throw switch
End repeat.
An Example
Combinational Circuit
y2
F
G1
F
y1
G2
G3
D
2
1
Clk
Clk
Clk
F
y1
0
1
D
1
Clk
Clk
Scan-in
G3
G2
0
1
Z
0
1
D
Q
2
Clk
Scan-out
Level-sensitive Latch
The latch works with the 3
phases A, B and C
For normal operation,
clocks B and C
D
C
L1
SCAN-IN
L1
L2
B
(b)
L2
L2
C
Scan-in
SCAN-IN
D
C
L1
L1
L2
B
B
(a)
A
(b)
L2
Slave latch
D
Q
MCK
Q
D flip-flop
SD
MCK
TCK
overhead
TCK
MCK
TCK
Scan
mode
Logic
Normal
mode
SCK
SCK
LSSD: Testing
Repeat until all patterns are applied.
a. Apply a pattern at the primary inputs.
b. Clock C; then clock B once and observe the results at
the primary outputs.
c. Shift out the response
Apply the initialization for the next pattern at SI.
Clock A, then clock B, M times.
Observe at the primary outputs and the SO pins.
Combinational
logic
SFF
SFF
TC
CK
SFF
M
U
X
PO/
SCANOUT
Scan Overhead
IO pins: One pin necessary.
Area overhead:
Gate overhead = [4 nf/(ng+10nf)] x 100%,
where ng = comb. gates; nf = flip-flops;
Example
ng = 100k gates, nf = 2k flip-flops, overhead = 6.7%.
Performance overhead:
Multiplexer delay added in combinational path;
approx. two gate-delays.
Flip-flop output loading due to one additional
fanout; approx. 5-6%.
Hierarchical Scan
Scan flip-flops are chained within
subnetworks before chaining subnetworks.
Advantages:
Automatic scan insertion in netlist
Circuit hierarchy preserved helps in debugging and
design changes
SFF4
SFF1
Scanout
Scanin
SFF2
SFF3
Hierarchical netlist
SFF1
SFF3
Scanout
SFF4
SFF2
Flat layout
0.0
1.00
Hierarchical
16.93%
0.87
Optimum layout
11.90%
0.91
2,781
179
0
0.0%
4,603
35/49
70.0%
70.9%
5,533 s
414
414
Full-scan
2,781
0
179
15.66%
4,603
214/228
99.1%
100.0%
5s
585
105,662
Combinational
ATPG
Gate-level
netlist
Develop test
Develop design
Scan hardware
insertion
Scan
netlist
Combinational
vectors
Scan sequence
and test program
generation
Test program
Mask data
Scan Summary
Scan is the most popular DFT technique:
Rule-based design
Automated DFT hardware insertion
Combinational ATPG
Advantages:
Design automation
High fault coverage; helpful in diagnosis
Hierarchical scan-testable modules are easily combined
into large scan-testable systems
Moderate area (~10%) and speed (~5%) overhead
Disadvantages:
Large test data volume and long test time
Basically a slow speed (DC) test
Partial-Scan Definition
A subset of flip-flops is scanned.
Objectives:
Minimize area overhead and scan sequence
length, yet achieve required fault coverage
Exclude selected flip-flops from scan:
Improve performance
Allow limited scan design rule violations
Allow automation:
In scan flip-flop selection
In test generation
Partial-Scan Architecture
PI
PO
Combinational
circuit
CK1
FF
CK2
FF
SCANOUT
SFF
TC
SFF
SCANIN
Structure based:
Cycle breaking
Balanced structure
Sometimes requires high scan percentage
ATPG based:
Use of combinational and sequential TG
Cycle Breaking
Difficulties in ATPG
S-graph construction and
MFVS problem
Test generation and test
statistics
Partial vs. full scan
Partial-scan flip-flop
Number of
gates
Number of
flip-flops
Sequential
depth
TLC
355
21
14*
1,112
39
14
Chip A
ATPG
CPU s
Fault
coverage
1,247
89.01%
269
98.80%
Benchmark Circuits
Circuit
PI
PO
FF
Gates
Structure
Sequential depth
Total faults
Detected faults
Potentially detected faults
Untestable faults
Abandoned faults
Fault coverage (%)
Fault efficiency (%)
Max. sequence length
Total test vectors
Gentest CPU s (Sparc 2)
s1196
14
14
18
529
Cycle-free
4
1242
1239
0
3
0
99.8
100.0
3
313
10
s1238
14
14
18
508
Cycle-free
4
1355
1283
0
72
0
94.7
100.0
3
308
15
s1488
8
19
6
653
Cyclic
-1486
1384
2
26
76
93.1
94.8
24
525
19941
s1494
8
19
6
647
Cyclic
-1506
1379
2
30
97
91.6
93.4
28
559
19183
Relevant Results
Theorem 8.1: A cycle-free circuit is always
initializable. It is also initializable in the
presence of any non-flip-flop fault.
Theorem 8.2: Any non-flip-flop fault in a cyclefree circuit can be detected by at most dseq +
1 vectors (dseq is the sequential depth).
ATPG complexity: To determine that a fault is
untestable in a cyclic circuit, an ATPG program
using nine-valued logic may have to analyze
9Nf time-frames, where Nf is the number of
flip-flops in the circuit.
Cycle-Free Example
Circuit
F2
2
F3
F1
Level = 1
s - graph
F2
2
F1
F3
Level = 1
dseq = 3
A Partial-Scan Method
Select a minimal set of flip-flops for
scan to eliminate all cycles.
Alternatively, to keep the overhead low
only long cycles may be eliminated.
In some circuits with a large number of
self-loops, all cycles other than selfloops may be eliminated.
L=3
1
4
L=1
A 6-flip-flop circuit
s-graph
L=2
Test Generation
Scan and non-scan flip-flops are controlled from
separate clock PIs:
Normal mode Both clocks active
Scan mode Only scan clock active
14
1,247
61
89.01%
805
805
10
157
11
95.90%
247
1,249
32
99.20%
136
1,382
10
13
100.00%
112
1,256
21
100.00%
52
1,190
Original
Partial-scan
Full-scan
2,781
179
2,781
149
2,781
0
30
179
0.0%
4,603
35/49
70.0%
70.9%
5,533 s
414
414
2.63%
4,603
65/79
93.7%
99.5%
727 s
1,117
34,691
15.66%
4,603
214/228
99.1%
100.0%
5s
585
105,662
Master
latch
TC
Slave
latch
SFF
(Scan flip-flop)
CK
TC
CK
Normal mode
Scan mode
Scan Variations
Integrated and Isolated scan
methods
Scan path: NEC 1968
Serial scan: 1973
LSSD: IBM 1977
Scan set: Univac 1977
RAS: Fujitsu/Amdahl 1980
PO
Combinational
logic
RAM
nff
CK
TC
SCANIN
bits
SCANOUT
SEL
Address decoder
ADDRESS
ACK
Address scan
register
log2 nff bits
D
SD
Q
Scan flip-flop
(SFF)
To comb.
logic
CK
TC
SEL
SCANOUT
RAS Applications
Logic test:
reduced test length.
Delay test:
Easy to generate single-input-change (SIC) delay tests.
Advantage:
RAS may be suitable for certain architecture, e.g.,
where memory is implemented as a RAM block.
Disadvantages:
Not suitable for random logic architecture
High overhead gates added to SFF, address
decoder, address register, extra pins and routing
SD
TC
SFF
Q
CK
HOLD