Compression Compaction
Compression Compaction
Test-Response Compaction
Circuit
PPIs PPOs
Good-circuit
+ Good?
response
Flip-flops
Scan-in Scan-out
Pattern Response
Advantage of scan
– Better controllability and observability, lower ATPG complexity,
higher fault coverage
Disadvantage of scan
– Long test-application time and large test-data volume
Input-Stimulus Compression &
Output-Response Compaction
Break a long scan chain into several short ones
Still use limited ATE channels to supply test patterns and
observe responses
Save test-application time and test-data volume
IC/Tester Performance Comparison
No. of
1 10 1000 106 107 108
transistors
Figure of
1000 107 1010 2x1013 3x1015 1017
merit
Figure of
3000 8x106 1.2x109 2x1010 4X1011 1.6X1012
merit
IC/Tester Performance Comparison
Ideal Compression/Compaction
Scheme
No modification to functional logic
– Such as test point insertion
ATPG independent
– Need not buy a new ATPG
Pattern independent hardware
– Changing test set need not changing hardware
No coverage loss
– Target fault model & un-modeled faults
Small area overhead
Outline
Introduction to Scan-based Testing
Input-Pattern Compression
– Type of compressions
– Compression schemes
Output-Response Compaction
– Time compactor (MISR)
– Unknown-tolerant compaction schemes
– Diagnosis with compactor
Design optimal space compactor
Hybrid compaction scheme
Conclusion
Pattern Compression vs. Compaction
Compaction
– less # of test vectors but still the same fault coverage
Compactable test cubes
Pattern re-ordering (due to fault dropping order)
1XXXX0XX1 fault lists
pttn 1
11XXXXX0X
11X0X0X01 pttn 2
X1X0XXX0X
........
X011X1XXX 0011X1X00
00XXXXX00
Compression pttn n
– less # of bits per test vector
Vertical Compression vs.
Horizontal Compression
Vertical compression
– Store one seed to supply multiple different patterns
– # of seeds < # of deterministic patterns
– # of applied patterns > # of deterministic patterns
– Folding sequence [Liang ITC’01], XWork [NEC patent]
– Mostly used in BIST architecture
applied pttn
deterministic pttn seed
de-
compress
Horizontal compression
– Length of a seed < length of a pattern
Input Compression Schemes
Coding Strategy
– Huffman coding, Run-length variable coding,
Statistical coding
LFSR Reseeding
– Static reseeding, dynamic reseeding
Broadcasting
– Illinois Scan, reconfigurable switch
Continuous-Flow Linear Expansion
– SmartBist, Linear Network
Mutation
– Random access scan
Low-power decompression scheme
– low-power EDT
Run-Length Coding
WWWWWWWWWWWWBWWWWWWWWWWWWBB
BWWWWWWWWWWWWWWWWWWWWWWWWB
WWWWWWWWWWWWWW
↓↓
12WB12W3B24WB14W
Burrows-Wheeler transform can be used to maximize
the run length
Statistical Coding
Dynamic reseeding
– Seed is modified incrementally
while test generation proceeds
“Test Vector Encoding Using
Partial LFSR Reseeding”,
C.V.Krishna, ITC’01
Broadcasting
Illinois Scan
– One scan line is routed to multiple scan chains
“A case study on the implementation of Illinois scan
architecture”, Hsu, et.al, ITC’01
Continuous-flow Linear Expansion
Use Xor- or inverter- network for de-compression
– “A SmartBIST Variant with Guaranteed Encoding”,
Koenemann, ATS’01
– “Frugal Linear Network-Based Test Decompression for
Drastic Test Cost Reductions”, Rao ICCAD’03
1 0 0 1 0 0 1 1 0 1
0 1 1 1 0 1 0 0 1 0
1 0 0 0 1 1 0 1 0 1
1 0 0 0 1 0 1 1 0 1
0 1 1 0 1 1 0 0 1 0
1 0 0 0 1 0 1 1 0 1
0 1 1 1 0 0 1 1 0 1
0 1 1 1 0 0 1 1 1 1
Mutation
Supply the current pattern by flipping bits of the
last pattern
n
Input test-data Decoder Shift Registers
(DSR)
n
n x 2 decoder
Decoder Output
Enable Registers
(DOR)
n
To 2 scan chains
Ref: [Reda DATE’02]
Mutation
State transition diagram of DSR Distance matrix for state
0 transition diagram
1 000 0 0 1 2 3 4 5 6 7
100 001
0 0 3 2 3 1 3 2 3
1
1 1 0 2 3 1 3 2 3
0 0
010 2 2 1 0 3 2 1 2 3
1 1 0 0 3 2 1 2 0 2 1 2 3
4 3 2 1 2 0 2 1 2
101
1 1 5 3 2 1 2 3 0 1 2
110 011
6 3 2 3 1 3 2 0 1
0
7 3 2 3 1 3 2 3 0
1 1
111
0
Mutation
Circular scan
– Flip the bits from the captured values
Scan Selection Inputs (N-1) Data Input
1 pin
Scan Data
Output Input
Decoder
2N-1 Scan Chains Output
MUX
Scan
Input
Output Compactor
Ref: [Arslan ICCAD’04]
Industrial Tools
Synopsys: “XDBIST” shadow LFSR seed
Ring Generator
4 6
Phase Shifter
cycle
0
V0
3
L
6
TestKompress
System of linear equations
cycle
4
5
6
cycle ...8 7 6 5 4
Test cubes
cycle . . . . . 4 3 2 1 0
LFSR Reseeding vs. Ring Generator
LFSR Reseeding
– LFSR depth (seed length) is determined by the pattern
with most specified bits
– Attempt to lower the most specified bits of a pattern
rather than average specified-bit %
specified
bits specified
bits
pttn pttn
Ring generator
– An input bit determines outputs for d (depth) cycles
– Ring depth is determined by the congestion of
specified bits over a period of time
ring input : inputs to supply
specified bits
ring output : specified bits
Low-power Decompression Scheme
Selective compactor
Unknown-blocking MISRs
Space compactor
Hybrid compaction scheme
Unknown-Tolerant Compaction (1/3) –
Selective Compactor
Observe only the responses with faulty value
Discard majority of the responses
Required a customized ATPG
[Wohl, ITC’03], [Mentor Graphics, EDT]
scan chain
………………………………………..……
40
sel 1 16
si0 16
64
28 64
si1 64 x 2-input XOR sel 3
28 64
sel 4
40
64 x 2-input XOR
28 64
si2 64 x 2-input XOR sel 5
28 64
sel 6
40
64 x 2-input XOR
512
si3
scan chains
Unknown-Tolerant Compaction (2/3) –
Unknown-Blocking MISR
Block unknowns before feeding into a time compactor
[Pomeranz, TCAD’04], [Tang, ITC’04], [Chickermane, ITC’04]
Required pattern-dependent blocking logic or customized ATPG
Over-mask some known responses
Space Compactor
– Allow unknown values propagating to the compactor
– Use Xor matrix to reduce the probability that a
response is masked by unknowns
– Pattern-independent HW, APTG-independent flow
Single-weight Xor matrix
– X-compact [Mitra, TCAD’02]
Multiple-weight Xor matrix
– [Clouqueur ITC’05]
Xor network with storage elements
– Block compactor [Wang, ICCAD’03]
– Convolution compactor, Rajski ITC’03
Masking Effects Using XOR Matrix
Error masking (aliasing)
– Error (e): different response from good-circuit response
Unknown-induced masking
– Unknown (u): unknown response in simulation
+ no error + always
observed unknown
e + e +
+ +
X-Compact
5 output XOR Matrix
1 1 1 1 1 1 0 0 0 0
1 1 1 0 0 0 1 1 1 0
1 0 0 1 1 0 1 1 0 1
0 1 0 1 0 1 1 0 1 1
0 0 1 0 1 1 0 1 1 1
No identical column
Odd # of 1s for each column
Can observe 1, 2, or any odd
scan chain
scan chain
scan chain
scan chain
scan chain
scan chain
scan chain
scan chain
scan chain
scan chain
canceled
canceled
observable
observable
:error
X-Compact
canceled
canceled
canceled
canceled
canceled
:error
X-Compact
X :unknown value
:observable value X X
:unobservable value
Block Compactor
output 1 2 3 4 5 6 7 8
clock
CS
1 2 3 4 5 6
Convolution Compactor
Cycle N+2:
N+1:
Map
N+3:
N: Shift
Map
Shift
X : unknown value X
: error
Diagnosis with Compaction Schemes?
Selective compactor:
– Report exact “position” of erroneous responses, i.e., which scan
cell captures erroneous response on which pattern
– Some erroneous responses may miss
Unknown-blocking MISR:
– All erroneous responses mix together, worst resolution
– Report only pass or fail
Space compactor:
– Unique faulty syndrome for single error (when no unknown)
– Lower resolution when multiple errors occur
– Good for fault-dictionary-based diagnosis
Suggestion:
– Should design a by-pass mode in the compaction scheme so that
the complete erroneous information can be collected when
needed
Outline
Introduction to Scan-based Testing
Input-Pattern Compression
– Type of compressions
– Compression schemes
Output-Response Compaction
– Time compactor (MISR)
– Unknown-tolerant compaction schemes
– Diagnosis with compactor
Design optimal space compactor
Hybrid compaction scheme
Conclusion
X-induced Masking
When multiple unknown values appear
– Some known responses become unobservable
X
outputs
X
X
x-infected
outputs X X
scan chains
X-induced Masking
When multiple unknown values appear
– Some known responses become unobservable
X
outputs
X
X
x-infected
outputs X X
scan chains
Objectives
X-Compact requires:
– Unique columns in Xor matrix
– Odd number of Xor gates for each column (weight)
– These two rule only help reducing error masking
M : # of
outputs
p : unknown %
among responses S : # of responses from scan chains
Output:
– UP (unobservable percentage)
% of responses masked by unknown values
– OP (observable percentage): 1-UP
General Concept of our Mathematical
Derivation
unknowns (N)
unknown-infected
outputs (K)
unobservable
responses
Xor matrix
outputs (M)
responses from
compactor’s input (S)
Mathematical Derivation – Step 1
Given # of unknowns (N ), the probability that K
outputs are x-infected is:
X
X
K x-infected
X
outputs
X
X
X X N unknowns
Mathematical Derivation – Step 2
Given K x-infected outputs, the probability that a
response is unobservable is :
Its expectation:
X : unobservable response
X
K x-infected
X
outputs
X
X
X X
Mathematical Derivation – Step 3
# of unknowns at inputs (N ) is a random variable
Changing weight
10 outputs, 100 scan chains, 1% unknown
Accuracy Comparison
Change other parameters
Changing unknown %
10 output
100 scan chains
weight of 3
Changing # of chain
10 output
weight of 3
1% unknown
Designing An Optimal Compactor
Given:
desired observable %, unknown %, # of outputs
Find:
S : maximal # of supported scan chains
W : optimal weight
observable %
# of chain
w=1 w=2 w=3 4 output
160 90.49 94.79 94.72 1% unknown
90% desired obs.%
180 89.36 93.87 93.62
200 88.25 92.91 92.45
220 87.15 91.92 91.21
240 86.03 90.89 89.92
260 85.00 89.83 88.57 max_chain = 240,
W=2
280 83.94 88.74 87.17
How Much Observable Percentage Is
Enough?
Test-quality metrics used in this work
– stuck-at-fault coverage, BCE [Benware ITC’03]
Test quality w.r.t an observable % highly depends
on test set and circuit under test
BCE loss
Hybrid Compaction Scheme using
Space Compactor & X-blocking MISR
unknown-blocking
MISR
seed LFSR Our objective
scan chains …
1. ATPG-independent flow
2. Pattern-independent HW
Blocking
MISR
Logic 3. Full model-fault coverage
…
… 4. Desired observable %
u f2
Reversed-order
f1
fault simulation
pattern n-2 f1 f2
pattern n-1 u f1
pattern n
Coverage and Test-Data Comparison on
s35932
4 ATE channels for space compactor, 0.5% unknown, 1730 scan cells
90% desired observable percentage
Tran. flt cov.
Actual obs. % BCE loss (%)
loss (%)
Hybrid scheme 90.67 1.45 0.96
X-blocking only 56.58 6.83 5.00
Coverage loss comparison
Space Compaction
LFSR Total
compactor ratio
Hybrid scheme 48 45 93 15.9
Space Compact
LFSR Total
compactor ratio
Hybrid 40 30 70 24.9 X
s38417
X-blocking only _ 32 32 54.4 X
Hybrid 40 22 62 27.9 X
s38584
X-blocking only _ 78 78 22.2 X
Hybrid 36 29 65 23.2 X
b17
X-blocking only _ 58 58 26.1 X
, 0 < Nf <DNf
Prediction of BCE for Hybrid
Compaction Scheme: Lower Bound
Because hybrid compaction scheme guarantee at
least one detection for the stuck-at fault, Nf cannot
be 0.
if n>2
if n=1
Prediction of BCE for Hybrid
Compaction Scheme: Upper Bound
Detecting those undetected faults may also increase the
# of detection for other faults
Mf = Nf + 1, 1<Mf<DNf+1
However, Mf cannot exceed DNf since DNf is the number
of detecting patterns when observing all responses
Experimental Result for BCE Prediction