1 / 39

Cellular Automata as BIST pattern generators

Cellular Automata as BIST pattern generators. Presented by Jeffrey Dwoskin 4/19/2002 Advisor: Dr. Michael Bushnell. References. P Pal Chaudhuri et al. ‘Additive Cellular Automata Theory and Applications’ , IEEE Computer Society Press, California, USA, 1997

shiri
Download Presentation

Cellular Automata as BIST pattern generators

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  5. Left Neighbor Right Neighbor 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) Xc(t) Xc(t+1) Jeffrey 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 • 010110102 = 9010 100101102 = 15010 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators

  7. 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

  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] = Jeffrey Dwoskin - Cellular Automata as BIST pattern generators

  9. Example CA Matrix 4 Cell CA 1 1 1 0 T = Jeffrey Dwoskin - Cellular Automata as BIST pattern generators

  10. 0(1) 1(1) 0(0) 1(0) = 1 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) ft+1(x) T = Jeffrey 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: T+xI T P(x) = det(T + xI) = 1 +x3 +x4 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators

  12. 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

  13. 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

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

  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. 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

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

  18. 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

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

  20. 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

  21. 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

  22. 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 C2and C3 Jeffrey 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 • (2a – 1)(2b – 1) is close to length of TC • Step 2: Generate T matrices Ta & Tbcorresponding to maximal length CA of size a and b respectively • Step 3: Place Ta & Tbin 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

  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 SCA with a valid 3-neighborhood CA is small Jeffrey Dwoskin - Cellular Automata as BIST pattern generators

  25. 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

  26. 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

  27. Verification Algorithm • Step 3: Compute Dmaxfor 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

  28. 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

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

  30. Success Rate of TPG Design Jeffrey Dwoskin - Cellular Automata as BIST pattern generators

  31. Comparison of Test Results Jeffrey Dwoskin - Cellular Automata as BIST pattern generators

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

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

  35. Signature 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 Neighbor Patterns: 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: XNOR XOR 0 1 2 3 4 5 6 7 0 0 1 0 0 1 0 1 0 1 2 3 4 5 6 7 1 1 0 1 1 0 1 0 = DA2516 Jeffrey 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 Jeffrey 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 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators

  38. 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

  39. Thank you Questions?

More Related