Chapter 6
Test Compression
1
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 2
Test Compression
Introduction Test Stimulus Compression Test Response Compaction Industry Practices Concluding Remarks
3
EE141 VLSI Test Principles and Architectures
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 dont care (Xs)
4
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 4
Test data volume v.s. gate count
Volume of test data (Gb)
70 60 50 40 30 20 10 0 1 2 4 8 16
Test data volume increases with circuit size
32 64
Gate count (Mg)
(Source: Blyler, Wireless System Design, 2001)
5
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 6
Architecture for test compression
Stimulus Response
Decompressor
Compressed Stimulus
Core
Compacted Response
Compactor
Low-Cost ATE
7
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 7
Test stimulus compression
Code-based schemes Linear-decompression-based schemes Broadcast-scan-based schemes
8
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 9
Code-based schemes
Dictionary code (fixed-to-fixed)
10
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 10
Code-based schemes
Huffman code (fixed-to-variable)
11
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 11
Code-based schemes
Huffman code (fixed-to-variable)
12
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 12
Code-based schemes
Run-length code (variable-to-fixed)
13
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 13
Code-based schemes
Golomb code (variable-to-variable)
14
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 14
Code-based schemes
Golomb code (variable-to-variable)
15
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 16
Linear-decompression-based schemes
17
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 17
Linear-decompression-based schemes
18
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 18
Linear-decompression-based schemes
19
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 19
Linear-decompression-based schemes
Combinational linear decompressors
XOR Network
XOR Network
MISR
20
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 20
XOR network: a 3-to-5 example
s1 s2 s3
o1 o2
EE141 VLSI Test Principles and Architectures
o3
o4
o5
21
Ch. 6 - Test Compression P. 21
Linear-decompression-based schemes
Fixed-length sequential linear decompressors
22
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 23
Linear-decompression-based schemes
Combined linear and nonlinear decompressors
Specified bits tend to be highly correlated Combine linear and nonlinear decompression together can achieve greater compression than either alone
24
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 25
Broadcast-scan-based schemes
Broadcast scan
26
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 26
Generate patterns for broadcast scan
Force ATPG tool to generate patterns for broadcast scan
27
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 27
Broadcast scan for a pipelined circuit
Broadcast scan for a pipelined circuit
28
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 28
Broadcast-scan-based schemes
Illinois scan architecture
(a) Broadcast mode
(b) Serial chain mode
29
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 31
Broadcast-scan-based schemes
Block diagram of MUX network
32
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 33
Test response compaction
Space compaction Time compaction Mixed time and space compaction
34
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 34
Test response compaction
35
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 35
Taxonomy of various response compaction schemes
Compaction Schemes 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] I Space Time CFS 36
EE141 VLSI Test Principles and Architectures
II CFI Linearity
III Nonlinearity
Ch. 6 - Test Compression P. 36
Test response compaction
Space compaction
Zero-aliasing linear compaction X-compact X-blocking X-masking X-impact
37
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 37
Space compaction
Zero-aliasing linear compaction
38
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 38
An example of response graph
39
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 39
Space compaction
X-compact
X-tolerant response compaction technique X-compact matrix Error masking
40
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 40
Space compaction
X-compact
41
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 41
Space compaction
X-compactor with 8 inputs and 5 outputs
42
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 42
X-compact Matrix
SC1 SC2 SC3 SC4 S= SC5 SC6 SC7 SC8 O1 O2 O= O3 O4 O5
X S = O
43
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 43
Space compaction
X-blocking (or X-bounding)
Xs can be blocked before reaching the response compactor Can ensure that no Xs will be observed May result in fault coverage loss Add area overhead and may impact delay
44
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 44
Space compaction
Illustration of the x-blocking scheme
45
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 45
Space compaction
X-masking
Xs 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 pseudorandom LFSR reseeding or run-length encoding
46
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 46
Space compaction
An example of X-masking circuit
47
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 47
Space compaction
X-impact
Simply use ATPG to algorithmically handle the impact of residual xs on the space compactor Without adding any extra circuitry
48
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 48
Space compaction
Handling of X-impact
49
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 49
Space compaction
Handling of aliasing
50
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 51
Multiple-input signature register (MISR)
52
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 52
Test response compaction
Mixed time and space compaction
53
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 53
Industry practices
OPMISR+ Embedded Deterministic Test Virtual Scan and UltraScan Adaptive Scan ETCompression
54
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 55
Industry practices
OPMISR+
Cadence Roots in IBM s logic BIST and ATPG technology
56
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 56
General scan architecture for OPMISR+
57
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 57
Industry practices
Embedded Deterministic Test (TestKompress)
Mentor Graphics First commercially available on-chip test compression product
58
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 58
EDT (TestKompression) architecture
59
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 59
TestKompress stimuli compression
60
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 60
TestKompress response compaction
61
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 62
VirtualScan architecture
63
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 63
UltraScan architecture
64
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 64
Industry practices
Adaptive Scan
Synopsys Designed to be the next generation scan architecture
65
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 65
Adaptive scan architecture
66
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 66
Industry practices
ETCompression
LogicVision Built upon embedded logic test (ELT) technology
67
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 67
ETCompression architecture
68
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 68
Summary of industry practices
MISR: multiple-input signature register MUX: multiplexers PRPG: pseudo-random pattern generator TDDM: time-division demultiplexer TDM: time-division multiplexers XOR: exclusive-OR
69
EE141 VLSI Test Principles and Architectures
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
EE141 VLSI Test Principles and Architectures
Ch. 6 - Test Compression P. 70