BIST pattern generators

rucksackbulgeΤεχνίτη Νοημοσύνη και Ρομποτική

1 Δεκ 2013 (πριν από 3 χρόνια και 8 μήνες)

65 εμφανίσεις

Cellular Automata as
BIST pattern generators

Presented by Jeffrey Dwoskin

4/19/2002


Advisor: Dr. Michael Bushnell

4/19/2002

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

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

4/19/2002

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

4/19/2002

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

4/19/2002

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


01011010
2
= 90
10

10010110
2
= 150
10


X
c
-
1
(t) X
c
(t) X
c+1
(t)

2
7

111

2
6

110

2
5

101

2
4

100

2
3

011

2
2

010

2
1

001

2
0

000


Rule #

X
c
-
1
(t) X
c+1
(t)

0

1

0

1

1

0

1

0

90

X
c
-
1
(t) X
c
(t) X
c+1
(t)

1

0

0

1

0

1

1

0

150

4/19/2002

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.


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


4/19/2002

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
i
th cell



depends on the present state of



the
j
th cell


0,

otherwise

T[
i,j
] =

4/19/2002

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

Jeffrey 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

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

f
t
(x)

f
t+1
(x)

0
(1)
1
(1)
0
(0)
1
(0) = 1

4/19/2002

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:

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 +x
3

+x
4

4/19/2002

Jeffrey 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

4/19/2002

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
2
n
-
1 with all non
-
zero states


Additionally, the characteristic polynomial
will be primitive


i.e. the polynomial has no
factors


4/19/2002

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

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

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

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

4/19/2002

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)

0000110

0000010

0001001

0000111

0001111

0110100

1101101

1011001

0100100

0010001

PPS =

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

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

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

4/19/2002

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

time step and
clock for 94 clock cycles for TPG

4/19/2002

Jeffrey 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

4/19/2002

Jeffrey 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

4/19/2002

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


(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


4/19/2002

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

with a valid
3
-
neighborhood CA is small

4/19/2002

Jeffrey 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

4/19/2002

Jeffrey 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

4/19/2002

Jeffrey 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


4/19/2002

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

4/19/2002

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

4/19/2002

Jeffrey 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

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

2
23
-

1

1, (2
23
-
1)

84

18121

14

26

25

2
25

-

1

1, (2
25
-
1)

78

42342

14

32

25

*

(2
15
-
1), (2
17
-
1)

89

33571

16

33

25

*

(2
16
-
1), (2
17
-
1)

95

17498

21

35

25

*

(2
17
-
1), (2
18
-
1)

97

7853

12

36

25

*

(2
17
-
1), (2
19
-
1)

95

14322

18

41

25

*

(2
20
-
1
), (2
21
-
1)

82

31132

14

43

25

*

(2
21
-
1), (2
22
-
1)

93

20211

15

* Indicates that the cycle length
≈ 2
n



2
n/2

4/19/2002

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

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

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

4/19/2002

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

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

bit position for this pair:


0 1 2 3 4 5 6 7

1 1 0 1 1 0 1 0


0 1 2 3 4 5 6 7

0 0 1 0 0 1 0 1


XOR

XNOR

= DA25
16

4/19/2002

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

4/19/2002

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

4/19/2002

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

Thank you
Questions?