400 likes | 602 Views
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
E N D
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 • 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
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
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
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
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
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
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
Example CA Matrix 4 Cell CA 1 1 1 0 T = Jeffrey Dwoskin - Cellular Automata as BIST pattern generators
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Success Rate of TPG Design Jeffrey Dwoskin - Cellular Automata as BIST pattern generators
Comparison of Test Results Jeffrey Dwoskin - Cellular Automata as BIST pattern generators
Design of CA TPG for pairs of test vectors Proposed work by Michael Bushnell & Jeffrey Dwoskin
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
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
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
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
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
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