Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Cellular Automata as BIST pattern generators Presented by Jeffrey Dwoskin 4/19/2002 Advisor: Dr. Michael Bushnell."— Presentation transcript:

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

2 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 2 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

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

4 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4 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

5 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 5 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 Left Neighbor Right Neighbor X c-1 (t) X c+1 (t) X c (t) X c (t+1)

6 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 6 Characterization of CA Cells We characterize a CA cell by its truth table The binary number created becomes the rule = = X c-1 (t) X c (t) X c+1 (t) Rule # X c-1 (t) X c+1 (t) X c-1 (t) X c (t) X c+1 (t)

7 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 7 Characterization of CA We can also characterize a CA cell by which neighbors it connects to. X c-1 (t) X c+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

8 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 8 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] =

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

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

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

12 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 12 Group CA If the CA characterized by T forms a cyclic group, then: T m = 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

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

14 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 14 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

15 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

16 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 16 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)

17 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 17 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

18 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 18 Example – CUT with 7 PIs We will use a 7-cell group CA shown (T) PPS = T = 7x7 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

19 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 19 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

20 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 20 Example (contd) 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 11 th time step and clock for 94 clock cycles for TPG

21 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 21 Design Constraints for an n-PI CUT C 1 :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 C 2 :Most of the patterns of the PPS lie in the redundant cycles C 3 :The remaining members of the PPS, if any, should get clustered in the TC within a distance of D max so that most of the patterns of TC can be used for testing the CUT in a single run

22 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 22 Satisfying Constraint C 1 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(2 n -1)/4 for n < 16 (2 n -1)/2 for n 16 Synthesis Algorithm Input: n, length of TC Output: T matrix of CA, resulting cycle structure Generates a set S CA of CA satisfying the input constraints for C 1 Now we must find the subset of S CA that satisfy the constraints C 2 and C 3

23 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 23 Synthesis Algorithm Input: n, length of TC Step 1: Generate the numbers a & b such that: a & b are mutually prime a + b = n (2 a – 1)(2 b – 1) is close to length of TC Step 2: Generate T matrices T a & T b corresponding to maximal length CA of size a and b respectively Step 3: Place T a & T b in block diagonal form to derive T nxn 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

24 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 24 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 S CA with a valid 3-neighborhood CA is small

25 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 25 Acceptability Criteria An approximate solution (member of S CA 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 (C 1 ) The value of D max (maximum distance lost in the TC to avoid generation of any prohibited pattern) is at most 10% of the cycle length

26 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 26 Verification Algorithm Input: A candidate CA from S CA 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

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

28 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 28 Complete Algorithm Input: Prohibited Pattern Set for the n-PI CUT Randomly generate a non-maximal length group CA (a member of S CA ) that satisfies constraint C 1 Identify the TC and RCs Verify that the TC and RCs meet the acceptability criteria (C 2 & C 3 ) 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

29 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 29 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

30 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 30 Success Rate of TPG Design # Cells |PPS|TC length RC lengths(%) PPS in RCs D max Avg # Iter , , , , , , , , ( ) , ( ) *( ), ( ) *( ), ( ) *( ), ( ) *( ), ( ) *( ), ( ) *( ), ( ) * Indicates that the cycle length 2 n – 2 n/2

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

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

33 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 33 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

34 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 34 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

35 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 35 Signature Neighbor Patterns: Vector pair 1: For 2 nd bit position, given neighbors in first vector of 101, we get: Pattern: Result: 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 2 nd bit position for this pair: XOR XNOR = DA25 16

36 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 36 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

37 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 37 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

38 4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 38 Whats 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

39 Thank you Questions?


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

Similar presentations


Ads by Google