Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

1 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 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 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 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 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 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 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 8 Test set sorting - criteria 0-distance01x 01.00.00.25 10.00.00.0 x0.250.00.25 1-distance01x00.00.00.0 10.01.00.25 x0.00.250.25 0/1- distance 01x01.00.00.25 10.01.00.25 x0.250.250.25 b11b12b13b21b22b23 v1 v2

9 9 Test set sorting - example v1001x10xx v20x110001 v311x11x01 v20x110001v1001x10xx v311x11x01 v311x11x01v20x110001 v1001x10xx Original Vectors Sorted Vectors 0-distance 1-distance

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

11 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 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 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 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 15 Compression results for different sorting criteria (8x8 block)

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

17 17 Comparison with Golomb & FDR codes

18 18 Impact of test set on compression Circuit Orig. Bits Comp. Ratio Comp. Bits Orig. Bits Comp. Ratio Comp. Bits s53782375457.9499912075849.16710552 s92343927357.22168012593538.14516042 s1320716520086.6282209116310082.40327776 s158507698670.188229525743458.90923600 s359322820878.12361712115625.49215763 s3841716473662.2266222811315245.98961115 s3858419910465.5946850416104065.38255749 Test Set 1 Test Set 2

19 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


Download ppt "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."

Similar presentations


Ads by Google