Esam Ali Khan M.S. Thesis Defense

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

CoMPI: Enhancing MPI based applications performance and scalability using run-time compression. Rosa Filgueira, David E.Singh, Alejandro Calderón and Jesús.
MP3 Optimization Exploiting Processor Architecture and Using Better Algorithms Mancia Anguita Universidad de Granada J. Manuel Martinez – Lechado Vitelcom.
Advanced ITC Presentation A. Pogiel J. Rajski J. Tyszer.
VLSI-SoC, Atlanta J. Dalmasso, ML Flottes, B. Rouzeyre CNRS/ Univ. Montpellier II France 1 17/10/2007.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
CENTRAL PROCESSING UNIT
Scalable Test Pattern Generator Design Method for BIST Petr Fišer, Hana Kubátová Czech Technical University in Prague Faculty of Electrical Engineering.
Submission May, 2000 Doc: IEEE / 086 Steven Gray, Nokia Slide Brief Overview of Information Theory and Channel Coding Steven D. Gray 1.
Copyright 2005, Agrawal & BushnellVLSI Test: Lecture 21alt1 Lecture 21alt BIST -- Built-In Self-Test (Alternative to Lectures 25, 26 and 27) n Definition.
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.
Design for Testability Theory and Practice Lecture 11: BIST
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.
ELEC Fall 05 1 Very- Long Instruction Word (VLIW) Computer Architecture Fan Wang Department of Electrical and Computer Engineering Auburn.
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.
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.
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
Compressed Instruction Cache Prepared By: Nicholas Meloche, David Lautenschlager, and Prashanth Janardanan Team Lugnuts.
Testimise projekteerimine: Labor 2 BIST Optimization
Adopting Multi-Valued Logic for Reduced Pin-Count Testing Baohu Li, Bei Zhang and Vishwani Agrawal Auburn University, ECE Dept., Auburn, AL 36849, USA.
1 Fitting ATE Channels with Scan Chains: a Comparison between a Test Data Compression Technique and Serial Loading of Scan Chains LIRMM CNRS / University.
Presenter: Hong-Wei Zhuang On-Chip SOC Test Platform Design Based on IEEE 1500 Standard Very Large Scale Integration (VLSI) Systems, IEEE Transactions.
1 Advance Computer Architecture CSE 8383 Ranya Alawadhi.
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.
An Iterative Heuristic for State Justification in Sequential Automatic Test Pattern Generation Aiman H. El-MalehSadiq M. SaitSyed Z. Shazli Department.
EE141 VLSI Test Principles and Architectures Ch. 9 - Memory Diagnosis & BISR - P. 1 1 Chapter 9 Memory Diagnosis and Built-In Self-Repair.
LZRW3 Decompressor dual semester project Characterization Presentation Students: Peleg Rosen Tal Czeizler Advisors: Moshe Porian Netanel Yamin
Reducing Test Application Time Through Test Data Mutation Encoding Sherief Reda and Alex Orailoglu Computer Science Engineering Dept. University of California,
IIIT Hyderabad Scalable Clustering using Multiple GPUs K Wasif Mohiuddin P J Narayanan Center for Visual Information Technology International Institute.
Improving NoC-based Testing Through Compression Schemes Érika Cota 1 Julien Dalmasso 2 Marie-Lise Flottes 2 Bruno Rouzeyre 2 WNOC
Multi-Split-Row Threshold Decoding Implementations for LDPC Codes
Technical University Tallinn, ESTONIA Copyright by Raimund Ubar 1 Raimund Ubar N.Mazurova, J.Smahtina, E.Orasson, J.Raik Tallinn Technical University.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
Computer Sciences Department1. 2 Data Compression and techniques.
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.
July 10, th VLSI Design and Test Symposium1 BIST / Test-Decompressor Design using Combinational Test Spectrum Nitin Yogi Vishwani D. Agrawal Auburn.
Basic Computer Organization and Design
Compression & Huffman Codes
Hiba Tariq School of Engineering
基于多核加速计算平台的深度神经网络 分割与重训练技术
Hardware Testing and Designing for Testability
Data Compression.
VLSI Testing Lecture 14: Built-In Self-Test
Fei Li Jinjun Xiong University of Wisconsin-Madison
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 3)
Definition Partial-scan architecture Historical background
Fine-Grain CAM-Tag Cache Resizing Using Miss Tags
Sum of Absolute Differences Hardware Accelerator
High Throughput LDPC Decoders Using a Multiple Split-Row Method
Post-Silicon Calibration for Large-Volume Products
Sungho Kang Yonsei University
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
15 Data Compression Foundations of Computer Science ã Cengage Learning.
MS Thesis Defense Presentation by Mustafa Imran Ali COE Department
Lecture 26 Logic BIST Architectures
Low Power Digital Design
Reseeding-based Test Set Embedding with Reduced Test Sequences
Test Data Compression for Scan-Based Testing
4-Bit Register Built using D flip-flops:
A Random Access Scan Architecture to Reduce Hardware Overhead
CSE 542: Operating Systems
15 Data Compression Foundations of Computer Science ã Cengage Learning.
Presentation transcript:

Esam Ali Khan M.S. Thesis Defense King Fahd University of Petroleum & Minerals Dept. of Computer Eng A Two-Dimensional Geometric-Shapes-Based Compression Scheme for Deterministic Testing of Systems-on-a-Chip Esam Ali Khan M.S. Thesis Defense

Outline Motivation Possible solutions Test compression techniques Proposed Technique Used geometric shapes Proposed encoding algorithm Test set sorting Test set partitioning Encoding process Decoding process Software Decoder Hardware Decoder Experimental results Conclusion & Future work

Motivation With today’s technology, complete systems with millions of transistors are built on a single chip Test data must be stored in tester memory and transferred from tester to chip Increasing complexity of systems-on-a-chip increases its test data size  increasing cost of testing (time + memory) Automatic test equipment has limited speed, channel capacity, and memory. Need for test data reduction is imperative 3

Possible solutions Test set compaction Lossless test data compression Dynamic: during test pattern generation Static: after generating the test set Lossless test data compression Based on BIST and PRG Based on encoding algorithms (regardless of the internal architecture)

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

Proposed technique A novel idea to gain higher compression ratio A two-dimensional approach Using primitive geometric shapes Assumptions Already compacted Partially specified test cubes (contain x’s) Full-scan circuits (reordering is allowed)

Used geometric shapes Point: Lines: (x,y) Type1 Type2 Type3 Type4

Used geometric shapes (Cont.) Triangles: Type1 Type2 Type3 Type4 (x,y) d Rectangle: (x,y) d1 d2

Proposed encoding algorithm Test set sorting Generate clusters of 0’s or 1’s efficiently encoded by geometric shapes Test set partitioning Test set partitioned into L segments Each segment consists of K blocks Each block is NxN bits Block encoding 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 1’s (011) Encode 0’s by geometric shapes (10) Encode 1’s by geometric shapes (11)

Test set sorting - criteria 1-distance 1 x 0.0 1.0 0.25 v1 b11 b12 b13 b21 b22 b23 v2 0/1-distance 1 x 1.0 0.0 0.25 0-distance 1 x 1.0 0.0 0.25

Test set sorting - example v1 1 x v2 v3 Original Vectors v2 x 1 v1 v3 Sorted Vectors 0-distance v3 1 x v2 v1 Sorted Vectors 1-distance

Test set partitioning 20 8x8 block 8x4 2x8 2x4 10 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 8x8 block 8x4 2x8 2x4

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

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

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

Software Decoder Output segment Read Arguments (Block size; # of segments; # of blocks per segment; Row Remainder; Column Remainder) For each segment For each block Read b1b0 Case b1b0 00: read real data 01: read b and fill the block 10: Decode_shapes(0) 11: Decode_Shapes(1) Output segment

Software Decoder (Cont.) Decode_Shape(b) Read # of shapes (log2 N –3) For each shape Read shape type (b1b0) Case b1b0 00: read coordinate and write point 01: read sub-type; coordinate; distance and fill line 10: read sub-type; coordinate; distance and fill triangle 11: read coordinate;distance1; distance2 and fill rectangle

Hardware Decoder Designed, modeled and verified using VHDL Consists of A Finite State Machine (FSM) A data path The FSM consists of 62 states

Hardware Decoder (Cont.) Data Path: Two shift registers One (12-bit ) One (4-bit) Five registers Two (10-bit) Three (5-bit) One flip-flop (D-FF) Eight counters One (12-bit) One (10-bit) One (7-bit) Five (5-bit)

Experimental results Benchmark circuits Test sets Compression ratio Largest ISCAS 85 and full-scanned versions of ISCAS 89 circuits Test sets Dynamic compaction by Mintest [Hamzaoglu & Patel, ICCAD 98] Static compaction by Mintest Relaxed to get the x’s Compression ratio (# Original Bits - # Compressed Bits) / # Original Bits All results have been verified using fault simulation

Factors affecting Comp. Ratio X-weight 0.25, 0.5, 1.0 Sorting criteria 0-distance, 1-distance, and 0/1-distance Block sizes 8x8, 16x16, and 32x32 Greedy vs. Optimal sorting Size of the test set

Compression results for different x-weight

Compression results for different sorting criteria (8x8 block)

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

Greedy vs. Optimal sorting

Impact of test set on compression Circuit Orig. Bits Comp. Ratio Comp. Bits s5378 23754 57.94 9991 20758 51.551 10057 s9234 39273 57.22 16801 25935 43.451 14666 s13207 165200 86.628 22091 163100 85.012 24445 s15850 76986 70.188 22952 57434 60.32 22790 s35932 28208 78.123 6171 21156 25.78 15702 s38417 164736 62.226 62228 113152 46.497 60540 s38584 199104 65.594 68504 161040 65.944 54844

Timing performance Timing of the encoder (in Secs; PII 350 MHz; 32MB RAM )

Timing performance (Cont.) Timing of the decoder Software decoder (negligible) Hardware Decoder (500 MHz clock)

Comparison with Golomb & FDR codes

Percentage of real-data blocks

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

Future work Enhance compression ratio by A better sorting scheme A hybrid scheme to exploit real-data blocks FDR is a good candidate

وصلى الله وسلم على سيدنا محمد وآخر دعوانا أن الحمد لله رب العالمين جزاكم الله خيراً وصلى الله وسلم على سيدنا محمد وآخر دعوانا أن الحمد لله رب العالمين