A Geometric-Primitives-Based Compression Scheme for Testing Systems-on-a-Chip Aiman El-Maleh 1, Saif al Zahir 2, Esam Khan 1 1 King Fahd University of.

Slides:



Advertisements
Similar presentations
Improving Compression Ratio, Area Overhead, and Test Application Time in System-on-a-chip Test Data Compression/Decompression Paul Theo Gonciari*, Bashir.
Advertisements

CHEN XIAOYU HUANG. Introduction of Steganography A group of data hiding technique,which hides data in undetectable way. Features extracted from modified.
MP3 Optimization Exploiting Processor Architecture and Using Better Algorithms Mancia Anguita Universidad de Granada J. Manuel Martinez – Lechado Vitelcom.
Optimal PRAM algorithms: Efficiency of concurrent writing “Computer science is no more about computers than astronomy is about telescopes.” Edsger Dijkstra.
CENTRAL PROCESSING UNIT
Improving BER Performance of LDPC Codes Based on Intermediate Decoding Results Esa Alghonaim, M. Adnan Landolsi, Aiman El-Maleh King Fahd University of.
Submission May, 2000 Doc: IEEE / 086 Steven Gray, Nokia Slide Brief Overview of Information Theory and Channel Coding Steven D. Gray 1.
Aiman El-Maleh, Ali Alsuwaiyan King Fahd University of Petroleum & Minerals, Dept. of Computer Eng., Saudi Arabia Aiman El-Maleh, Ali Alsuwaiyan King Fahd.
An Efficient Test Relaxation Technique for Synchronous Sequential Circuits Aiman El-Maleh and Khaled Al-Utaibi King Fahd University of Petroleum & Minerals.
RGB Intensity Based Variable- Bits Image Steganography 2008 IEEE Asia-Pacific Services Computing Conference (APSCC 2008) 1 st International Workshop on.
Binary Image Compression Using Efficient Partitioning into Rectangular Regions IEEE Transactions on Communications Sherif A.Mohamed and Moustafa M. Fahmy.
Finite State Machine State Assignment for Area and Power Minimization Aiman H. El-Maleh, Sadiq M. Sait and Faisal N. Khan Department of Computer Engineering.
An Arithmetic Structure for Test Data Horizontal Compression Marie-Lise FLOTTES, Regis POIRIER, Bruno ROUZEYRE Laboratoire d’Informatique, de Robotique.
October 8, th Asian Test Symposium 2007, Biejing, China XXXXX00XXX XX000101XXXXXXXXXXXXX0XXX1X0 101XXX1011XXXXXX0XXX XX000101XXXXXXXXXXXXX0XXX1XX.
Improving the Efficiency of Memory Partitioning by Address Clustering Alberto MaciiEnrico MaciiMassimo Poncino Proceedings of the Design,Automation and.
Efficient Test Compaction for Combinational Circuits Based on Fault Detection Count- Directed Clustering Aiman El-Maleh and Saqib Khurshid King Fahd University.
A Hybrid Test Compression Technique for Efficient Testing of Systems-on-a-Chip Aiman El-Maleh King Fahd University of Petroleum & Minerals, Dept. of Computer.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Project.
The Design of Improved Dynamic AES and Hardware Implementation Using FPGA 游精允.
Instruction Set Architecture (ISA) for Low Power Hillary Grimes III Department of Electrical and Computer Engineering Auburn University.
A Static Test Compaction Technique for Combinational Circuits Based on Independent Fault Clustering Yahya E. Osais & Aiman H. El-Maleh King Fahd University.
EaseCAM: An Energy And Storage Efficient TCAM-based IP-Lookup Architecture Rabi Mahapatra Texas A&M University;
Interconnect Efficient LDPC Code Design Aiman El-Maleh Basil Arkasosy Adnan Al-Andalusi King Fahd University of Petroleum & Minerals, Saudi Arabia Aiman.
Multivalued Logic for Reduced Pin Count and Multi-Site SoC Testing Baohu Li and Vishwani D. Agrawal Auburn University, ECE Dept., Auburn, AL 36849, USA.
1 AN EFFICIENT TEST-PATTERN RELAXATION TECHNIQUE FOR SYNCHRONOUS SEQUENTIAL CIRCUITS Khaled Abdul-Aziz Al-Utaibi
Data Compression Basics & Huffman Coding
Seok-Won Seong and Prabhat Mishra University of Florida IEEE Transaction on Computer Aided Design of Intigrated Systems April 2008, Vol 27, No. 4 Rahul.
Adopting Multi-Valued Logic for Reduced Pin-Count Testing Baohu Li, Bei Zhang and Vishwani Agrawal Auburn University, ECE Dept., Auburn, AL 36849, USA.
Binary Image Compression via Monochromatic Pattern Substitution: A Sequential Speed-Up Luigi Cinque and Sergio De Agostino Computer Science Department.
: Chapter 12: Image Compression 1 Montri Karnjanadecha ac.th/~montri Image Processing.
IMAGE COMPRESSION USING BTC Presented By: Akash Agrawal Guided By: Prof.R.Welekar.
1 Chapter 3.2 : Virtual Memory What is virtual memory? What is virtual memory? Virtual memory management schemes Virtual memory management schemes Paging.
Lecture 18: Dynamic Reconfiguration II November 12, 2004 ECE 697F Reconfigurable Computing Lecture 18 Dynamic Reconfiguration II.
Tinoosh Mohsenin and Bevan M. Baas VLSI Computation Lab, ECE Department University of California, Davis Split-Row: A Reduced Complexity, High Throughput.
An Iterative Heuristic for State Justification in Sequential Automatic Test Pattern Generation Aiman H. El-MalehSadiq M. SaitSyed Z. Shazli Department.
Group No 5 1.Muhammad Talha Islam 2.Karim Akhter 3.Muhammad Arif 4.Muhammad Umer Khalid.
1/20 A Novel Technique for Input Vector Compression in System-on-Chip Testing Student: Chien Nan Lin Satyendra Biswas, Sunil Das, and Altaf Hossain,” Information.
Garo Bournoutian and Alex Orailoglu Proceedings of the 45th ACM/IEEE Design Automation Conference (DAC’08) June /10/28.
Reducing Test Application Time Through Test Data Mutation Encoding Sherief Reda and Alex Orailoglu Computer Science Engineering Dept. University of California,
Novel Hardware-software Architecture for Computation of DWT Using Recusive Merge Algorithm Piyush Jamkhandi, Amar Mukherjee, Kunal Mukherjee, Robert Franceschini.
IIIT Hyderabad Scalable Clustering using Multiple GPUs K Wasif Mohiuddin P J Narayanan Center for Visual Information Technology International Institute.
Advances in digital image compression techniques Guojun Lu, Computer Communications, Vol. 16, No. 4, Apr, 1993, pp
Improving NoC-based Testing Through Compression Schemes Érika Cota 1 Julien Dalmasso 2 Marie-Lise Flottes 2 Bruno Rouzeyre 2 WNOC
Parallel Data Compression Utility Jeff Gilchrist November 18, 2003 COMP 5704 Carleton University.
Speeding up Lossless Image Compression: Experimental Results on a Parallel Machine Luigi Cinque and Sergio De Agostino Computer Science Department Sapienza.
Multi-Split-Row Threshold Decoding Implementations for LDPC Codes
OPTIMIZING DSP SCHEDULING VIA ADDRESS ASSIGNMENT WITH ARRAY AND LOOP TRANSFORMATION Chun Xue, Zili Shao, Ying Chen, Edwin H.-M. Sha Department of Computer.
Jing Ye 1,2, Xiaolin Zhang 1,2, Yu Hu 1, and Xiaowei Li 1 1 Key Laboratory of Computer System and Architecture Institute of Computing Technology Chinese.
Hanyang University Hyunok Oh Energy Optimal Bit Encoding for Flash Memory.
Reporter :Chien-Wen Huang Date : Information Sciences, Vol. 176, No. 22, Nov. 2006, pp Received 29 December 2004; received in revised.
Cache Miss-Aware Dynamic Stack Allocation Authors: S. Jang. et al. Conference: International Symposium on Circuits and Systems (ISCAS), 2007 Presenter:
SIMD Implementation of Discrete Wavelet Transform Jake Adriaens Diana Palsetia.
Tinoosh Mohsenin 2, Houshmand Shirani-mehr 1, Bevan Baas 1 1 University of California, Davis 2 University of Maryland Baltimore County Low Power LDPC Decoder.
IP Address Lookup Masoud Sabaei Assistant professor Computer Engineering and Information Technology Department, Amirkabir University of Technology.
Instruction Packing for a 32-bit Stack-Based Processor Witcharat Lertteerawattana and Prabhas Chongstitvatana Department of Computer Engineering Chulalongkorn.
Data Compression.
Source :Journal of visual Communication and Image Representation
Image Processing, Leture #16
Information Redundancy Fault Tolerant Computing
A Digital Watermarking Scheme Based on Singular Value Decomposition
Esam Ali Khan M.S. Thesis Defense
Advisor: Chin-Chen Chang1, 2 Student: Yi-Pei Hsieh2
Image Compression Purposes Requirements Types
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
MS Thesis Defense Presentation by Mustafa Imran Ali COE Department
Reseeding-based Test Set Embedding with Reduced Test Sequences
Test Data Compression for Scan-Based Testing
Authors: Ding-Yuan Lee, Ching-Che Wang, An-Yeu Wu Publisher: 2019 VLSI
Efficient Placement of Compressed Code for Parallel Decompression
Presentation transcript:

A Geometric-Primitives-Based Compression Scheme for Testing Systems-on-a-Chip Aiman El-Maleh 1, Saif al Zahir 2, Esam Khan 1 1 King Fahd University of Petroleum & Minerals, Dept. of Computer Eng., Saudi Arabia 2 University of British Columbia, ECE Dept., Canada Aiman El-Maleh 1, Saif al Zahir 2, Esam Khan 1 1 King Fahd University of Petroleum & Minerals, Dept. of Computer Eng., Saudi Arabia 2 University of British Columbia, ECE Dept., Canada

2 OutlineOutline n Motivation n Test compression techniques n Used geometric shapes n Proposed encoding algorithm Test set sorting Test set sorting Test set partitioning Test set partitioning Encoding process Encoding process n Decoding process n Experimental results n Conclusions n Motivation n Test compression techniques n Used geometric shapes n Proposed encoding algorithm Test set sorting Test set sorting Test set partitioning Test set partitioning Encoding process Encoding process n Decoding process n Experimental results n Conclusions

3 MotivationMotivation n With today’s technology, complete systems with millions of transistors are built on a single chip n Increasing complexity of systems-on-a-chip and its test data size increased cost of testing n Test data must be stored in tester memory and transferred from tester to chip n Cost of automatic test equipment increases with increase in speed, channel capacity, and memory. n Need for test data reduction is imperative Test compaction Test compaction Test compression Test compression n With today’s technology, complete systems with millions of transistors are built on a single chip n Increasing complexity of systems-on-a-chip and its test data size increased cost of testing n Test data must be stored in tester memory and transferred from tester to chip n Cost of automatic test equipment increases with increase in speed, channel capacity, and memory. n Need for test data reduction is imperative Test compaction Test compaction Test compression Test compression

4 Test compression techniques n Burrows-wheeler transformation & modified run- length coding [Yamaguchi et al., ITC 97] n Statistical coding based on modified Huffman codes [Jas et al., VTS 99] n Coding based on storing differing bits, decoding based on embedded processor [Jas et al., ICCD 99] n Variable-to-block run-length coding, encoding runs of 0’s followed by 1 [Jas et al., ITC 98] n Variable-to-variable run-length coding using Golomb codes [Chandra et al., VTS 2000] n Variable-to-variable run-length coding using FDR codes [Chandra et al., VTS 2001] n Burrows-wheeler transformation & modified run- length coding [Yamaguchi et al., ITC 97] n Statistical coding based on modified Huffman codes [Jas et al., VTS 99] n Coding based on storing differing bits, decoding based on embedded processor [Jas et al., ICCD 99] n Variable-to-block run-length coding, encoding runs of 0’s followed by 1 [Jas et al., ITC 98] n Variable-to-variable run-length coding using Golomb codes [Chandra et al., VTS 2000] n Variable-to-variable run-length coding using FDR codes [Chandra et al., VTS 2001]

5 Used geometric shapes n Point: n Lines: n Point: n Lines: (x,y) Type1Type2Type3Type4 (x,y) d(x,y)d (x,y) d (x,y) d

6 Used geometric shapes- cont. n Triangles: n Rectangle: n Triangles: n Rectangle: Type1Type2Type3Type4 (x,y)d (x,y) d (x,y) d (x,y) d (x,y)d1d2

7 Proposed encoding algorithm n Test set sorting Generate clusters of 0’s or 1’s efficiently encoded by geometric shapes Generate clusters of 0’s or 1’s efficiently encoded by geometric shapes n Test set partitioning Test set partitioned into L segments Test set partitioned into L segments Each segment consists of K blocks Each segment consists of K blocks Each block is NxN bits Each block is NxN bits n Block encoding Do not encode block and store actual test data (00) Do not encode block and store actual test data (00) Encode block as filled with all 0’s (010) Encode block as filled with all 0’s (010) Encode block as filled with all 1’s (011) Encode block as filled with all 1’s (011) Encode 0’s by geometric shapes (10) Encode 0’s by geometric shapes (10) Encode 1’s by geometric shapes (11) Encode 1’s by geometric shapes (11) n Test set sorting Generate clusters of 0’s or 1’s efficiently encoded by geometric shapes Generate clusters of 0’s or 1’s efficiently encoded by geometric shapes n Test set partitioning Test set partitioned into L segments Test set partitioned into L segments Each segment consists of K blocks Each segment consists of K blocks Each block is NxN bits Each block is NxN bits n Block encoding Do not encode block and store actual test data (00) Do not encode block and store actual test data (00) Encode block as filled with all 0’s (010) Encode block as filled with all 0’s (010) Encode block as filled with all 1’s (011) Encode block as filled with all 1’s (011) Encode 0’s by geometric shapes (10) Encode 0’s by geometric shapes (10) Encode 1’s by geometric shapes (11) Encode 1’s by geometric shapes (11)

8 Test set sorting - criteria 0-distance01x x distance01x x /1- distance 01x x b11b12b13b21b22b23 v1 v2

9 Test set sorting - example v1001x10xx v20x v311x11x01 v20x110001v1001x10xx v311x11x01 v311x11x01v20x v1001x10xx Original Vectors Sorted Vectors 0-distance 1-distance

10 Test set partitioning x x x x x x x x x x x x x x x x x x x x x x x x x x x x 1 1 x x x 1 x x8block8x8block8x4block2x8block2x8block2x4block 20 10

11 Block encoding process n Check if block can be encoded as filled with all 0’s or with all 1’s n Encode the 1 bits by geometric shapes Extract all geometric shapes covering 1 bits Extract all geometric shapes covering 1 bits Solve a covering problem to select the smallest number of geometric shapes covering the 1 bits Solve a covering problem to select the smallest number of geometric shapes covering the 1 bits n Encode the 0 bits by geometric shapes Extract all geometric shapes covering 0 bits Extract all geometric shapes covering 0 bits Solve a covering problem to select the smallest number of geometric shapes covering the 0 bits Solve a covering problem to select the smallest number of geometric shapes covering the 0 bits n Determine whether to encode the block by geometric shapes or not & which bit to encode n Check if block can be encoded as filled with all 0’s or with all 1’s n Encode the 1 bits by geometric shapes Extract all geometric shapes covering 1 bits Extract all geometric shapes covering 1 bits Solve a covering problem to select the smallest number of geometric shapes covering the 1 bits Solve a covering problem to select the smallest number of geometric shapes covering the 1 bits n Encode the 0 bits by geometric shapes Extract all geometric shapes covering 0 bits Extract all geometric shapes covering 0 bits Solve a covering problem to select the smallest number of geometric shapes covering the 0 bits Solve a covering problem to select the smallest number of geometric shapes covering the 0 bits n Determine whether to encode the block by geometric shapes or not & which bit to encode

12 Encoding format n Test header information Block size: 2 bits (8x8, 16x16, 32x32) Block size: 2 bits (8x8, 16x16, 32x32) No. segments: 14 bits No. segments: 14 bits No. blocks per segment: 14 bits No. blocks per segment: 14 bits Row remainder: 5 bits Row remainder: 5 bits Column remainder: 5 bits Column remainder: 5 bits n Block encoding information Block encoded by shapes or not: 1 bit Block encoded by shapes or not: 1 bit Encoded bit: 1 bit Encoded bit: 1 bit No. shapes: 3 bits or 4 bits or 5 bits No. shapes: 3 bits or 4 bits or 5 bits Shape type: 2 bits Shape type: 2 bits Sub-shape type: 2 bits Sub-shape type: 2 bits Coordinate: 6 bits or 8 bits or 10 bits Coordinate: 6 bits or 8 bits or 10 bits Distance: 3 bits or 4 bits or 5 bits Distance: 3 bits or 4 bits or 5 bits n Test header information Block size: 2 bits (8x8, 16x16, 32x32) Block size: 2 bits (8x8, 16x16, 32x32) No. segments: 14 bits No. segments: 14 bits No. blocks per segment: 14 bits No. blocks per segment: 14 bits Row remainder: 5 bits Row remainder: 5 bits Column remainder: 5 bits Column remainder: 5 bits n Block encoding information Block encoded by shapes or not: 1 bit Block encoded by shapes or not: 1 bit Encoded bit: 1 bit Encoded bit: 1 bit No. shapes: 3 bits or 4 bits or 5 bits No. shapes: 3 bits or 4 bits or 5 bits Shape type: 2 bits Shape type: 2 bits Sub-shape type: 2 bits Sub-shape type: 2 bits Coordinate: 6 bits or 8 bits or 10 bits Coordinate: 6 bits or 8 bits or 10 bits Distance: 3 bits or 4 bits or 5 bits Distance: 3 bits or 4 bits or 5 bits

13 Decoding process n Decoding algorithm can be implemented in Software using an embedded processor on chip Software using an embedded processor on chip Hardware Hardware n Each segment of blocks has to be decoded and stored in memory n Test vectors of a decoded segment are sent to circuit under test n Limitation of decoder is the need for memory to store a block segment n Segment decoding and circuit testing can be done in parallel if memory resources available n Decoding algorithm can be implemented in Software using an embedded processor on chip Software using an embedded processor on chip Hardware Hardware n Each segment of blocks has to be decoded and stored in memory n Test vectors of a decoded segment are sent to circuit under test n Limitation of decoder is the need for memory to store a block segment n Segment decoding and circuit testing can be done in parallel if memory resources available

14 Experimental results n Benchmark circuits Largest ISCAS 85 and full-scanned versions of ISCAS 89 circuits Largest ISCAS 85 and full-scanned versions of ISCAS 89 circuits n Test sets Dynamic compaction by Mintest [Hamzaoglu & Patel, ICCAD 98] Dynamic compaction by Mintest [Hamzaoglu & Patel, ICCAD 98] Static compaction by Mintest Static compaction by Mintest n Block sizes 8x8, 16x16, and 32x32 8x8, 16x16, and 32x32 n Sorting criteria 0-distance, 1-distance, and 0/1-distance 0-distance, 1-distance, and 0/1-distance n Compression ratio (#Original Bits - #Compressed Bits)/#Original Bits (#Original Bits - #Compressed Bits)/#Original Bits n Benchmark circuits Largest ISCAS 85 and full-scanned versions of ISCAS 89 circuits Largest ISCAS 85 and full-scanned versions of ISCAS 89 circuits n Test sets Dynamic compaction by Mintest [Hamzaoglu & Patel, ICCAD 98] Dynamic compaction by Mintest [Hamzaoglu & Patel, ICCAD 98] Static compaction by Mintest Static compaction by Mintest n Block sizes 8x8, 16x16, and 32x32 8x8, 16x16, and 32x32 n Sorting criteria 0-distance, 1-distance, and 0/1-distance 0-distance, 1-distance, and 0/1-distance n Compression ratio (#Original Bits - #Compressed Bits)/#Original Bits (#Original Bits - #Compressed Bits)/#Original Bits

15 Compression results for different sorting criteria (8x8 block)

16 Compression results for different block sizes (0/1-distance)

17 Comparison with Golomb & FDR codes

18 Impact of test set on compression Circuit Orig. Bits Comp. Ratio Comp. Bits Orig. Bits Comp. Ratio Comp. Bits s s s s s s s Test Set 1 Test Set 2

19 ConclusionsConclusions n Proposed a novel, very efficient test compression/ decompression scheme for testing systems-on-a-chip n Technique based on encoding test data by geometric shapes n Exploits test vector reordering, partitioning, type of encoded bit, and whether or not to encode a block n Very high compression ratio achieved n Best compression ratio reported and significantly higher than published results n Decoder requires memory to store a test segment n Proposed a novel, very efficient test compression/ decompression scheme for testing systems-on-a-chip n Technique based on encoding test data by geometric shapes n Exploits test vector reordering, partitioning, type of encoded bit, and whether or not to encode a block n Very high compression ratio achieved n Best compression ratio reported and significantly higher than published results n Decoder requires memory to store a test segment