Académique Documents
Professionnel Documents
Culture Documents
ISSN : 0975-5462
5041
4. Weighted Pseudorandom Testing: Weighted pseudorandom testing applied pseudorandom patterns with
certain 0s and 1s distribution to handle the random pattern resistant faults undetectable by the pseudorandom
testing. It can effectively shorten the test length.
5. Pseudo exhaustive Testing: Pseudo exhaustive testing partitions the CUT into several smaller sub circuits
and tests each of them exhaustively. All detectable faults within the sub circuits can be detected. However, such
a method requires extra design effort to partition the circuits and deliver the test patterns and test responses.
BIST is a set of structured-test techniques for combinational and sequential logic, memories,
multipliers, and other embedded logic blocks. BIST is the commonly used design technique that allows a circuit
to test itself.
Principle of BIST: Generate test vectors, apply them to the circuit under test (CUT) or device under test
(DUT), and then verify the response [1].
BISTController
LFSR
Circuit
Under
Test
MISR
Faultfree
result
Signature
Analysis
Result
Fig.1 shows a simple BIST block diagram which uses a linear feedback shift register (LFSR) to generate the test
vectors and multiple input signature register (MISR) to verify the output against the correct response of the
circuit under test.
Linear Feedback Shift Register
LFSR is an n-bit shift register which pseudo-randomly scrolls between 2n-1 values, but does it very quickly
because there is minimal combinational logic involved [2]. The all zeros case is not possible in this type of
LFSR, but the probability of any bit being "1" or "0" is 50% except for that. Therefore, the sequence is
pseudorandom in the sense that the probability of a "1" or "0" is approximately 50%, but the sequence is
repeatable. Like a binary counter, all 2n - 1 states are generated, but in a random order that is repeatable. The
exclusive-OR gates and shift register act to produce a pseudorandom binary sequence ( PRBS ) at each of the
flip-flop outputs. By correctly choosing the points at which we take the feedback from an n -bit shift register we
can produce a PRBS of length 2n 1, a maximal-length sequence that includes all possible patterns (or vectors)
of n bits, excluding the all-zeros pattern.
In an LFSR, the bits contained in selected positions in the shift register are combined in some sort of
function and the result is fed back into the register's input bit. Fig.2 shows a 3bit LFSR.
ISSN : 0975-5462
5042
Feedback around an LFSR's shift register comes from a selection of points (taps) in the register chain
and constitutes XOR ing these taps to provide tap(s) back into the register.
Clock
tick
Q0 t+1
= Q1
t
Q2 t
Q1 t+1 Q2 t+1
= Q0 = Q1
t
Q0Q1Q2
Register bits that do not need an input tap, operate as a standard shift register. It is this feedback that
causes the register to loop through repetitive sequences of pseudo-random value[2]. The choice of taps
determines how many values there are in a given sequence before the sequence repeats. The implemented LFSR
uses a one-to-many structure, rather than a many-to-one structure, since this structure always has the shortest
clock-to-clock delay path.
The feedback is done so as to make the system more stable and free from errors. Specific taps are taken
from the tapping points and then by using the XOR operation on them they are feedback into the registers.
Signature Analysis
Signature Analysis is a compression technique based on the concept of cyclic redundancy checking [6].
The good and faulty circuits produce different signatures. Test Patterns for BIST can be generated at-speed by
an LFSR with only a clock input. The outputs of the circuit-under-test must be compared to the known good
response. In general, collecting each output response and off-loading it from the circuit under test for
comparison is too inefficient to be practical. The general solution is to compress the entire output stream into a
single signature value
ISSN : 0975-5462
5043
Every LFSR has a characteristic polynomial that describes its behavior. Degree of polynomial is given
by the number of shift registers. Ex: for the fig shown, the characteristic polynomial is given by P(x)=1+x2+x3 .
The characteristic polynomial that causes an LFSR to generate maximum length PRBS are called primitive
polynomial[8]. Consider LFSR with characteristic polynomial given as P(x)=1+x2+x3 .
Consider CUT be Y=AB+BC. The o/p of the CUT (good condition)for the LFSR pattern
{7,3,1,4,2,5,6,7} is given as {1,1,0,0,0,0,1,1} and the corresponding polynomial is given by
G(X) = 1+X+X6+X7.
The o/p of the CUT (bad condition i.e with s-a-1-fault at B i/p line )for the lfsr pattern
{7,3,1,4,2,5,6,7} is given as {1,1,1,1,0,1,1,1} and the corresponding polynomial is given by
G(X) = 1+X+X2+X4+X5+X6+X7.
The remainder of G(X)/P(X) is given by R(X) which is known as signature.
Signature calculation for good circuit
X4+X3+X2
ISSN : 0975-5462
5044
X3+X+1 X7+X6+X+1
X7+X5+X4
X6+X5+X4+X+1
X6+X4+X3
X5+X3+X+1
X5+X3+X2
X2+X1+1
Remainder X2+X1+1 corresponds to signature 111.
IV. Fault detection using MISR - Illustration
Consider the circuit shown in figure. The circuit can be expressed using Boolean equation as,
Out[0] = In[0] + In[1] + In[2]
Out[1] = In[0] . In[1] . In[2]
Out[2] = ( In[0] . In[1] ) + In[2]
We have three input bits and three output bits for the given circuit to be tested. So we design an LFSR
with three output bits to generate the test vectors. Let the LFSR be of maximal length so that we get the test
vector sequence or pseudo random binary sequence as {111, 011, 001, 100, 010, 101, 110} as explained earlier.
This pseudo random binary sequence is applied to the circuit under test and the output is recorded. The output at
the end of 7th clock is taken as the signature.
ISSN : 0975-5462
5045
Output
of
LFSR
MISR
Clock tick
circuit
Signature
output
Outputs
under
test
1
111
111
000
011
101
111
001
001
000
100
101
001
010
001
111
101
101
100
110
101
110
110
From the table we can see that the signature value is 110 for a fault free circuit.
Now consider the circuit in the presence of a fault. Let the circuit has a stuck at zero(s-@-0) fault at the
input of the OR gate for the computing outbit.
For the 4th clock tick the faulty circuit gives incorrect output. But for the 5th clock tick the output is
same in the presence and absence of fault, but the multiple input signature register output remain different ever
after the first occurrence of the fault. Also when the complete pseudo random binary sequence is applied to the
circuit under test, ie at the end of 7 clock ticks, we take the output of signature register as the signature of the
circuit under test.
ISSN : 0975-5462
5046
Output
of
LFSR
MISR
Clock tick
circuit
Signature
output
Outputs
under
test
1
111
111
000
011
101
111
001
001
000
100
001
001
010
001
011
101
001
111
110
001
100
100
We can see that the signature values computed for correct and faulty circuit are different. Hence we can
conclude that verifying the signature of a circuit, on applying the complete pseudo random binary sequence, to
the signature value computed earlier or generated by a fault free circuit is sufficient to determine whether the
circuit is faulty or operating correctly. The MISR propagates the fault from the clock cycle where it appeared
first till the end of the input sequence with the help of the feedback.
The test pattern can be repeated after resetting the multiple input signature register. When the test
pattern is repeated, the responses remain the same as long as the fault is present. When fault is detected in an IC
right after manufacturing, we can easily remove it. But if the fault is to be detected after integrating the IC to a
PCB, the cost of finding the fault as well as correcting it is higher. This cost keeps increasing as the fault
detection stage is later in the production procedure.
V. Simulation results of VHDL implementation
For the 4th clock tick the faulty circuit gives incorrect output. As the input is stuck at zero, we get a
corresponding faulty zero output for bit(2).
For the 5 clock tick the output is same in the presence and absence of fault, but the multiple input
signature register output is different ever after the first occurrence of the fault. Also when the complete pseudo
random binary sequence is applied to the circuit under test, ie at the end of 7 clock ticks, we take the output of
signature register as the signature of the circuit under test.
The MISR output for faulty circuit is different from that for the fault-free circuit and hence on the
completion of input pseudorandom sequence the signature will be different. When the signature obtained from a
circuit is different from the reference signature (generated by the reference fault-free circuit or using
mathematical methods) the circuit is concluded to be faulty and the bit representing fault at the output is set to
1.
ISSN : 0975-5462
5047
Figure shows the response of the circuit under test (reference and faulty), MISR, Signature calculation
and fault detection. When the test pattern is repeated, the responses remain the same.
VI. Conclusion.
In this paper we have illustrated an implementation of BIST logic using VHDL. LFSR is used as a
pseudorandom sequence generator. Signature analysis is used to make verification of the circuit. Signature
mismatch with the reference signature means that the circuit is faulty. However, there is a small probability that
the signature of a bad circuit will be the same as a good circuit. When longer sequences are used , signature
analysis gives high fault coverage.
References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
M.Bushnell and V.D. Agarwal, Essentials of Electronic Testing for Digital, Memory and Mixed-signal VLSI Circuits
Kluwer Academic Publishers, 2000.
Digital system testing &testability. Abromovici
M.S. Abadir and M.A. Breuer, A knowledge based system for designing testable VLSI chips, IEEE Design & Test of
Computers, Vol. 2, no.4, Aug 1985, pp 56-68.
V.D. Agrawal, C.R. Kime and K.K. Saluja, A tutorial on BIST part1: IEEE Design & Test of Computers, March 1993,
pp 73-82.
P.H. Bardell, W.H.McAnney and J. Savir, Built-in test for VLSI: Pseudorandom Techniques, John Wiley & Sons,
Newyork, 1987.
L.T. Wang, Cheng- Wen Wu and Xiaoqing Wen, VLSI Test Principles & Architectures Design for testability.
M.J. Smith, Application Specific Integrated Circuits.
Wu- Tung Cheng, Manish Sharma, Thomas Rinderknecht, Liyang Lai and Chrisshill, Signature based diagnosis for logic
BIST,
ITC,
2006.
ISSN : 0975-5462
5048