Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cellular Automata as BIST pattern generators

Similar presentations


Presentation on theme: "Cellular Automata as BIST pattern generators"— Presentation transcript:

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

2 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

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/19/2002

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 4/19/2002

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

6 Characterization of CA Cells
We characterize a CA cell by its truth table The binary number created becomes the rule = = 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

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 4/19/2002

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 4/19/2002

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

10 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

11 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

12 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

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 4/19/2002

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 4/19/2002

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

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 4/19/2002

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

19 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

20 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

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 4/19/2002

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

23 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

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 4/19/2002

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 4/19/2002

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 4/19/2002

27 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

28 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

29 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

30 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, 98 336 13 24 1, (223-1) 84 18121 26 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

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

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

33 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

34 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

35 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators
Signature Neighbor Patterns: Vector pair 1: For 2nd 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 2nd bit position for this pair: XOR XNOR = DA2516 Jeffrey Dwoskin - Cellular Automata as BIST pattern generators 4/19/2002

36 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

37 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

38 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

39 Thank you Questions?


Download ppt "Cellular Automata as BIST pattern generators"

Similar presentations


Ads by Google