Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Test Compression
1
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 1
What is this chapter about?
Introduce the basic concepts of test data
compression
Focus on stimulus compression and response
compaction techniques
Present and discuss commercial tools on test
compression
2
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 2
Test Compression
Introduction
Test Stimulus Compression
Test Response Compaction
Industry Practices
Concluding Remarks
3
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 3
Introduction
Why do we need test compression?
Test data volume
Test time
Test pins
Why can we compress test data?
Deterministic test vector has “don’t care” (X’s)
4
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 4
Test data volume v.s. gate count
Volume of test data (Gb)
70
60
50
40
30
20 Test data volume
10 increases with circuit size
0
1 2 4 8 16 32 64
Gate count (Mg)
(Source: Blyler, Wireless System Design, 2001)
5
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 5
Test compression categories
Test Stimulus Compression
Code-based schemes
Linear-decompression-based schemes
Broadcast-scan-based schemes
Test Response Compaction
Space compaction
Time compaction
Mixed time and space compaction
6
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 6
Architecture for test compression
Stimulus Response
Compactor
Compressed
Stimulus Response
Low-Cost
ATE
7
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 7
Test stimulus compression
Code-based schemes
Linear-decompression-based schemes
Broadcast-scan-based schemes
8
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 8
Test stimulus compression
Code-based schemes
Dictionary code (fixed-to-fixed)
Huffman code (fixed-to-variable)
Run-length code (variable-to-fixed)
Golomb code (variable-to-variable)
9
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 9
Code-based schemes
Dictionary code (fixed-to-fixed)
10
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 10
Code-based schemes
Huffman code (fixed-to-variable)
11
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 11
Code-based schemes
Huffman code (fixed-to-variable)
12
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 12
Code-based schemes
Run-length code (variable-to-fixed)
13
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 13
Code-based schemes
Golomb code (variable-to-variable)
14
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 14
Code-based schemes
Golomb code (variable-to-variable)
15
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 15
Test stimulus compression
Linear-decompression-based schemes
Combinational linear decompressors
Fixed-length sequential linear decompressors
Variable-length sequential linear decompressors
Combined linear and nonlinear decompressors
16
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 16
Linear-decompression-based schemes
17
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 17
Linear-decompression-based schemes
18
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 18
Linear-decompression-based schemes
19
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 19
Linear-decompression-based schemes
MISR
20
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 20
XOR network: a 3-to-5 example
s1 s2 s3
o1 o2 o3 o4 o5
21
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 21
Linear-decompression-based schemes
Fixed-length sequential linear decompressors
22
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 22
Linear-decompression-based schemes
Variable-length sequential linear decompressors
Can vary the number of free variables
Better encoding efficiency
More control logic and control information
23
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 23
Linear-decompression-based schemes
24
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 24
Test stimulus compression
Broadcast-scan-based schemes
Broadcast scan
Illinois scan
Multiple-input broadcast scan
Reconfigurable broadcast scan
Virtual scan
25
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 25
Broadcast-scan-based schemes
Broadcast scan
26
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 26
Generate patterns for broadcast scan
Force ATPG tool to generate patterns for
broadcast scan
27
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 27
Broadcast scan for a pipelined circuit
Broadcast scan for a pipelined circuit
28
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 28
Broadcast-scan-based schemes
Illinois scan architecture
29
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 29
Broadcast-scan-based schemes
Reconfigurable broadcast scan
Reduce the number of channels that are required
Static reconfiguration
– The reconfiguration can only be done when a new
pattern is to be applied
Dynamic reconfiguration
– The configuration can be changed while scanning in a
pattern
30
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 30
Broadcast-scan-based schemes
First configuration is: 1->{2,3,6}, 2->{7}, 3->{5,8}, 4->{1,4}
Other configuration is: 1->{1,6}, 2->{2,4}, 3->{3,5,7,8}
31
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 31
Broadcast-scan-based schemes
Block diagram of MUX network
32
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 32
Broadcast-scan-based schemes
Virtual scan
Pure MUX and XOR networks are allowed
No need to solve linear equations
Dynamic compaction can be effectively utilized
during the ATPG process
Very little or no fault coverage loss
33
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 33
Test response compaction
Space compaction
Time compaction
Mixed time and space compaction
34
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 34
Test response compaction
35
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 35
Taxonomy of various response compaction schemes
I II III
Compaction Schemes
Space Time CFS CFI Linearity Nonlinearity
Zero-aliasing Compactor
[Chakrabarty 1998] [Pouya 1998]
Parity Tree [Karpovsky 1987]
Enhanced Parity Tree [Sinanoglu 2003]
X-Compact [Mitra 2004]
q-Compactor [Han 2003]
Convolutional Compactor [Rajski 2005]
OPMISR [Barnhart 2002]
Block Compactor [Wang 2003]
i-Compact [Patel 2003]
Compactor for SA [Wohl 2001]
Scalable Selector [Wohl 2004]
36
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 36
Test response compaction
Space compaction
Zero-aliasing linear compaction
X-compact
X-blocking
X-masking
X-impact
37
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 37
Space compaction
Zero-aliasing linear compaction
38
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 38
An example of response graph
39
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 39
Space compaction
X-compact
X-tolerant response compaction technique
X-compact matrix
Error masking
40
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 40
Space compaction
X-compact
41
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 41
Space compaction
X-compactor with 8 inputs and 5 outputs
42
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 42
X-compact Matrix
SC1
SC2
SC3 O1
SC4 O2
S= SC5 O= O3
SC6 O4
SC7 O5
SC8
T
M X S = O
43
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 43
Space compaction
X-blocking (or X-bounding)
X’s can be blocked before reaching the response
compactor
Can ensure that no X’s will be observed
May result in fault coverage loss
Add area overhead and may impact delay
44
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 44
Space compaction
Illustration of the x-blocking scheme
45
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 45
Space compaction
X-masking
X’s can be masked off right before the response
compactor
Mask data is required to indicate when the
masking should take place
Mask date can be compressed
– Possible compression techniques are weighted pseudo-
random LFSR reseeding or run-length encoding
46
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 46
Space compaction
An example of X-masking circuit
47
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 47
Space compaction
X-impact
Simply use ATPG to algorithmically handle the
impact of residual x’s on the space compactor
Without adding any extra circuitry
48
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 48
Space compaction
Handling of X-impact
49
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 49
Space compaction
Handling of aliasing
50
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 50
Test response compaction
Time compaction
A time compactor uses sequential logic to
compact test responses
MISR is most widely adopted
n-stage MISR can be described by specifying a
characteristic polynomial of degree n
51
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 51
Multiple-input signature register (MISR)
52
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 52
Test response compaction
Mixed time and space compaction
53
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 53
Industry practices
OPMISR+
Embedded Deterministic Test
Virtual Scan and UltraScan
Adaptive Scan
ETCompression
54
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 54
Industry solutions categories
Linear-decompression-based schemes
Two steps
– ETCompression, LogicVision
– TestKompress, Mentor Graphics
– SOCBIST, Synopsys
Broadcast-scan-based schemes
Single step
– SPMISR+, Cadence
– VirtualScan and UltraScan, SynTest
– DFT MAX, Synopsys
55
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 55
Industry practices
OPMISR+
Cadence
Roots in IBM ‘s logic BIST and ATPG technology
56
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 56
General scan architecture for OPMISR+
57
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 57
Industry practices
Embedded Deterministic Test (TestKompress)
Mentor Graphics
First commercially available on-chip test
compression product
58
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 58
EDT (TestKompression) architecture
59
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 59
TestKompress stimuli compression
60
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 60
TestKompress response compaction
61
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 61
Industry practices
Virtual Scan and UltraScan
SynTest
First commercial product based on the broadcast
scan scheme using combinational logic for pattern
decompression
62
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 62
VirtualScan architecture
63
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 63
UltraScan architecture
64
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 64
Industry practices
Adaptive Scan
Synopsys
Designed to be the next generation scan
architecture
65
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 65
Adaptive scan architecture
66
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 66
Industry practices
ETCompression
LogicVision
Built upon embedded logic test (ELT) technology
67
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 67
ETCompression architecture
68
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 68
Summary of industry practices
69
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 69
Concluding remarks
Test compression is
An effective method for reducing test data volume
and test application time with relatively small cost
An effective test structure for embedded hard
cores
Easy to implement and capable of producing
high-quality tests
Successfully as part of design flow
Need to unify different compression
architectures
70
VLSI Test Principles and Architectures
EE141 Ch. 6 - Test Compression – P. 70