Cellular Automata as BIST pattern generators Presented by Jeffrey Dwoskin 4/19/2002 Advisor: Dr....
-
Upload
gavin-bird -
Category
Documents
-
view
219 -
download
3
Transcript of Cellular Automata as BIST pattern generators Presented by Jeffrey Dwoskin 4/19/2002 Advisor: Dr....
Cellular Automata as BIST pattern generators
Presented by Jeffrey Dwoskin
4/19/2002
Advisor: Dr. Michael Bushnell
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
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/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
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
Xc-1(t) Xc+1(t)
Xc(t)
Xc(t+1)
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
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) 0 1 0 1 1 0 1 0 90
Xc-1(t) Xc(t) Xc+1(t) 1 0 0 1 0 1 1 0 150
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.
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
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 ofthe jth cell
0, otherwise
T[i,j] =
4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators
9
Example CA Matrix
4 Cell CA
1 1 0 0
1 1 1 0
0 1 0 1
0 0 1 1
T =
1 1 1 0
4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators
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
1 1 0 0
1 1 1 0
0 1 0 1
0 0 1 1
1
1
0
0
0
0
1
0
=
T ft(x) ft+1(x)
0(1) 1(1) 0(0) 1(0) = 1
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 1 0 0
1 1+x 1 0
0 1 x 1
0 0 1 1+x
1 1 0 0
1 1 1 0
0 1 0 1
0 0 1 1
T T+xI
P(x) = det(T + xI) = 1 +x3 +x4
4/19/2002Jeffrey 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
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 2n-1 with all non-zero states
Additionally, the characteristic polynomial will be primitive – i.e. the polynomial has no factors
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
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
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)
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 CAState space divided into multiple
cyclesThe 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
4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators
18
Example – CUT with 7 PI’s
We will use a 7-cell group CA shown (T)
0000110000001000010010000111000111101101001101101101100101001000010001
PPS = 0 1 0 0 0 0 01 1 1 0 0 0 00 1 1 0 0 0 00 0 1 0 1 0 00 0 0 1 1 1 00 0 0 0 1 0 10 0 0 0 0 1 1
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
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
4/19/2002Jeffrey 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
4/19/2002Jeffrey 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
4/19/2002Jeffrey 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 C2 and C3
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 (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
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 SCA with a valid 3-neighborhood CA is small
4/19/2002Jeffrey 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
4/19/2002Jeffrey 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
4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators
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
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 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
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
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
Dmax Avg # Iter
9 9 465 15, 31 75 48 25
14 15 14329 7, 2047 80 1223 20
14 15 8191 1, 8191 95 106 23
16 20 57337 7, 8191 65 21259 50
16 20 32767 1, 32767 97 259 17
17 25 65535 1, 65535 94 1000 25
18 25 131072 1, 131072 98 336 13
24 25 223 - 1 1, (223-1) 84 18121 14
26 25 225 - 1 1, (225-1) 78 42342 14
32 25 * (215-1), (217-1) 89 33571 16
33 25 * (216-1), (217-1) 95 17498 21
35 25 * (217-1), (218-1) 97 7853 12
36 25 * (217-1), (219-1) 95 14322 18
41 25 * (220-1), (221-1) 82 31132 14
43 25 * (221-1), (222-1) 93 20211 15
* Indicates that the cycle length ≈ 2n – 2n/2
4/19/2002Jeffrey Dwoskin - Cellular Automata as BIST pattern generators
31
Comparison of Test Results
Design of CA TPG for pairs of test vectors
Proposed work by Michael Bushnell & Jeffrey Dwoskin
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
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
4/19/2002Jeffrey 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
NeighborPatterns:
Vector pair 1:1 0 1 1 1 0 0 1 10 1 0 0 1 1 0 1 0
For 2nd bit position, given neighbors in first vectorof 101, we get:Pattern:Result:
0 1 2 3 4 5 6 71 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:
0 1 2 3 4 5 6 71 1 0 1 1 0 1 0
0 1 2 3 4 5 6 70 0 1 0 0 1 0 1
XOR XNOR
= DA2516
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
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
4/19/2002Jeffrey 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
Thank you Questions?