Reseeding-based Test Set Embedding with Reduced Test Sequences

Slides:



Advertisements
Similar presentations
Sequential Circuits1 DIGITAL LOGIC DESIGN by Dr. Fenghui Yao Tennessee State University Department of Computer Science Nashville, TN.
Advertisements

Computational Methods for Management and Economics Carla Gomes Module 8b The transportation simplex method.
Bounds on Code Length Theorem: Let l ∗ 1, l ∗ 2,..., l ∗ m be optimal codeword lengths for a source distribution p and a D-ary alphabet, and let L ∗ be.
1 EE 587 SoC Design & Test Partha Pande School of EECS Washington State University
Linear Obfuscation to Combat Symbolic Execution Zhi Wang 1, Jiang Ming 2, Chunfu Jia 1 and Debin Gao 3 1 Nankai University 2 Pennsylvania State University.
Copyright 2005, Agrawal & BushnellVLSI Test: Lecture 21alt1 Lecture 21alt BIST -- Built-In Self-Test (Alternative to Lectures 25, 26 and 27) n Definition.
1 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Asynchronous Bit-stream Compression Arkadiy Morgenshtein, Avinoam Kolodny, Ran Ginosar Technion.
Design for Testability Theory and Practice Lecture 11: BIST
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.
Quantum Computing Joseph Stelmach.
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.
Processing Rate Optimization by Sequential System Floorplanning Jia Wang 1, Ping-Chih Wu 2, and Hai Zhou 1 1 Electrical Engineering & Computer Science.
1 AN EFFICIENT TEST-PATTERN RELAXATION TECHNIQUE FOR SYNCHRONOUS SEQUENTIAL CIRCUITS Khaled Abdul-Aziz Al-Utaibi
1 Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs Department of Computer Science and Information Engineering National Cheng.
Testimise projekteerimine: Labor 2 BIST Optimization
Introduction to variable selection I Qi Yu. 2 Problems due to poor variable selection: Input dimension is too large; the curse of dimensionality problem.
CS1Q Computer Systems Lecture 11 Simon Gay. Lecture 11CS1Q Computer Systems - Simon Gay2 The D FlipFlop A 1-bit register is called a D flipflop. When.
An introduction to the finite element method using MATLAB
A Test-Per-Clock LFSR Reseeding Algorithm for Concurrent Reduction on Test Sequence Length and Test Data Volume Adviser :蔡亮宙 Student ;蔡政宏.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Department of Electrical Engineering, Southern Taiwan University Robotic Interaction Learning Lab 1 The optimization of the application of fuzzy ant colony.
Disclosure risk when responding to queries with deterministic guarantees Krish Muralidhar University of Kentucky Rathindra Sarathy Oklahoma State University.
Reducing Test Application Time Through Test Data Mutation Encoding Sherief Reda and Alex Orailoglu Computer Science Engineering Dept. University of California,
1 Quine-McCluskey Method. 2 Motivation Karnaugh maps are very effective for the minimization of expressions with up to 5 or 6 inputs. However they are.
Weikang Qian. Outline Intersection Pattern and the Problem Motivation Solution 2.
StrideBV: Single chip 400G+ packet classification Author: Thilan Ganegedara, Viktor K. Prasanna Publisher: HPSR 2012 Presenter: Chun-Sheng Hsueh Date:
ALGORITHMS.
Arithmetic Test Pattern Generation: A Bit Level Formulation of the Optimization Problem S. Manich, L. García and J. Figueras.
Technical University Tallinn, ESTONIA Copyright by Raimund Ubar 1 Raimund Ubar N.Mazurova, J.Smahtina, E.Orasson, J.Raik Tallinn Technical University.
Comp 335 File Structures Data Compression. Why Study Data Compression? Conserves storage space Files can be transmitted faster because there are less.
A Test-Per-Clock LFSR Reseeding Algorithm for Concurrent Reduction on Test Sequence Length and Test Data Volume Wei-Cheng Lien 1, Kuen-Jong Lee 1 and Tong-Yu.
1. Searching The basic characteristics of any searching algorithm is that searching should be efficient, it should have less number of computations involved.
Chapter 9: Sorting1 Sorting & Searching Ch. # 9. Chapter 9: Sorting2 Chapter Outline  What is sorting and complexity of sorting  Different types of.
July 10, th VLSI Design and Test Symposium1 BIST / Test-Decompressor Design using Combinational Test Spectrum Nitin Yogi Vishwani D. Agrawal Auburn.
The Transportation and Assignment Problems
Optimization Of Robot Motion Planning Using Genetic Algorithm
Computer Organization and Architecture + Networks
Applied Discrete Mathematics Week 2: Functions and Sequences
Material handling Defined as the art and science of moving, packing and storing of substances in any form. Creation of time and place utility Movement.
Ioannis E. Venetis Department of Computer Engineering and Informatics
Updating SF-Tree Speaker: Ho Wai Shing.
Memory Allocation The main memory must accommodate both:
Bulgarian Academy of Sciences
UNIVERSITY OF MASSACHUSETTS Dept
Injong Rhee ICMCS’98 Presented by Wenyu Ren
Test Sequence Length Requirements for Scan-based Testing
VLSI Testing Lecture 14: Built-In Self-Test
Instructor: Alexander Stoytchev
PROGRAMME 4 DETERMINANTS.
Pattern Compression for Multiple Fault Models
Metode Eliminasi Pertemuan – 4, 5, 6 Mata Kuliah : Analisis Numerik
PROGRAMME 4 DETERMINANTS.
Advanced Analysis of Algorithms
SYEN 3330 Digital Systems Chapter 2 – Part 5 SYEN 3330 Digital Systems.
Esam Ali Khan M.S. Thesis Defense
Numerical Analysis Lecture13.
Sungho Kang Yonsei University
COMP60621 Fundamentals of Parallel and Distributed Systems
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
Heuristic Minimization of Two Level Circuits
ECE 352 Digital System Fundamentals
MS Thesis Defense Presentation by Mustafa Imran Ali COE Department
Lecture 26 Logic BIST Architectures
Continuous Density Queries for Moving Objects
Quantum Computing Joseph Stelmach.
Test Data Compression for Scan-Based Testing
COMP60611 Fundamentals of Parallel and Distributed Systems
COMP755 Advanced Operating Systems
Linear Time Sorting.
Digital Electronics and Logic Design
Presentation transcript:

Reseeding-based Test Set Embedding with Reduced Test Sequences E. Kalligeros1, 2, D. Kaseridis1, 2, X. Kavousianos3 and D. Nikolos1, 2 1Computer Engineering & Informatics Dept., University of Patras, Greece 2Research Academic Computer Technology Institute, Greece 3Computer Science Dept., University of Ioannina, Greece

Motivation Core-oriented way of designing contemporary Systems on Chip (SoCs) is placing a severe burden on the Automatic Test Equipment (ATE) This designing style leads to larger and denser circuits that require greater test data volumes and longer test-application times

Motivation IP protected systems (unknown structure): ways of test Deterministic test set generation: TPG for precisely reproduction of test set Test-pattern compression: Compressed vectors stored on tester and decompressed on chip with small built-in circuit Test set embedding: Encodes test patterns in longer sequences Therefore Test-set embedding techniques with short test sequences are required

Outline of the presentation Seed-selection algorithm Test-sequence reduction scheme Evaluation-Comparisons

Outline of the presentation Seed-selection algorithm Test-sequence reduction scheme Evaluation-Comparisons

Seed-selection algorithm We consider the classical LFSR-based reseeding scheme: LFSR of length n and a Vector Counter The algorithm receives as input the size L of the window that each seed expands to and a set of test cubes T For determining a new seed the seed-algorithm makes uses of the well-known concept of solving systems of linear equations (i.e. assuming Gauss-Jordan elimination) [Koenemann ETC’91] If each bit of the seed of the LFSR were replaced by a binary variable then each one of the L window states would be a symbolic vector

Seed-selection algorithm The algorithm examines all possible linear systems and chooses one to solve If no system can be solved for any of the remaining test cubes the above procedure stops and a new window has been determined Since at each step of algorithm, linear systems corresponding to more than one test cubes will be solvable at more than one positions of the window, as set of heuristics is needed for selecting the system that will be actually solved

Seed-selection algorithm Five heuristics are utilized Three basic of the algorithm proposed in [Kalligeros et al, ISQED’02] Two new heuristics that significantly refine the selection process (improved encoding ability of proposed algorithm)

Seed-selection algorithm First criterion At each step of the algorithm the system that is actually selected to be solved is the one that leads to the replacement of the fewest variables in the initial window state Second criterion The cube containing the maximum number of defined bits is the first to be selected for each new seed Third criterion Test cube set is split in two different groups: High priority: Cubes that contain many defined bits Low priority: Rest cubes of set T At each step of the algorithm, cubes of 1 are targeted first and only if no such cube can be covered then the cubes of 2 are targeted

Seed-selection algorithm Although the application of the previous heuristics leads to good result in terms of resulting seed volumes they are not elaborate enough At each step of the algorithm there are many solvable systems that require the same minimum number of variables to be replaced The choice among them is a random choice that does not improve the efficiency of the algorithm. For that reason two new criteria are introduced

Seed-selection algorithm Fourth criterion From the systems that require the elimination of the same minimum number of variables, those corresponding to the test cubes with the maximum number of defined bits are preferred Fifth criterion In the case the fourth criterion gives more than one cube then the systems corresponding to the cube which can be covered at the fewest positions within the L-state window are preferred The addition of those two criteria improves significantly the encoding ability of the seed-selection algorithm resulting in 25% smaller seed sets on average

Outline of the presentation Seed-selection algorithm Test-sequence reduction scheme Evaluation-Comparisons

Test-sequence reduction scheme Seed-selection algorithm assumes a L state window for every seed Only some of these states of each window are actually being used for reproducing a test cube of T If the last state of a window is not a useful one then all states from the last useful one to the last state of each window are redundant As more seeds are selected by the algorithm, more variables are replaced and thus fewer cubes are encoded in each seed  more useless states at the end of these windows

Test-sequence reduction scheme This problem is much more important in the case of test set embedding since the increased number of seeds leads to much longer test sequences Most efficient way (in terms of test-sequence length): “Maximum reduction” approach which stops the expansion of each seed after the clock cycle in which the last useful state was generated by the LFSR  number of redundant states will be zero Problem: Vector Counter has to be initialized with a different value at each reseeding  Excessive test data storage

Test-sequence reduction scheme An intermediate approach has to be followed Proposed approach: Each window is segmented into a number (m) of equal-sized groups of LFSR states The useful states of the window are included in the first k segments and thus the remaining m-k segments contain redundant states and can be dropped during test generation Segment-Vectors Counter: Generate the states of each group (counts from Segment_Size-1 to 0)

Test-sequence reduction scheme

Test-sequence reduction scheme With proper selection of Segment_Size, the distance between the last useful state and the end of last useful segment can be minimized The Upper limit of number of eliminated redundant states is the one of the “Maximum reduction” approach A low hardware-overhead solution for generating the useful segment of each window is required

Test-sequence reduction scheme Rearrangement technique Main idea: Order the seeds according to the number of useful segments if these volumes for every two successive windows differs at most by one  Only a single extra bit per seed is needed for indicating this relation. Extra bit=0  Same number of useful segment Extra bit=1  One segment difference Problem: The difference in the number of useful segment between two successive (ordered) seeds may be greater than one Solution: Some useless segments should be maintained in the window with the smaller number of useful segments

Test-sequence reduction scheme Example of rearrangement technique

Test-sequence reduction scheme Load Counter : Down counter that maintains the necessary number of segments for each window Initially loaded with maximum number of segments required among all windows The value of the extra bit of each window determines the operation of the counter Extra bit=1  Load counter decreases by one Extra bit=0  Load counter stays unchanged

Test-sequence reduction scheme In order to actually control the generation of the patterns of a window, two counters are need: Segment-Vectors Counter : Counts from Segment_Size-1 to 0 and controls the generation of the vectors of a segment Segment Counter : Counts the requiring number of segments in each window and thus initialized with the value of Load Counter at the beginning of a new window These two counters constitute a combined counter Segment Counter’s value is decreased by one every time Segment-Vectors Counter signals that Segment_Size patterns have been applied to the CUT

Test-sequence reduction scheme New window generation: Next stored seed is loaded into LFSR Segment Counter is loaded with current Load Counter’s Value Load Counter is triggered (or not) according to value of seed’s stored extra bit Segment-Vectors Counter is enabled

Test-sequence reduction scheme The previous process is repeated until all the seeds have been expanded to their corresponding vector-segments Extra hardware overhead of Control Logic: The combination of Segment and Segment-Vectors Counters is equal to the Vector Counter of the classical reseeding approach Therefore H/W overhead is only the Load Counter

Outline of the presentation Seed-selection algorithm Test-sequence reduction scheme Evaluation-Comparisons

Evaluation-Comparisons First Important issue: Choice of window size L Affects both number of final selected seeds and the length of the resulting test sequences As ↑ L  # of required seeds ↓ But # of required seeds is gradually saturated as ↑ L resulting in larger test sequences with small benefits for the # of seeds

Evaluation-Comparisons Second Important issue: Choice of Segment_Size Can be calculated easily by a very-fast brute force procedure This procedure tests all possible segment_size values and chooses the best one with respect to: Number of allowed redundant segments in seed’s windows Number of redundant vectors in the last useful segment of each window Running time on Pentium 2.6 GHz workstation was less than 2 sec

Evaluation-Comparisons Results of proposed technique: () Reduction of test-sequence lengths of segmentation-rearrangement technique compared to unreduced sequences of the seed-selection algorithm () Percentage of test-sequence reduction over those of “maximum reduction” technique

Evaluation-Comparisons Comparison with Twisted-Ring Counters approach Resulting Test Sequences: () Twisted-Ring with Mintest () Twisted-Ring with Atalanta () Proposed technique Proposed technique

Evaluation-Comparisons Comparison with Twisted-Ring Counters approach Test Data Storage: () ROM bits of Twisted-Ring with Mintest () ROM bits of Twisted-Ring with Atalanta () ROM bits of Proposed technique

Conclusions Segmentation-rearrangement techniques achieves on average 20,17% reduction in final test-sequence lengths having on average 74,76% of the reduction of the “maximum reduction” approach The combination of the two proposed techniques (seed-selection algorithm + segmentation-rearrangement techn.) requires on average 85,39% and 74,04% fewer test vectors than Twisted-Ring Counter for Mintest and Atalanta cases respectively On average, compared to Twisted-Ring Counters our technique requires 27,79% and 39,94% less test-data storage for Mintest and Atalanta cases respectively