Cellular Automata as BIST pattern generators

Slides:



Advertisements
Similar presentations
3.6 Support Vector Machines
Advertisements

Adders Used to perform addition, subtraction, multiplication, and division (sometimes) Half-adder adds rightmost (least significant) bit Full-adder.
EE384y: Packet Switch Architectures
1 Concurrency: Deadlock and Starvation Chapter 6.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Cognitive Radio Communications and Networks: Principles and Practice By A. M. Wyglinski, M. Nekovee, Y. T. Hou (Elsevier, December 2009) 1 Chapter 12 Cross-Layer.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
UNITED NATIONS Shipment Details Report – January 2006.
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
Year 6 mental test 10 second questions
Robust Window-based Multi-node Technology- Independent Logic Minimization Jeff L.Cobb Kanupriya Gulati Sunil P. Khatri Texas Instruments, Inc. Dept. of.
Solve Multi-step Equations
Processor Data Path and Control Diana Palsetia UPenn
1 The tiling algorithm Learning in feedforward layered networks: the tiling algorithm writed by Marc M é zard and Jean-Pierre Nadal.
Digital Filter Banks The digital filter bank is set of bandpass filters with either a common input or a summed output An M-band analysis filter bank is.
1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.
Advance Nano Device Lab. Fundamentals of Modern VLSI Devices 2 nd Edition Yuan Taur and Tak H.Ning 0 Ch9. Memory Devices.
Chapter 9 -- Simplification of Sequential Circuits.
Chapter 3 Basic Logic Gates 1.
Introduction to CMOS VLSI Design Combinational Circuits
Chapter 4 Gates and Circuits.
Discrete Mathematical Structures: Theory and Applications
CMOS Circuits.
Digital Logical Structures
Gates and Circuits Nell Dale & John Lewis (adaptation by Erin Chambers and Michael Goldwasser)
Digital Logic Design Gate-Level Minimization
Other Gate Types COE 202 Digital Logic Design Dr. Aiman El-Maleh
Logic Gates Flip-Flops Registers Adders
Flip-Flops and Registers
Chapter 10: Virtual Memory
Outline Minimum Spanning Tree Maximal Flow Algorithm LP formulation 1.
01 Introduction to Digital Logic
Chapter 4 Gates and Circuits.
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
6.4 Best Approximation; Least Squares
Model and Relationships 6 M 1 M M M M M M M M M M M M M M M M
25 seconds left…...
Finite-state Recognizers
Datorteknik TopologicalSort bild 1 To verify the structure Easy to hook together combinationals and flip-flops Harder to make it do what you want.
Analyzing Genes and Genomes
Datorteknik IntegerAddSub bild 1 Integer arithmetic Depends what you mean by "integer" Assume at 3-bit string. –Then we define zero = 000 one = 001 Use.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Essential Cell Biology
12 System of Linear Equations Case Study
©2004 Brooks/Cole FIGURES FOR CHAPTER 12 REGISTERS AND COUNTERS Click the mouse to move to the next page. Use the ESC key to exit this chapter. This chapter.
Improved Census Transforms for Resource-Optimized Stereo Vision
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology
Datorteknik TopologicalSort bild 1 To verify the structure Easy to hook together combinationals and flip-flops Harder to make it do what you want.
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
Energy Generation in Mitochondria and Chlorplasts
Introduction into Simulation Basic Simulation Modeling.
1 Decidability continued…. 2 Theorem: For a recursively enumerable language it is undecidable to determine whether is finite Proof: We will reduce the.
The Pumping Lemma for CFL’s
Chapter 5 The Mathematics of Diversification
Copyright © Cengage Learning. All rights reserved.
Princess Sumaya University
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
Copyright 2005, Agrawal & BushnellVLSI Test: Lecture 21alt1 Lecture 21alt BIST -- Built-In Self-Test (Alternative to Lectures 25, 26 and 27) n Definition.
Design for Testability Theory and Practice Lecture 11: BIST
Comparison of LFSR and CA for BIST
Theory and Applications of GF(2 p ) Cellular Automata P. Pal Chaudhuri Department of CST Bengal Engineering College (DU) Shibpur, Howrah India (LOGIC ON.
Niloy Ganguly Biplab K Sikdar P Pal Chaudhuri Presented by Niloy Ganguly Indian Institute of Social Welfare and Business Management. Calcutta
BIST Pattern Generator inserter using Cellular Automata By Jeffrey Dwoskin Project for Testing of ULSI Circuits, Spring 2002, Rutgers University 5/15/02.
VLSI Testing Lecture 14: Built-In Self-Test
Lecture 26 Logic BIST Architectures
Presentation transcript:

Cellular Automata as BIST pattern generators Presented by Jeffrey Dwoskin 4/19/2002 Advisor: Dr. Michael Bushnell

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators References P Pal Chaudhuri et al. ‘Additive Cellular Automata Theory and Applications’, IEEE Computer Society Press, California, USA, 1997 N Ganguly, B K Sikdar, P Pal Chaudhuri,  Design of An on-chip Test Pattern Generator without Prohibited Set (PPS), 15th International Conference on VLSI Design, 2002, Bangalore, India. M Bushnell, V Agrawal, ‘Essentials of Electronic Testing for Digital Memory & Mixed Signal VLSI Circuits’, Kluwer Academic Publishers, Boston, MA, USA, 2000 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Current Pattern Generators - LFSR Linear Feedback Shift Register Chain of flip flops with feedback taps High auto-correlation Non-local feedback Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Cellular Automata as Pattern Generators Each CA cell is a flip flop with its input based only on its local neighbors Regular/local design allows compact layout Better pseudo-random patterns without auto-correlation Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Cellular Automata Cells Each CA cell consists of a flip flop and an XOR gate to determine its next state The XOR inputs can potentially be from itself, its left neighbor and/or its right neighbor Which of these inputs is present determines the type of CA cell Xc-1(t) Xc+1(t) Left Neighbor Right Xc(t) Xc(t+1) Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Characterization of CA Cells We characterize a CA cell by its truth table The binary number created becomes the rule 010110102 = 9010 100101102 = 15010 Xc-1(t) Xc(t) Xc+1(t) 27 111 26 110 25 101 24 100 23 011 22 010 21 001 20 000 Rule # Xc-1(t) Xc+1(t) 1 90 150 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Characterization of CA We can also characterize a CA cell by which neighbors it connects to. Xc-1(t) Xc+1(t) would be 101 since it connects to the left and right neighbors but not itself. We can do the same for an entire CA using a matrix Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Matrix Characterization of CA Such a matrix is called a characteristic matrix or CA matrix The CA matrix (T) is defined by: 1, if the next state of the ith cell depends on the present state of the jth cell 0, otherwise T[i,j] = Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Example CA Matrix 4 Cell CA 1 1 1 0 1 T = Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

State Transitions Using CA Matrix If the current state of the CA is ft(x), ft+1(x) = T·ft(x): Addition operator is XOR ft(x) T ft+1(x) 1 1 1 = 0(1) 1(1) 0(0) 1(0) = 1 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Characteristic Polynomial We can find the characteristic polynomial of a CA by constructing the matrix T + xI and computing its determinant: T T+xI 1 1+x 1 x P(x) = det(T + xI) = 1 +x3 +x4 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Group CA If the CA characterized by T forms a cyclic group, then: Tm = I (identity matrix) Where m is the order/length of the cycle Such a CA where this holds is called a Group CA We also find that for a Group CA: det T = 1 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Maximum Length Group CA A Group CA can be classified as maximum-length by the presence of a cycle of length 2n-1 with all non-zero states Additionally, the characteristic polynomial will be primitive – i.e. the polynomial has no factors Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Non-Maximum Length Group CA Multiple cycles Non-primitive characteristic polynomial If the order (m) of the group CA is non-prime, then the lengths of the cycles are the factors of m Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Design of An On-Chip Test Pattern Generator without Prohibited Set (PPS) N Ganguly, B K Sikdar, P Pal Chaudhuri 15th International Conference on VLSI Design, 2002, Bangalore, India

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Introduction Problem: Some circuits to which we want to add BIST hardware, have a set of prohibited patterns (vectors) that we must avoid while testing May place circuit in an undesirable state or damage the circuit Any solution should maintain the randomness qualities of the test patterns to maintain high fault efficiency for the CUT (circuit under test) Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Proposed Design of the TPG We will use an n-cell non-maximum length group CA State space divided into multiple cycles The prohibited patterns will be made to fall in the smaller length cycles while one of the bigger cycles will be used to generate the test patterns Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Example – CUT with 7 PI’s We will use a 7-cell group CA shown (T) The CA has cycles of length 1, 7, 15 & 105 Out of the given PPS, the length 7 cycle contains 3 patterns and the length 15 cycles contains 5 more Only 2 of the prohibited patterns fall in the length 105 cycle, and are only separated by 10 time steps PPS = 0000110 0000010 0001001 0000111 0001111 0110100 1101101 1011001 0100100 0010001 T = 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 7x7 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Terminology Target Cycle (TC) – The cycle of largest length generated by the CA Redundant Cycle (RC) – The cycles other than the TC. They are redundant in the sense that they are not used for TPG Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Example (cont’d) In our example, the cycles of length 1,7, and 15 are Redundant cycles and the cycle of length 105 is the Target cycle Since the 2 prohibited patterns in the TC are separated by 10 time steps, we start at the 11th time step and clock for 94 clock cycles for TPG Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Design Constraints for an n-PI CUT C1: The TPG is synthesized out on an n-cell non-maximal length group CA having a number of cycles. One cycle (the TC) can be used for generation of pseudo-random test patterns C2: Most of the patterns of the PPS lie in the redundant cycles C3: The remaining members of the PPS, if any, should get clustered in the TC within a distance of Dmax so that most of the patterns of TC can be used for testing the CUT in a single run Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Satisfying Constraint C1 An n-cell CA based TPG for a given CUT with n-PI, should have a TC with length greater than or equal to: 3(2n-1)/4 for n < 16 (2n-1)/2 for n ≥ 16 Synthesis Algorithm Input: n, length of TC Output: T matrix of CA, resulting cycle structure Generates a set SCA of CA satisfying the input constraints for C1 Now we must find the subset of SCA that satisfy the constraints C2 and C3 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Synthesis Algorithm Input: n, length of TC Step 1: Generate the numbers a & b such that: a & b are mutually prime a + b = n (2a – 1)(2b – 1) is close to length of TC Step 2: Generate T matrices Ta & Tb corresponding to maximal length CA of size a and b respectively Step 3: Place Ta & Tb in block diagonal form to derive Tnxn corresponding to the desired CA Output: T matrix of the non-maximal length group CA, the resulting cycle structure Note: These CA will all have an all 0 cycle, 2 RCs, and a TC Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

The Heuristic Solution The problem we have defined is too hard to solve outright However, we can easily verify whether each solution satisfies the necessary conditions The length of the PPS for all practical purposes is very small (assumed to be at most 25) Additionally, the subset of SCA with a valid 3-neighborhood CA is small Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Acceptability Criteria An approximate solution (member of SCA with a valid 3-neighborhood) is acceptable only if: At least 75% of the PPS fall in the RCs The TC generating the test pattern sequence is long enough (C1) The value of Dmax (maximum distance lost in the TC to avoid generation of any prohibited pattern) is at most 10% of the cycle length Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Verification Algorithm Input: A candidate CA from SCA produced by the synthesis algorithm Step 1: Find the vector basis of the RCs Every vector in a cycle can be uniquely written as a linear combination of the basis vectors of the cycle Step 2: Estimate the number of prohibited patterns that fall in the RCs For each vector in the PPS, determine if it can be generated by a linear combination of the basis vectors of either RC Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Verification Algorithm Step 3: Compute Dmax for all patterns in the PPS that fall in the TC Let PPSTC represent the subset of PPS that is contained in the TC For each pattern in PPSTC, load the CA with the pattern and then run for Di time steps to cover all of the patterns in PPSTC Compute Dmax as: Dmax = min(Di) If the results meet the acceptability criteria, then the CA is accepted. Otherwise, we reject the candidate CA and try the next CA from SCA Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Complete Algorithm Input: Prohibited Pattern Set for the n-PI CUT Randomly generate a non-maximal length group CA (a member of SCA) that satisfies constraint C1 Identify the TC and RCs Verify that the TC and RCs meet the acceptability criteria (C2 & C3) If it does, select the CA as the TPG, otherwise iterate for the next CA Find the seed value for the TC and the length of the test pattern that avoids the prohibited patterns in the TC Evaluate the fault coverage of the CUT with this test pattern Output: CA based TPG, seed value, and test results (fault coverage, # of test patterns, etc) for the CUT Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Experimental Results Real life data about PPS for a CUT is proprietary in nature and not usually available Used randomly generated PPS of 25 patterns The success rate is expected to improve substantially with real life PPS data which are expected to have correlation rather than being random Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Success Rate of TPG Design # Cells |PPS| TC length RC lengths (%) PPS in RCs Dmax Avg # Iter 9 465 15, 31 75 48 25 14 15 14329 7, 2047 80 1223 20 8191 1, 8191 95 106 23 16 57337 7, 8191 65 21259 50 32767 1, 32767 97 259 17 65535 1, 65535 94 1000 18 131072 1, 131072 98 336 13 24 223 - 1 1, (223-1) 84 18121 26 225 - 1 1, (225-1) 78 42342 32 * (215-1), (217-1) 89 33571 33 (216-1), (217-1) 17498 21 35 (217-1), (218-1) 7853 12 36 (217-1), (219-1) 14322 41 (220-1), (221-1) 82 31132 43 (221-1), (222-1) 93 20211 * Indicates that the cycle length ≈ 2n – 2n/2 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Comparison of Test Results Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Design of CA TPG for pairs of test vectors Proposed work by Michael Bushnell & Jeffrey Dwoskin

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Problem Definition Use a CA to generate test pattern pairs for delay fault/capacitive coupling faults Number of vector pairs should be ~ 500 Try to fit as many pairs in the TPG as possible. The rest will have to be stored in a ROM for a second test epoch Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Proposed Method For each bit position of each vector pair, produce a signature that represents compatible CA Represents whether the XORing of the selected neighbors in the first vector will produce the second vector Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Signature Neighbor Patterns: 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 Vector pair 1: 1 0 1 1 1 0 0 1 1 0 1 0 0 1 1 0 1 0 For 2nd bit position, given neighbors in first vector of 101, we get: Pattern: Result: 0 1 2 3 4 5 6 7 1 1 0 1 1 0 1 0 The necessary 2nd bit position is a 1, so patterns 0, 1, 3, 4, and 6 are a match If we use XNOR instead of XOR, then the results are inverted, so the other patterns, 2, 5, and 7 match with XNOR We come up with the following signature for the 2nd bit position for this pair: XOR XNOR 0 1 2 3 4 5 6 7 1 1 0 1 1 0 1 0 0 1 2 3 4 5 6 7 0 0 1 0 0 1 0 1 = DA2516 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Combining Signatures We repeat this process to find a signature for each bit position of each pair of vectors. We can combine the signatures for 2 pairs by using a bitwise AND on their signatures. The result is the CA cells for each bit position that will function for both vector pairs We can continue to add additional vector pairs as long as each bit position has at least 1 matching pattern among all of the pairs. We can also consider adding an additional 16 bits to each vector to represent patterns using AND, NAND, OR, and NOR instead of XOR/XNOR. This may not still be considered a CA, however it may allow for more pairs to be combined Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators Test Generation After the signatures are combined, we will have some number of necessary CA to produce all of the desired pairs If this number is small (2-3), we can use these CA to generate tests If it is too large, we may have to move some difficult pairs to a ROM Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Jeffrey Dwoskin - Cellular Automata as BIST pattern generators What’s Next Write C program to generate and combine signatures Find method for combining larger sets of pairs efficiently Determine whether these pattern generators will provide enough fault coverage for normal SA-faults or whether we need to add an additional CA or LFSR for these tests Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

Thank you Questions?