How Effective are Compression Codes for Reducing Test Data Volume?

Similar documents
TEST DATA COMPRESSION BASED ON GOLOMB CODING AND TWO-VALUE GOLOMB CODING

Test Data Compression Using Variable Prefix Run Length (VPRL) Code

Efficient Algorithm for Test Vector Decompression Using an Embedded Processor

WITH integrated circuits, especially system-on-chip

Test Data Compression Using Dictionaries with Fixed-Length Indices

A Technique for High Ratio LZW Compression

Efficiently Utilizing ATE Vector Repeat for Compression by Scan Vector Decomposition

An Efficient Test Relaxation Technique for Synchronous Sequential Circuits

Test Data Compression Using Dictionaries with Selective Entries and Fixed-Length Indices

Reconfigurable Linear Decompressors Using Symbolic Gaussian Elimination

Improving Encoding Efficiency for Linear Decompressors Using Scan Inversion

A Partition-Based Approach for Identifying Failing Scan Cells in Scan-BIST with Applications to System-on-Chip Fault Diagnosis

Scan-Based BIST Diagnosis Using an Embedded Processor

A Novel Test-Data Compression Technique using Application-Aware Bitmask and Dictionary Selection Methods Kanad Basu 1 and Prabhat Mishra 2

Core-Level Compression Technique Selection and SOC Test Architecture Design 1

A Reconfigured Twisted Ring Counter Using Tristate Coding For Test Data Compression

Deterministic Test Vector Compression/Decompression for Systems-on-a-Chip Using an Embedded Processor

TEST cost in the integrated circuit (IC) industry has

Golomb Coding Implementation in FPGA

Deterministic Test Vector Compression/Decompression Using an Embedded Processor and Facsimile Coding

Static Compaction Techniques to Control Scan Vector Power Dissipation

Test Application Time and Volume Compression through Seed Overlapping

Test-Architecture Optimization and Test Scheduling for SOCs with Core-Level Expansion of Compressed Test Patterns

Test Data Compression Using a Hybrid of Bitmask Dictionary and 2 n Pattern Runlength Coding Methods

FCSCAN: An Efficient Multiscan-based Test Compression Technique for Test Cost Reduction

AS FEATURE sizes shrink and designs become more complex,

Chapter 5 VARIABLE-LENGTH CODING Information Theory Results (II)

Design of System-on-a-Chip Test Access Architectures using Integer Linear Programming 1

Space Compaction of Test Responses Using Orthogonal Transmission Functions

Chapter 5 Lempel-Ziv Codes To set the stage for Lempel-Ziv codes, suppose we wish to nd the best block code for compressing a datavector X. Then we ha

Efficient Wrapper/TAM Co-Optimization for Large SOCs

QUANTIZER DESIGN FOR EXPLOITING COMMON INFORMATION IN LAYERED CODING. Mehdi Salehifar, Tejaswi Nanjundaswamy, and Kenneth Rose

LOW-DENSITY PARITY-CHECK (LDPC) codes [1] can

Reducing Power Dissipation During Test Using Scan Chain Disable

System-on-Chip Test Data Compression Based on Split-Data Variable Length (SDV) Code

A Simple Lossless Compression Heuristic for Grey Scale Images

FAULT TOLERANT SYSTEMS

N-Model Tests for VLSI Circuits

1 Introduction & The Institution of Engineering and Technology 2008 IET Comput. Digit. Tech., 2008, Vol. 2, No. 4, pp.

A Novel Test Data Compression Algorithm

-

THE RELATIVE EFFICIENCY OF DATA COMPRESSION BY LZW AND LZSS

Runlength Compression Techniques for FPGA Configurations

An Energy-Efficient Scan Chain Architecture to Reliable Test of VLSI Chips

Bus Encoding Technique for hierarchical memory system Anne Pratoomtong and Weiping Liao

On Using Twisted-Ring Counters for Test Set Embedding in BIST

ARITHMETIC operations based on residue number systems

Modeling Arbitrator Delay-Area Dependencies in Customizable Instruction Set Processors

T325 Summary T305 T325 B BLOCK 4 T325. Session 3. Dr. Saatchi, Seyed Mohsen. Prepared by:

Data Compression Scheme of Dynamic Huffman Code for Different Languages

Short Papers. System-on-a-Chip Test Scheduling With Precedence Relationships, Preemption, and Power Constraints

THE widespread use of embedded cores in system-on-chip

HARDWARE IMPLEMENTATION OF LOSSLESS LZMA DATA COMPRESSION ALGORITHM

An Asymmetric, Semi-adaptive Text Compression Algorithm

Testing Embedded Cores Using Partial Isolation Rings

A Image Comparative Study using DCT, Fast Fourier, Wavelet Transforms and Huffman Algorithm

Multimedia Networking ECE 599

COMPARISON OF SIMPLIFIED GRADIENT DESCENT ALGORITHMS FOR DECODING LDPC CODES

On Using Machine Learning for Logic BIST

Exploiting Unused Spare Columns to Improve Memory ECC

Summary of Raptor Codes

Code Based Compression Techniques in Digital VLSI

A Comparative Study of Lossless Compression Algorithm on Text Data

Formal Verification using Probabilistic Techniques

SF-LRU Cache Replacement Algorithm

Context based optimal shape coding

Generation of Compact Test Sets with High Defect Coverage

Reducing Control Bit Overhead for X-Masking/X-Canceling Hybrid Architecture via Pattern Partitioning

Data Compression - Seminar 4

At-Speed Scan Test with Low Switching Activity

Evaluation of FPGA Resources for Built-In Self-Test of Programmable Logic Blocks

Pierre A. Humblet* Abstract

Delay Test with Embedded Test Pattern Generator *

AN EFFICIENT ALGORITHM FOR 3D BINARY MORPHOLOGICAL TRANSFORMATIONS WITH 3D STRUCTURING ELEMENTS OF ARBITRARY SIZE AND SHAPE

Cross Clock-Domain TDM Virtual Circuits for Networks on Chips

Hybrid Electronics Laboratory

Sequential Circuit Test Generation Using Decision Diagram Models

A COMPARISON OF CABAC THROUGHPUT FOR HEVC/H.265 VS. AVC/H.264. Massachusetts Institute of Technology Texas Instruments

Performance Evaluation of XHTML encoding and compression

A Heuristic for Concurrent SOC Test Scheduling with Compression and Sharing

Test-Architecture Optimization for 3D Stacked ICs

CHAPTER 6 MODIFIED FUZZY TECHNIQUES BASED IMAGE SEGMENTATION

SOC Test Planning Using Virtual Test Access Architectures

Run length encoding and bit mask based Data Compression and Decompression Using Verilog

Improving Memory Repair by Selective Row Partitioning

Heuristic Algorithms for Multiconstrained Quality-of-Service Routing

Optimal Alphabet Partitioning for Semi-Adaptive Coding

A New Optimal State Assignment Technique for Partial Scan Designs

6.2 DATA DISTRIBUTION AND EXPERIMENT DETAILS

Digital Image Processing

Rate-distortion Optimized Streaming of Compressed Light Fields with Multiple Representations

A novel test access mechanism for parallel testing of multi-core system

Practical Test Architecture Optimization for System-on-a-Chip under Floorplanning Constraints

Designing and Characterization of koggestone, Sparse Kogge stone, Spanning tree and Brentkung Adders

Low Cost Convolutional Code Based Concurrent Error Detection in FSMs

JPEG decoding using end of block markers to concurrently partition channels on a GPU. Patrick Chieppe (u ) Supervisor: Dr.

The Effect of Non-Greedy Parsing in Ziv-Lempel Compression Methods

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

JPEG compression of monochrome 2D-barcode images using DCT coefficient distributions

Modeling Delta Encoding of Compressed Files

Transcription:

How Effective are Compression Codes for Reducing Test Data Volume Anshuman Chandra, Krishnendu Chakrabarty and Rafael A Medina Dept Electrical & Computer Engineering Dept Electrical Engineering & Computer Science Duke University, Durham, C 2778 Massachusetts nstitute of Technology, Cambridge, MA 239 Abstract Run-length codes and their variants have recently been shown to be very effective for compressing system-on-achip SOC) test data n this paper, we analyze the Golomb code, the conventional run-length code and the DR code for a binary memoryless data source, and compare the compression obtained in each case to fundamental entropy bounds We show analytically that the DR code outperforms both the conventional run-length code and the Golomb code for test resource partitioning TRP) based on data compression We also present a modified compression/decompression architecture for obtaining even higher compression We demonstrate the effectiveness of these compression codes using the larger SCAS-89 benchmark circuits and two representative circuits from industry inally, we show that the DR code is almost as effective as Unix utilities gzip and compress, even though it uses a much simpler decompression algorithm ntroduction Test automation remains a major bottleneck in the plugand-play design of system-on-a-chip SOC) ew techniques are needed to test complex SOCs consisting of several intellectual property P) cores Each of these cores must be exercised with a large number of precomputed test patterns The volume of test data and the testing time for an SOC are growing rapidly as P cores become more complex and an increasing number of cores are integrated on a chip Test resource partitioning TRP), in which some of the test resources are moved from the automatic test equipment ATE) to the chip, offers a promising solution to the problem of rising test data volume and testing time [] One approach to TRP is based on test data compression [2] n this approach, a precomputed test set for an P core is compressed encoded) to a much smaller test set, which is stored in ATE memory An on-chip decoder is used for pattern decompression to obtain from during test application [3, 4, 5, 6] Compression codes have recently been shown to be very effective in reducing test data volume and testing time [4, 6] Here, we address the following important questions related to TRP based on test data compression: This research was supported in part by the ational Science oundation under grant number CCR-9875324 Work carried out at Duke University What are the fundamental compression limits of the codes proposed for TRP How effective are these codes for representative industrial circuits What techniques and variants can be used to increase the compression further How do these codes compare to standard Unix file compression utilities such as gzip and compress We systematically address each of these issues and show that compression codes are especially suitable for TRP n order to efficiently encode SOC test data, we can use conventional run-length codes to map variable-length blocks of data to fixed-length codewords These codes are however less efficient than more general variable-tovariable-length codes [7, 8], especially if hardware-based decoding is necessary nstead of using a run-length code with a fixed block size, we can achieve greater compression by using Golomb coding, which maps variable-length runs of s in the data sequence to variable-length codewords [7] Yet another approach to run-length coding is based on the use of the frequency-directed run-length DR) code [6], which takes into account the specific properties of the data source The on-chip decompression hardware is extremely small for the Golomb and the DR code [4, 6] n this paper, we examine the fundamental limits of compression achieved by the Golomb code, the conventional run-length code and the DR code We compare the compression achieved with the three codes for a binary memoryless data source, and show that the DR code outperforms both the conventional run-length code and the Golomb code We also show that the average codeword size for the DR code is smaller than that for the Golomb code This analysis is necessary to explain the high percentage compression reported in [4, 6] for the SCAS-89 benchmark circuits Such a rigorous analysis has not been attempted before for these codes n particular, the DR code was developed only recently [6] and hence has not been studied by the information theory community t was shown in [6] that the DR code is very effective for compressing deterministic test sequences We now present a novel technique to further increase the amount of compression for precomputed test sets We show that the hardware overhead for the proposed scheme is small and requires only a simple redesign of the decompression logic for the basic DR code n addition, we apply the Golomb

3 Q K J Golomb code ) DR code Run Gr- Group Code Gr- Group Code -length oup prefix Tail -word oup prefix Tail -word 2 3 4 5 6 7 8 9 igure An example of Golomb and DR coding and DR codes to the scan test data for two real-life microprocessor designs from BM We demonstrate that the compression results obtained for these circuits are not only exceptionally high, but they are extremely close to fundamental entropy bounds inally, we show that the DR code is almost as effective as the Unix file compression utilities gzip and compress This is particularly striking since gzip and compress employ sophisticated compression algorithms, and the corresponding decompression utilities gunzip and uncompress) are implemented in software The rest of the paper is organized as follows We present a rigorous analysis of the conventional run-length code, the Golomb code and the DR code for a memoryless binary data source in Section 2 n Section 3, we present the modified test architecture for on-chip pattern decompression Experimental results for the large SCAS-89 benchmark circuits and two industrial circuits from BM are presented in Section 4 We also present entropy bounds and show that the DR code provides almost as much compression as the entropy bounds for the benchmarks and for the industrial circuits 2 Analysis for a memoryless data source n this section, we analyze the Golomb code, the conventional run-length code and the DR codes for a memoryless data source that produces s and s with probabilities and ), respectively The purpose of this analysis is to examine the fundamental limits of the three codes, and to demonstrate the effectiveness of the DR code for all values of, The entropy of the data generated by this memoryless source is given by the following equation [8]:! #$%& ') We first analyze the Golomb code with parameter * This is necessary to determine a baseline for evaluating DR codes The reader is referred to [4] for a review of Golomb codes igure presents an overview of the Golomb code for *,+ ) The smallest and longest runlengths that belong to group -/ are * and &*, respectively Therefore, the probability that an arbitrarily- Compression gain 4 2 8 6 4 2 β max β Gm4) β Gm2) β Gm8) 9 9 92 93 94 95 96 97 98 99 Probability of s in data stream, p igure 2 Compression gain for the Golomb code chosen run of length 8 2 belongs to group -/ is given by: :9<;'> 42)56 7 @ D @$A 8 9 E 8 B;C>49 B;C>49 The codewords in group - consist of *GH ) bits each [4] Therefore, the average codeword length Golomb code is given by: J K 9 E 8 B;C>49 $%& *LH A *M O P 9 ) for the We next determine Q, the average number of bits in any run generated by the data source t can be easily shown that: Q @A 2 @ The effectiveness of compression is measured by the compression gain RTS, which is defined as the ratio of the average number of bits in any run to the average codeword size, ie, RTS J This yields RUS # *L :;WVYX or example, for * Z+ and [ \#], RTS _^!a` ]b\ An upper bound on the compression gain is obtained from the entropy of the source using the equation RU9c:d e ' or example, RT9c:d gfh +\ji for k \#] igure 2 shows the relationship between RS and for three values of * The upper bound R9c:d is also shown in the figure We note that while the compression gain for the Golomb code is significant, especially for large values of, there is a significant difference between R S and the upper bound R 9c:d This motivates the need for the DR code We next analyze the effectiveness of conventional runlength codes for a memoryless data source Let group -l

3 3 # # 4 9 2 8 7 6 Compression gain 8 6 4 β max β Compression gain 5 4 3 β max 2 β R M5) β G m4) 2 β β G m4) 9 9 92 93 94 95 96 97 98 99 Probability of s, p igure 3 Compression gain for the Golomb code, the run-length code and the DR code for for run-length codes contain ) members such that ^ for some positive number The parameter must be kept small, eg ], in order to keep the decoder simple The smallest and the longest run-length that belong to group -/ are given by G and, respectively Therefore, the probability that an arbitrarilychosen run of length 8 2 belongs to group - is given by: ;C> 2)56 @ @A 8 B;'> The codewords in group - consist of $%# for run- bits Therefore, the average codeword length length codes is given by: K A The compression gain R by: R #$%& $% for run-length codes is given or [ \] and ], we get R +%+ f inally, we analyze the effectiveness of DR codes for a memoryless data source igure presents the DR coding procedure details are discussed in [6]) The smallest and longest run-lengths that belong to group -l are ^ ^# and ^ f&, respectively Therefore, the probability 3 265) that an arbitrarily-chosen run of length 2 belongs to group -< is given by: ;! 2)56 @ ' ; : @A ; The codeword in group -/ consists of ^ bits Therefore, the average codeword length by: ; # K ^ A for DR codes is given ^ K A ; β R M5) 99 99 992 993 994 995 996 997 998 999 Probability of s, p igure 4 Compression gain for the Golomb code, the run-length codes and the DR code for $ % & $ $ Even though we do not have a closed-form expression for, the series summation converges when exceeds Hence the above equation can be used to evaluate the effectiveness of DR codes The compression gain R' for DR codes is given by R!' ^ *) KA ; or \#], we have R ' ^h \#]%]b\ igure 3 shows a comparison between R 9c:d and the compression gains R ', R S and R The upper bound R 9c:d is also shown in the figure We note that compression gain for DR codes is always higher than that for Golomb codes for,+ \%+#^ igure 4 shows that for large values of, there is a significant difference between R' and RTS The figures also show how closely the DR gain curve follows the upper bound RU9c:d inally, it can be easily shown that the average codeword size for DR codes is less than for that for Golomb codes Hence these results show that DR codes are inherently superior to Golomb codes and run-length codes, and they allow us to approach fundamental entropy limits 3 mproved test data compression n this section, we present an enhancement to the basic on-chip decompression architecture of [4] to increase the amount of compression achieved with variable-to-variablelength codes We first present a theoretical basis for the proposed scheme and then present the architecture for achieving higher compression t was shown in [4] that the compression achieved is directly proportional to the number of s in the test set Hence, for the test cubes that have more s than s, inverting the s to and vice versa) is expected to yield higher compression Let - ) be the set of original inverted) test cubes /- is obtained from by flipping all the s to and all the s to Let b and be the total number of to s and s in, respectively f 2e, we expect -

+ Encoded data Demultiplexer T D T D Switching logic igure 5 Application of nternal scan chain Core under test and yield a higher compression using either the Golomb or the DR code ote that all the don t cares are mapped to in and - f - is used for compression instead of, an inverter must be placed between the internal scan chain and the decoder Upper and lower bounds on the amount of compression achieved using Golomb codes were presented in [4] A lower bound on the number of bits in the encoded test set for with bits and O s is given by: * e $%# *, where * is the Golomb code parameter Similarly, an upper bound on the number of bits in the encoded test set for /- with bits and s is given by: *G *L # O * ) - t is obvious that /- will result in higher compression compared to if, which implies that * - $%# *G & e * * e $%# * This yields e * O *, where the right-hand side of the inequality serves as a lower bound on the ratio This ratio can be used to determine whether - should be used for compression A high value of is sufficient to ensure greater compression with - ; however this not a necessary condition An alternative approach is to selectively invert only those patterns that have more specified s than s is now divided into two parts and or all the patterns in, the number of s is greater than number of s and for all the patterns in, the number of s is greater than number of s is encoded directly but is encoded after complementation Thus and are encoded separately and this provides higher compression than that obtained if is encoded directly Pattern application is also carried out in two stages irst is applied to the core under test and than is applied to it A small amount of logic is required to switch the pattern application from to The switch signal can either be provided by the ATE or by a small on-chip finite-state machine igure 5 shows a test architecture for the proposed scheme Our experiments show that the proposed test architecture based on selective inversion of patterns provides significant improvements over the amount of compression obtained using simple test pattern decompression 4 Experimental results We evaluate the proposed compression techniques for the SCAS-89 benchmarks and two representative industrial circuits The experiments were conducted on a Sun Ultra workstation with a 333 MHz processor and 256 MB of memory or SCAS-89 benchmarks, we considered only the large full-scan circuits with a single scan chain each The test vectors for these circuits were reordered to increase compression Table presents the experimental results for test cubes obtained from the Mintest ATPG program with dynamic compaction [] The table lists the sizes of the precomputed uncompacted) test sets, the sizes of the encoded test sets obtained using the difference vector test sets derived from and /- and the percentage compression for Golomb and DR codes We note that the %- yields better compression in all cases This increase in compression is obtained at negligible additional cost since only an inverter needs to be added to the decompression circuit We now present compression results when test pattern compression/decompression is performed in two stages Table 2 shows the results for the scheme based on selective inversion of patterns We note that there is significant increase in compression in almost all cases or example, there is 245% increase in compression for s3847 using the DR code The results show that the proposed twostage compression/decompression scheme makes test data compression even more attractive for TRP ext, we compare the experimental results to the theoretical upper bounds on the compression predicted by the entropy of the test data Let be a data sequence with patterns be5 5$b5 5e, and let O5 5 O5 j 5 be the relative frequencies of the patterns in, respectively An entropy measure of is given by : ) @$A @ $%& O ') ntuitively, provides a lower bound on the average number of bits required to encode each pattern in [9] f is the sum of the relative frequencies of Oe5 5$ %5 j 5B, a lower bound on the encoded data stream for is given by Table 3 compares the entropy bounds to the compression obtained with the DR code We find that in almost all cases, the percentage compression obtained is very close to the entropy bound less than 3% in all cases) We next present experimental results for two real test sets from industry The test set for the first circuit CKT) from BM consists 32 statically-compacted scan vectors a total of 362922 bits of test data per vector) This microprocessor design consists of 36 million gates and 726 latches The compression results using the Golomb and the DR code, and the entropy bounds for the 32 scan vectors are shown in Table 4 ote that we obtain a staggering 97% compression on average Table 4 also shows the entropy bounds for the test vectors The difference between the entropy-based lower bound on the size of the encoded data and the size of An explicit distinction is being made here between the formal notion of entropy for a probabilistic data source, and the entropy measure for a deterministic test set with relative frequencies of test patterns

- - - - Circuit Size of Golomb code DR code Based on Based on Based on Based on Based on Based on Based on Based on bits) bits) %) bits) %) bits) %) bits) %) s5378 23754 989 5373 88 549 988 632 92 626 s9234 39273 5767 5985 5357 689 546 663 5324 698 s327 652 25873 8433 24268 853 2368 8767 2284 8772 s585 76986 25748 6655 23835 693 259 795 294 7284 s3847 64736 6947 588 67889 5878 5766 6535 56634 6562 s38584 994 844 596 7558 623 7328 6467 6784 6594 Table Compression obtained using Golomb and DR code for difference vector sequences derived using and - Golomb code DR code Percentage Two stage compression Percentage Two stage compression Circuit compression based Size of Percentage compression based Size of Percentage on only) bits) compression on only) bits) compression s5378 5373 533 7756 632 2942 876 s9234 5985 423 6376 663 263 6786 s327 8433 2527 8473 8767 88 893 s585 6655 2594 6635 795 2938 728 s3847 588 34585 79 6535 6698 8986 s38584 596 67546 667 6467 52458 7365 Table 2 Compression obtained for test data with and selective inversion of test patterns Entropy bounds DR code Entropy bounds DR code Size Percentage Size of Percentage Size of Size Percentage Size of Percentage Size of Circuit of comp- encoded comp- Circuit of comp- encoded comp- bits) ression data bits) ression bits) bits) ression data bits) ression bits) s5378 23754 632 87384 632 988 s585 76986 735 23878 795 259 s9234 39273 636 4559 663 546 s3847 64736 6788 52939 6535 5766 s327 652 8877 85439 8767 2368 s38584 994 6598 67733 6467 7328 Table 3 Comparison of compression predicted by entropy of test data and obtained using the DR code Scan Size of Size of encoded test set bits) Percentage compression vector bits) Golomb ) DR Entropy bound Golomb ) DR Entropy bound 362922 2778 238 2593 9236 9344 9434 2 362922 246 74 45236 9437 952 9599 3 362922 246 74 45236 9437 952 9599 4 362922 2244 6366 3736 9442 9549 962 5 362922 8267 482 2957 9496 9592 9663 6 362922 48 252 9674 962 9665 9733 7 362922 448 432 8284 962 972 9773 8 362922 437 58 78994 964 9722 9782 9 362922 2875 978 754395 9645 9732 9792 362922 44 6866 5756 973 98 986 362922 9729 7622 558985 973 9789 9845 2 362922 99 798 59232 969 9782 9836 3 362922 868 624 452783 9762 9828 9875 4 362922 8675 638 462278 976 9824 9872 5 362922 823 5326 384545 9776 9853 9894 6 362922 658 4 274955 982 9889 9924 7 362922 7629 4982 3582 9789 9862 99 8 362922 7974 5996 42935 978 9834 988 9 362922 7668 4842 34737 9788 9866 994 2 362922 679 4256 285264 982 9882 992 2 362922 849 622 424226 9775 9834 9883 22 362922 72 4892 338864 983 9865 996 23 362922 6959 4266 34934 988 9882 995 24 362922 5856 2836 95532 9838 992 9946 25 362922 59 333 2888 9837 998 9939 26 362922 6254 3994 262588 9827 9889 9927 27 362922 693 4258 298975 989 9882 997 28 362922 922 522 39253 9746 9856 989 29 362922 646 3982 27269 9822 989 9924 3 362922 558 2386 65587 9846 9934 9954 3 362922 5994 348 228286 9834 995 9937 32 362922 68 328 225 983 99 9939 Table 4 Compression obtained for CKT from BM

Scan Size of Size of encoded test set bits) Percentage compression vector bits) Golomb ) DR Entropy bound Golomb ) DR Entropy bound 372 82242 47998 43938 922 9534 9598 2 372 79927 4962 429384 9224 958 9583 3 372 7492 46986 496 9273 9544 962 4 372 733 43396 37654 929 9579 9634 Size of encoded test set bytes) Circuit gzip comp- DR gzip comp- DR ress code ress code s9234 593 6398 49 469 477 553 s327 8747 9279 265 947 9438 875 s585 835 896 9624 8943 8948 8749 s3847 96 6833 2592 9387 8978 875 s38584 23948 2467 24888 8797 892 875 Table 6 Comparison of compression obtained using gzip, compress and DR code Table 5 Compression obtained for CKT2 from BM Percentage compression DR-coded data is less than % in all cases Table 5 shows experimental results for a second microprocessor circuit CKT2) from BM for this consists of a set of 4 scan vectors a total of 372 bits of test data per vector); this design contains 2 million gates and 322 latches Over 95% compression is obtained for the test cubes of CKT2 The compression results here are also within % of the entropy bounds inally, we compare the compression obtained using the DR code to the Unix file compression utilities gzip and compress n order to carry out a fair comparison, we converted the encoded test sets obtained using the DR code to a binary format Table 6 shows the size of the encoded test set and the percentage compression obtained using gzip, compress, and the DR code We note that in almost all cases, the compression obtained using the DR code is close to the compression obtained using the two Unix utilities or s9234, the DR code outperforms both gzip and compress The gzip and compress utilities employ far more complex encoding algorithms than the DR code Hence it is inconceivable that they can be decoded using simple hardware techniques for TRP; the corresponding decompression utilities gunzip and uncompress) are usually implemented in software t is therefore particularly noteworthy that the simpler DR code, which can be easily used for on-chip decompression, provides almost as much compression as gzip and compress 5 Conclusion Test data compression based on the DR code is especially attractive for SOC test resource partitioning Our rigorous analysis reveals that the DR code outperforms both the conventional run-length code and the Golomb code Moreover, the compression obtained using the DR code is close to the entropy-based fundamental bound We have also presented a modified test data compression/decompression architecture that provides even higher compression The proposed test architecture requires a simple redesign of the DR decoder and the corresponding hardware overhead is kept small We have also compared the DR code to the standard Unix file compression utilities gzip and compress Even though decompression for the DR code is considerably simpler than the software-based decompression for gzip and compress, we obtain comparable compression using the DR code for all benchmark circuits Experimental results for the larger SCAS-89 benchmarks and for two BM production circuits demonstrate the effectiveness of test data compression for TRP Acknowledgments We thank Brion Keller of BM Corporation for providing scan vectors for the two production circuits References [] Y Zorian, Testing the monster chip, EEE Spectrum, vol 36, issue 7, pp 54-7, July 999 [2] A Chandra and K Chakrabarty, Test resource partitioning for SOCs, EEE Design & Test of Computers, vol 8, pp 8-9, September-October 2 [3] A Jas and A Touba, Test vector decompression via cyclical scan chains and its application to testing corebased designs, Proc nternational Test Conference, pp 458-464, 998 [4] A Chandra and K Chakrabarty, System-on-a-chip test data compression and decompression architectures based on Golomb codes, EEE Trans CAD, vol 2, no 3, pp 355-368, March 2 [5] A Chandra and K Chakrabarty, Efficient test data compression and decompression for system-on-a-chip using internal scan chains and Golomb coding, Proc DATE Conf, pp 45-49, 2 [6] A Chandra and K Chakrabarty, requency-directed runlength DR) codes with application to system-on-a-chip test data compression, Proc EEE VLS Test Symposium, pp 42 47, 2 [7] S W Golomb, Run-length encoding, EEE Transactions on nformation Theory, vol T-2, pp 399-4, 966 [8] H Kobayashi and L R Bahl, mage data compression by predictive coding, Part : Prediction Algorithm, BM Journal of Research and Development, vol 8, pp 64, 974 [9] J A Storer, Data Compression: Methods and Theory, Computer Science Press, Rockville, MD, 988 [] A Khoche and J Rivoir, /O Bandwidth Bottleneck for Test: s it Real, Proc Test Resource Partitioning Workshop, pp 23- - 23-6, 2 [] Hamzaoglu and J H Patel, Test set compaction algorithms for combinational circuits, Proc nternational Conference on CAD, pp 283-289, 998