Spectral BIST Alok Doshi Anand Mudlapur 1

advertisement
Spectral BIST
Alok Doshi
Anand Mudlapur
1
Overview


Introduction to spectral testing
Previous work
–
–
–
–
–


2
Application of RADEMACHER – WALSH spectrum in
testing and design of digital circuits
Spectral techniques for sequential ATPG
Spectral methods for BIST in SOC
Spectral Analysis for statistical response compaction during
BIST
Modifying spectral TPG using selfish gene algorithm
Proposed improvements
Results
Introduction
Projection of time varying vectors in the
frequency domain.
PI1 : 11001100
PI2 : 11110000
PI3 : 00111100
PI4 : 01010101
3
Basic idea



Meaningful inputs (e.g., test vectors) of a circuit are
not random.
Input signals must have spectral characteristics that
are different from white noise (random vectors).
Sequential circuit tests are not random:



4
Some PIs are correlated.
Some PIs are periodic.
Correlation and periodicity can be represented by spectral
components, e.g., Hadamard coefficients.
Statistics of Test Vectors
100% coverage test
a 00011
b 01100
c 10101
a
b
c
Test vectors are not random:
 Correlation: a = b, frequently.
 Weighting: c has more 1s than a or b.
5
Primary Motivation




6
We want to extract the information embedded in the
input signals and output responses
Hence, we apply signal processing techniques to
extract this information
In order to meet the above objective, we make use
of frequency decomposition techniques. i.e. A signal
can be projected to a set of independent, periodic
waveforms that have different frequencies.
This set of waveforms, forms the basis matrix
Primary Motivation (cont.)




7
The projection operation reveals the quantity that
each basis vector contributes to the original signal
This quantity is called decomposition coefficient
With the aid the decomposed information, one can
easily enhance the important frequencies and
suppress the unimportant ones
This process leads us to a new and better quality
signal, easing the complexity (in our case i.e. of test
generation)
Hadamard Transform


8
The projection matrix choosen is the Hadamard
transform as it is a well-known non-sinusoidal
orthogonal transform used in signal processing.
A Hadamard matrix consists of only 1’s and -1’s,
which makes it a good choice for the signals in VLSI
testing (1 = logic 1, -1 = logic 0). Each basis
(row/column) in the Hadamard matrix is a distinct
sequence that characterizes the switching frequency
between 1s and -1s.
Hadamard Transform (cont.)

Hadamard matrices are square matrices
containing only 1s and –1s. They can be
generated recursively using the formula,
where, H(0) = 1 and n = log2N
9
Hadamard Transform (cont.)
10
Hadamard transforms over FFT



11
The Walsh functions can be interpreted as
binary (sampled) versions of the sin and cos,
which are the basic functions of the Discrete
Fourier Transform.
This interpretation led to the name BInary
FOurier REpresentation (BIFORE).
The inverse Hadamard transform is given by
the transpose of the Hadamard matrix scaled
by the factor 1/N.
Hadamard transforms over FFT (cont.)

The flow graph of the Hadamard transform is
shown below:
x[0]
X[0]
x[1]
X[1]
The above flow graph resembles the radix-2 decimation-in-frequency FFT
12
But it must be observed that Hadamard transform has no twiddle factors
since its basis functions are square waves of either 1 or -1. Hence the
Hadamard transform requires no multiplications and only N log (N) additions
Applying spectral techniques to
generate vectors for a sequential
circuit [ Agrawal et al. `01]
Replace with
compacted vectors
Test vectors
(initially random
vectors)
Compacted
vectors
Append
new vectors
Extract spectral
characteristics
(e.g., Hadamard
coefficients) and
generate vectors
13
Fault simulation-based
vector compaction
Stop
Yes
Stopping
criteria (coverage,
CPU time, vectors)
satisfied?
No
Applying spectral techniques to
generate vectors for a sequential
circuit (cont.)



14
In seq. circuits, faults may need a biased
input value
Static compaction is used to aid test
generation. The resulting vector set has to
retain the fault coverage
Vectors are appended before every iteration
and static compaction is performed to
remove the unwanted vectors that were
appended
Applying spectral techniques to
generate vectors for a sequential
circuit (cont.)





15
Initially the test set consists of random vectors
Static compaction filters all unnecessary vectors
Now the predominant patterns are identified at the
inputs using the spectral information using the
Hadamard transform.
New vectors are generated based on the information
obtained
Using this process, one can traverse the vector
space only using the basis vectors
Applying spectral techniques to
generate vectors for a sequential
circuit (cont.)




16
This is of particular interest, since it drives the circuit
to hard-to-reach states that require specific vectors
at the PIs, making it easier to detect hard-to-detect
faults
Each row/column in a Hadamard matrix is a basis
vector, carrying a distinct frequency component.
Consider H(2) for example;
the four basis vectors are [1 1 1 1], [1 0 1 0], [1 1 0
0], and [1 0 0 1]
Any bit sequence of length 4 can be represented as
a linear combination of these basis vectors
Applying spectral techniques to
generate vectors for a sequential
circuit (cont.)


17
Ex: [1 0 0 0]
-1 x [ 1 1 1 1] + 1 x [ 1 -1 1 -1] + 1 x [1 1 -1 -1]
+ 1 x [1 -1 -1 1]
Ex: [1 1 1 0]
+1 x [ 1 1 1 1] + 1 x [ 1 -1 1 -1] + 1 x [1 1 -1 -1]
- 1 x [1 -1 -1 1]
Applying spectral techniques to
generate vectors for a sequential
circuit (cont.)
18
Let a, be the input bit sequence for primary input i.
for (each primary input i in test set)
coefficient vector ci = H x ai
for (each value in the coefficient matrix [c0, ..., cn])
if (absolute value of coefficient < cutoff)
Set the coefficient to 0.
else
Set the coefficient to 1 or -1, based on its abs value.
for (each primary input i)
extension vector ei = modified ci x H
if (weight > 0)
Extend the vector set with value 1 to PI i.
else if (weight < 0)
Extend the vector set with value -1 to PI i.
else if (weight == 0)
Randomly extend the vector set with either 1 or -1
Applying spectral techniques to
generate vectors for a sequential
circuit (cont.)
Cut-off = 4
[0 1 0 0 0 0 0 0] x H(3) =
[1 -1 1 -1 1 -1 1 -1]
19
Applying spectral techniques to
generate vectors for a sequential circuit
(cont.)
Cut-off = 4
20
Applying spectral techniques to
generate vectors for a sequential
circuit (cont.)
Faults detected per iteration for b12 benchmark circuit
21

22
To be continued on Tuesday 11/16 …..
Spectral Methods for BIST in a SOC
environment [ A. Giani et al. `01]


23
This method of built-in-self-test (BIST) for sequential
cores on a system-on-a-chip (SOC) generates test
patterns using a real-time program that runs on an
embedded processor.
This method resulted in higher fault coverage
compared to the LFSR based random pattern
generation techniques, without incurring the
overhead of additional test hardware.
Spectral Methods for BIST in a SOC
environment (cont.)
24
Random pattern generation with
Selfish Gene algorithm for testing
digital sequential circuits
[ J. Zhang et al. ITC `04]


25
A selfish gene (SG) algorithm differs from the genetic
algorithm (GA) because it evolves genes
(characteristics) that provide higher fitness rather
than evolving individuals with higher fitness.
The objects of evolution are the Hadamard spectral
matrix, non-linear digital signal processing (DSP)
filtering cutoff values, vector holding time, and
relative input phase shifts, which are all modeled as
genes.
Random pattern generation with
Selfish Gene algorithm for testing
digital sequential circuits (cont.)
Holding theorem
26
Random pattern generation with
Selfish Gene algorithm for testing
digital sequential circuits (cont.)
27
Phase Shifting
Random pattern generation with
Selfish Gene algorithm for testing
digital sequential circuits (cont.)
Original Sequence
Phase shift of 1
I1 is the fault propagation sequence
28
Random pattern generation with
Selfish Gene algorithm for testing
digital sequential circuits (cont.)




29
Step 1: On the first iteration, generate random vectors and
compact them, but on subsequent iterations, use the
compacted test sequence of the last iteration.
Step 2: In all algorithms for each vector in the compacted
sequence, randomly generate a vector holding time between 0
and 64 and hold the vector accordingly to extend the sequence.
If the holding time is 0, discard the vector. Holding a vector for
some clock cycles is very important for high fault coverage.
Further expand the test sequence.
Step 3: Evolve the genotype using the expanded sequence to
get better fault coverage.
Step 4: Fault simulate and compact the best sequence. If the
fault coverage is satisfactory or 125 iterations are finished, stop.
Otherwise, iterate.
Basic Algorithm
Random pattern generation with
Selfish Gene algorithm for testing
digital sequential circuits (cont.)


30
Step 2: Hold vectors to form a new sequence Snew. After that, the
following procedure is performed 50 times:
{ Generate a random perturbation ε in the range (-0.05; +0.05) for
each bit i in the original sequence. Flip each bit with pi + ε > 0.5. Do
this twice, to generate two new sequences, S1 and S2, which are faultsimulated. The winning sequence has the highest fault coverage.
Change the bit-flipping probabilities in the gene. If the bit was flipped
(not flipped) in both the winner and the loser, there is no change. If it
flipped in the winner but not in the loser, pi = pi+0.01, otherwise pi = pi
– 0.01}.
Finally, only the bit with highest pi in each 8-bit chunk of each PI bit
stream is flipped, provided that its pi > 0.5 (only one flip/chunk). This
sequence becomes the extended sequence Snew.
Step 3: The final probabilities pi as evolved in Step 2 are discarded
and reset to 0.5 for the next round of holding and perturbation.
Bit – perturbation and selfish gene algorithm
Spectral analysis for Statistical
Response Compaction during BIST
[ O. Khan et al. ITC `04]




31
Five new spectral response compactors SRC1-5 are
presented.
The Hadamard matrix H(1) is used to perform
spectral analysis.
Each of the SRC’s calculate either the autocorrelation of testing responses at primary outputs
(POs) with the two spectral tones, each a row in
H(1), or the cross-correlation between different POs.
The response compactors store the correlation
coefficients, i.e., the spectral content in terms of the
tones in H(1), in two counters, which represent the
BIST signature.
Spectral analysis for Statistical
Response Compaction during BIST
(cont.)
Hadamard matrix H(1) used for spectral analysis
32
Spectral analysis for Statistical
Response Compaction during BIST
(cont.)
PO1
Add: 4 (1+1+0+1+1+0)
Sub: 0 (-1+1+0-1+1+0)
33
Spectral analysis for Statistical
Response Compaction during BIST
(cont.)
01
01
11
SRC1
101011
0
01
01
0
1
0
0
34
0
1 10
1
00
11
1
Spectral analysis for Statistical
Response Compaction during BIST
(cont.)



35
SRC1 has higher area overhead compared
to a MISR.
It was found that SRC1 was completely free
of aliasing.
Holding test vectors for a number of clock
cycles can improve the fault coverage in
sequential circuits, but can potentially cause
aliasing in a MISR.
Spectral analysis for Statistical
Response Compaction during BIST
(cont.)
SRC2
36
Spectral analysis for Statistical
Response Compaction during BIST
(cont.)


37
This technique has a much lower area
overhead than SRC1, since there is only one
counter for the entire circuit, rather than one
counter for each PO.
SRC2 has a slightly higher aliasing rate than
the MISR.
Spectral analysis for Statistical
Response Compaction during BIST
(cont.)


38
To reduce hardware overhead, the subtract counter
and the hardware associated with it was eliminated
from SRC1, and only the first spectral tone was used
in SRC3. It was observed that the aliasing probability
for SRC3 was higher than for SRC1. The hardware
overhead for SRC3 is slightly less than that for
SRC1.
SRC4 is identical to SRC3 except that the second
spectral tone from SRC1 was implemented instead
of the first. The overhead is slightly higher than for
SRC3 because a subtracter requires an extra
inverter.
Spectral analysis for Statistical
Response Compaction during BIST
(cont.)
SRC5
39
Spectral analysis for Statistical
Response Compaction during BIST
(cont.)
Hadamard Transform (HT) block
40
Spectral analysis for Statistical
Response Compaction during BIST
(cont.)
Causes of aliasing in SRC’s : Counter overflow;
n = [log2(Length of test set)]
 Bit flipping;
41
Spectral analysis for Statistical
Response Compaction during BIST
(cont.)


42
They have used Upadhyayula’s method to
design a spectral TPG, the basic idea of
which is to hold vectors at PI’s of circuits for
multiple clocks to increase fault coverage.
This new spectral BIST system has a 91.26%
shorter test sequence than for a conventional
LFSR pattern generator and MISR system,
with at least 8.24% higher fault coverage.
Proposed BIST scheme


Design of TPG
Response Compactor
–
–
MISR
Spectral compaction [Bushnell et al.]
T
P
G
43
CUT
M
I
S
R
Proposed BIST scheme (cont.)
[ 1 1 -1 1] x
44
1 1 1 1
1 -1 1 -1
1 1 -1 -1
1 -1 -1 1
[ 2 -2 2 2]
=
Proposed BIST scheme (cont.)
1 x[0]
0
X[0] 2
1 x[1]
2
X[1] -2
-1 x[2]
2
1 x[3]
45
-1
-1
0
-1
X[2] 2
-1
X[3] 2
Proposed BIST scheme (cont.)
x[0]
x[1]
x[2]
x[3]
CUT
46
Thank You
47
Download