This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Application of Arithmetic Coding to Compression of VLSI Test Data
September 2005 (vol. 54 no. 9)
pp. 1166-1177
This paper proposes arithmetic coding for application to data compression for VLSI testing. The use of arithmetic codes results in a codeword whose length is close to the optimal value (as predicted by entropy in information theory), thus achieving a higher compression. Previous techniques (such as those based on Huffman or Golomb coding) result in optimal codes for data sets in which the probability model of the symbols satisfies specific requirements. This paper shows empirically and analytically that Huffman and Golomb codes can result in a large difference between the bound established by the entropy and the attained compression; therefore, the worst-case difference is studied using information theory. Compression results for arithmetic coding are presented using ISCAS benchmark circuits; a practical integer implementation of arithmetic coding/decoding and an analysis of its deviation from the entropy bound are pursued. A software implementation is proposed using embedded DSP cores. In the experimental evaluation, fully specified test vectors and test cubes from two different ATPG programs are utilized. The implications of arithmetic coding on manufacturing test using an ATE are also investigated.

[1] Y. Zorian, “Test Requirements for Embedded Core-Based Systems and IEEE P1500,” Proc. IEEE Int'l Test Conf., pp. 191-199, 1997.
[2] A. Jas and N.A. Touba, “Test Vector Decompression via Cyclical Scan Chains and Its Application to Testing Core-Based Designs,” Proc. IEEE Int'l Test Conf., pp. 458-464, 1998.
[3] A. Chandra and K. Chakrabarty, “System-on-a-Chip Test-Data Compression and Decompression Architectures Based on Golomb Codes,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 20, no. 3, pp. 355-368, Mar. 2001.
[4] V. Iyengar, K. Chakrabarty, and B.T. Murray, “Huffman Encoding of Test Sets for Sequential Circuits,” IEEE Trans. Instrumentation and Measurement, vol. 47, no. 1, pp. 21-25, Feb. 1998.
[5] P.T. Gonciari, B.M. Al-Hashimi, and N. Nicolici, “Variable-Length Input Huffman Coding for System-on-a-Chip Test,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 22, no. 6, pp. 783-796, June 2003.
[6] A. Jas, J.G. Dastidar, N.M. Eng, and N.A. Touba, “An Efficient Test Vector Compression Scheme Using Selective Huffman Coding,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 22, no. 6, pp. 797-806, June 2003.
[7] H. Hashempour and F. Lombardi, “Compression of VLSI Test Data by Arithmetic Coding,” Proc. IEEE Int'l Conf. Defect and Fault Tolerance in VLSI Systems, pp. 150-157, 2004.
[8] H. Hashempour and F. Lombardi, “ATE-Amenable Test Data Compression with No Cyclic Scan Registers,” Proc. IEEE Int'l Conf. Defect and Fault Tolerance in VLSI Systems, pp. 151-158, 2003.
[9] K. Sayood, Introduction to Data Compression, second ed. Morgan Kaufmann, 2000.
[10] T.M. Niermann and J.H. Patel, “HITEC: A Test Generation Package for Sequential Circuits,” Proc. European Conf. Design Automation, pp. 214-218, 1991.
[11] I. Hamzaoglu and J.H. Patel, “Test Set Compaction Algorithms for Combinational Circuits,” IEEE Trans. Computer-Aided Design of Integrated Circuits and Systems, vol. 19, no. 8, pp. 957-963, Aug. 2000.
[12] A.M. Tenenbaum, Y. Langsam, and M.J. Augenstein, Data Structures Using C. Prentice-Hall, 1990.
[13] G.G. Langdon, “An Introduction to Arithmetic Coding,” IBM J. Research and Development, vol. 28, no. 2, pp. 135-149, Mar. 1984.
[14] A. Drozdek, Elements of Data Compression, first ed. Brooks Cole, 2001.
[15] I.H. Witten, R.M. Neal, and J.G. Cleary, “Arithmetic Coding for Data Compression,” Comm. ACM, vol. 30, no. 6, pp. 520-540, June 1987.
[16] P.G. Howard and J.S. Vitter, “Practical Implementations of Arithmetic Coding,” Image and Text Compression, pp. 85-112, Kluwer Academic, 1992.
[17] M. Nelson, “Arithmetic Coding + Statistical Modeling = Data Compression,” Dr. Dobb's J., Feb. 1991.
[18] T. Yamaguchi, M. Ishida, and D.S. Ha, “An Efficient Method for Compressing Test Data,” Proc. IEEE Int'l Test Conf., pp. 79-88, 1997.
[19] K.J. Balakrishnan and N.A. Touba, “Matrix-Based Test Vector Decompression Using an Embedded Processor,” Proc. IEEE Int'l Conf. Defect and Fault Tolerance in VLSI Systems, pp. 159-165, 2002.
[20] A. Jas and N.A. Touba, “Using an Embedded Processor for Efficient Deterministic Testing of System-on-a-Chip,” Proc. IEEE Int'l Conf. Computer Design, pp. 418-423, 1999.
[21] A. El-Maleh, S. Al-Zahir, and E. Kahn, “A Geometric Primitive Based Compression Scheme for Testing System-on-a-Chip,” Proc. IEEE VLSI Test Symp., pp. 54-59, 2001.
[22] K.J. Balakrishnan and N.A. Touba, “Deterministic Test Vector Decompression in Software Using Linear Operations,” Proc. IEEE VLSI Test Symp., pp. 225-231, 2003.
[23] T.C. Bell and I.H. Witten, Text Compression. Prentice-Hall Advanced Reference Series, 1990.
[24] J.L. Hennessy, D.A. Patterson, and D. Goldberg, Computer Architecture: A Quantitative Approach, third ed. Morgan Kaufmann, 2002.

Index Terms:
Index Terms- Test data compression, Golomb coding, Huffman coding, arithmetic coding, SoC, ATE.
Citation:
Hamidreza Hashempour, Fabrizio Lombardi, "Application of Arithmetic Coding to Compression of VLSI Test Data," IEEE Transactions on Computers, vol. 54, no. 9, pp. 1166-1177, Sept. 2005, doi:10.1109/TC.2005.136
Usage of this product signifies your acceptance of the Terms of Use.