Built in Selftest For Embedded Systems
Built in Selftest For Embedded Systems
8 40
Testing of Embedded Built-In-Self-Test (BIST)
System for Embedded Systems
Version 2 EE IIT, Kharagpur 1 Version 2 EE IIT, Kharagpur 2
Instructional Objectives and the test responses are evaluated by a output response compactor. In the most common type
of BIST, test responses are compacted in output response compactor to form (fault) signatures.
After going through this lesson the student would be able to The response signatures are compared with reference golden signatures generated or stored on-
chip, and the error signal indicates whether chip is good or faulty.
x Explain the meaning of the term ‘Built-in Self-Test (BIST)’ Four primary parameters must be considered in developing a BIST methodology for embedded
x Identify the main components of BIST functionality systems; these correspond with the design parameters for on-line testing techniques discussed in
earlier chapter [2].
x Describe the various methods of test pattern generation for designing embedded systems
with BIST Fault coverage: This is the fraction of faults of interest that can be exposed by the test
x Define what is a Signature Analysis Register and describe some methods to designing patterns produced by pattern generator and detected by output response monitor. In
such units presence of input bit stream errors there is a chance that the computed signature matches
the golden signature, and the circuit is reported as fault free. This undesirable property is
x Explain what is a Built-in Logic Block Observer (BILBO) and describe how to use this called masking or aliasing.
block for designing BIST Test set size: This is the number of test patterns produced by the test generator, and is
closely linked to fault coverage: generally, large test sets imply high fault coverage.
Built-In-Self-Test (BIST) for Embedded Systems Hardware overhead: The extra hardware required for BIST is considered to be overhead.
In most embedded systems, high hardware overhead is not acceptable.
1. Introduction Performance overhead: This refers to the impact of BIST hardware on normal circuit
performance such as its worst-case (critical) path delays. Overhead of this type is
sometimes more important than hardware overhead.
BIST is a design-for-testability technique that places the testing functions physically with the
circuit under test (CUT), as illustrated in Figure 40.1 [1]. The basic BIST architecture requires
the addition of three hardware blocks to a digital circuit: a test pattern generator, a response Issues for BIST
analyzer, and a test controller. The test pattern generator generates the test patterns for the CUT.
Examples of pattern generators are a ROM with stored patterns, a counter, and a linear feedback Area Overhead: Additional active area due to test controller, pattern generator, response
shift register (LFSR). A typical response analyzer is a comparator with stored responses or an evaluator and testing of BIST hardware.
LFSR used as a signature analyzer. It compacts and analyzes the test responses to determine Pin Overhead: At least 1 additional pin is needed to activate BIST operation. Input MUX
correctness of the CUT. A test control block is necessary to activate the test and analyze the adds extra pin overheads.
responses. However, in general, several test-related functions can be executed through a test Performance overhead: Extra path delays are added due to BIST.
controller circuit. Yield loss increases due to increased chip area.
Design effort and time increases due to design BIST.
Test The BIST hardware complexity increases when the BIST hardware is made testable.
Test Controller
ROM Benefits of BIST
Reference
Signature It reduces testing and maintenance cost, as it requires simpler and less expensive ATE.
M BIST significantly reduces cost of automatic test pattern generation (ATPG).
Hard ware Output
pattern generator U CUT Comparator It reduces storage and maintenance of test patterns.
Response
X Compactor It can test many units in parallel.
It takes shorter test application times.
PO It can test at functional system speed.
Good/Faulty
Signature BIST can be used for non-concurrent, on-line testing of the logic and memory parts of a system
[2]. It can readily be configured for event-triggered testing, in which case, the BIST control can
Fig. 40.1 A Typical BIST Architecture be tied to the system reset so that testing occurs during system start-up or shutdown. BIST can
As shown in Figure 40.1, the wires from primary inputs (PIs) to MUX and wires from circuit also be designed for periodic testing with low fault latency. This requires incorporating a testing
output to primary outputs (POs) cannot be tested by BIST. In normal operation, the CUT process into the CUT that guarantees the detection of all target faults within a fixed time.
receives its inputs from other modules and performs the function for which it was designed. On-line BIST is usually implemented with the twin goals of complete fault coverage and low
During test mode, a test pattern generator circuit applies a sequence of test patterns to the CUT, fault latency. Hence, the test generation (TG) and response monitor (RM) are generally designed
A typical BIST architecture using LFSR is shown in Figure 40.2 [4]. Since the output patterns of Fig. 40.3 Exhaustive pattern generator
the LFSR are time-shifted and repeated, they become correlated; this reduces the effectiveness of
the fault detection. Therefore a phase shifter (a network of XOR gates) is often used to 2.3 Pseudo-exhaustive patterns
decorrelate the output patterns of the LFSR. The response of the CUT is usually compacted by a
multiple input shift register (MISR) to a small signature, which is compared with a known fault- In pseudo-exhaustive pattern generation, the circuit is partitioned into several smaller sub-
free signature to determine whether the CUT is faulty. circuits based on the output cones of influence, possibly overlapping blocks with fewer than n
inputs. Then all possible test patterns are exhaustively applied to each sub-circuit. The main goal
of pseudo-exhaustive test is to obtain the same fault coverage as the exhaustive testing and, at the
Scan chain 1 (/bits) same time, minimize the testing time. Since close to 100% fault coverage is guaranteed, there is
no need for fault simulation for exhaustive testing and pseudo-exhaustive testing. However,
LFSR Phase Scan chain 2 (/bits) MISR such a method requires extra design effort to partition the circuits into pseudo-exhaustive testable
.
shifter . sub-circuits. Moreover, the delivery of test patterns and test responses is also a major
. .
. consideration. The added hardware may also increase the overhead and decrease the
. performance.
Scan chain n (/bits)
Fig. 40.2 A generic BIST architecture based on an LFSR, an MISR, and a phase shifter
X1
Five-Bit
X2 2
Binary h
2. BIST Test Pattern Generation Techniques Counter X3 6
1 3
0 for Counter 1 2-Bit X4
2.1 Stored patterns 1 for Counter 2
2-1 X5
MUX
1
X6 4
Five-Bit f
An automatic test pattern generation (ATPG) and fault simulation technique is used to generate Binary X7 7
the test patterns. A good test pattern set is stored in a ROM on the chip. When BIST is activated, Counter X8 5
test patterns are applied to the CUT and the responses are compared with the corresponding 2
stored patterns. Although stored-pattern BIST can provide excellent fault coverage, it has limited
applicability due to its high area overhead.
Fig. 40.4 Pseudo-exhaustive pattern generator
D DD D D D D
Q QQ Q Q Q Q
Inversion
Fig. 40.7 Weighted pseudo-random pattern generator
Fca Fca Fca Fca Fca Fca
LFSR 0 D DD D D D D
0 Q QQ Q Q Q Q
123 193 61 114 228 92 25
(b) CA with null cyclic boundary conditions
Fig. 40.9 The structure of cellular automata
D D D D D D D
Q Q Q Q Q Q Q In addition to an LFSR, a straightforward way to compress the test response data and produce a
fault signature is to use an FSM or an accumulator. However, the FSM hardware overhead and
accumulator aliasing are difficult parameters to control. Keeping the hardware overhead
1/8 3/4 1/2 7/8 1/2 0.8 0.6 0.8 0.4 0.5 0.3 0.3 acceptably low and reducing aliasing are the main difficulty in RM design.
(a) (b)
Figure 40.7 shows a weighted pseudo-random pattern generator implemented with Implementing a BIST strategy, the main issues are fault coverage, hardware overhead, test time
programmable probabilities of generating zeros and ones at the PIs. As we know, LFSR overhead, and design effort. These four issues have very complicated relationship. Table 1
generates pattern with equal probability of 1s and 0s. As shown in Figure 40.8 (a), if a 3-input summarizes the characteristics of the test strategies mentioned earlier based on the four issues.
AND gate is used, the probability of 1s becomes 0.125. If a 2-input OR gate is used, the Table 7.1 Comparison of different test strategies
probability becomes 0.75. Second, one can use cellular automata to produce patterns of desired
weights as shown in Figure 40.8(b). Test Generation Fault Hardware Test Time Design
Methodology Coverage Overhead Overhead Effort
2.7 Cellular Automata for Pattern Generation Stored Pattern High High Short Large
Cellular automata are excellent for pattern generation, because they have a better randomness Exhaustive High Low Long Small
distribution than LFSRs. There is no shift induced bit value correlation. A cellular automaton is a Pseudo-exhaustive High High Medium Large
collection of cells with regular connections. Each pattern generator cell has few logic gates, a
flip-flop and is connected only to its local neighbors. If Ci is the state of the current CA cell, Ci+1 Pseudo-random Low Low Long Small
and Ci-1 are the states of its neighboring cells. The next state of cell Ci is determined by (Ci-1, Ci , Weighted Pseudo-random Medium Medium Long Medium
and Ci+1). The cell is replicated to produce cellular automaton. The two commonly used CA
structures are shown in Figure 40.9. 3. BIST Response Compression/Compaction Techniques
During BIST, large amount of data in CUT responses are applied to Response Monitor (RM).
For example, if we consider a circuit of 200 outputs and if we want to generate 5 million random
P(M)=
Number of erroneos input that map into the golden signature 3.2 Transition Count
Number of faulty input responses
It is very similar to ones count technique. In this method the number of transitions in the CUT
2 m-r -1 response, zero to one and/or one to zero is counted. Figure 40.11 shows a test structure of
=
2 m -1 transition counting. It has simple hardware DFF with EXOR to detect a transition and counter to
2 m-r count number of transitions. It has less aliasing probability than ones counting. Test sequences
| m for large m cannot be permuted. Permutation of input sequences will change the number of transitions. On
2 the other hand, one can reorder the test sequence to maximize or minimize the transitions, hence,
1 minimize the aliasing probability.
= r
2
The aliasing probability is the major considerations in response analysis. Due to the n-to-1
mapping property of the compression, it is unlikely to do diagnosis after compression. Therefore,
the diagnosis resoluation is very poor after compression. In addition to the aliasing probability,
hardware overhead and hardware compatibility are also important issues. Here, hardware
compatibility is referred to how well the BIST hardware can be incorporated in the CUT or DFT.
to ones count and transition count. The difference is that the final count is divided by the number where ci 0, means output is not fed back
of patterns being applied. The most distinguished feature of syndrome testing is that the
syndrome is independent of the implementation. It is solely determined by its function of the 1, otherwise
circuit.
random
test CUT
pattern
Counter
Syndrome
Fig. 40.12 Syndrome testing circuit structure
Version 2 EE IIT, Kharagpur 13 Version 2 EE IIT, Kharagpur 14
D n Any divisor polynomial G(x) with two or more non-zero coefficients will detect all
G x ¦¦c a
m 0 i 1
i m i xm single-bit errors.
n D
¦c x ¦a
i 1
i
i
m 0
m i xm 3.6 Multiple-Input Signature Register (MISR)
D The problem with ordinary LFSR response compacter is too much hardware overhead if
n
ª mº
¦c x
i 1
i
i
« a i x .... a1 x ¦ am x »
¬
i 1
m 0 ¼
one of these is put on each primary output (PO).
Multiole-input signature register (MISR) is the solution that compacts all outputs into one
LFSR. It works because LFSR is linear and obeys superposition principle.
¦ c x a
n
1
i
i
i x .... a1 x
i
All responses are superimposed in one LFSR. The final remainder is XOR sum of
G x i 1
n
remainders of polynomial divisions of each PO by the characteristic polynomial.
1 ¦ ci x i Golden
i 1 signature
G(x) has been expressed in terms of the initial state and the feedback coefficients. The m
n
denominator of the polynomial G(x), f x 1 ¦ ci x i is called the characteristic polynomial of
L C M
i 1
F U I Signature
. .
the LFSR. S T S Analyzer
. .
R R
. .
3.5 LFSR for Response Compaction: Signature Analysis
Si(x)
It uses cyclic redundancy check code (CRCC) generator (LFSR) for response compacter Test Response
In this method, data bits from circuit Pos to be compacted as a decreasing order patterns Ri(x)
coefficient polynomial
CRCC divides the PO polynomial by its characteristic polynomial that leaves remainder Fig. 40.15 Multiple input signature register
of division in LFSR. LFSR must be initialized to seed value (usually 0) before testing.
Figure 40.15 illustrates a m-stage MISR. After test cycle i, the test responses are stable on CUT
After testing, signature in LFSR is compared to known good machine signature
outputs, but the shifting clock has not yet been applied.
For an output sequence of length N, there is a total of 2N-1 faulty sequence. Let the input Ri(x)= (m-1)th polynomial representing the test responses after test cycle i.
sequence is represented as P(x) as P(x)=Q(X)G(x)+R(x). G(x) is the characteristic polynomial; Si(x)=polynomial representing the state of the MISR after test cycle i.
Q(x) is the quotient; and R(x) is the remainder or signature. For those aliasing faulty sequence, Ri x ri , m 1 x m 1 ri ,m 2 x m 2 ........ ri ,1 x ri ,0
the remainder R(x) will be the same as the fault-free one. Since, P(x) is of order N and G(x) is of
Si x Si , m 1 x m 1 Si ,m 2 x m 2 ........ Si ,1 x Si ,0
order r, hence Q(x) has an order of N-r. Hence, there are 2N-r possible Q(x) or P(x). One of them
is fault-free. Therefore, the aliasing probability is shown as follows: Si 1 x ª¬ Ri x xSi x º¼ mod G x
2N r 1 r G x is the characteristic polynomial
P(M ) # 2 for large N. Masking probabilities is independent of input sequence.
2N 1 Assume initial state of MISR is 0. So,
Figure 40.14 illustrates a modular LFSR as a response compactor. S0 x 0
Characteristics Polynomial x5 + x3 + x + 1 S1 x ¬ª R0 x xS0 x ¼º mod G x R0 x
S2 x ª¬ R1 x xS1 x º¼ mod G x ª¬ R1 x R0 x º¼ mod G x
01010001 D Q D Q D Q D Q D Q
x3 .
1 x x2 x4
.
CLOCK Sn x ¬ª x R0 x x R1 x ....... xRn 2 x Rn 1 x ¼º mod G x
n 1 n2
X0 X1 X3 X4 This is the signature left in MISR after n patterns are applied. Let us consider a n-bit response
X2
compactor with m-bit error polynomial. Then the error polynomial is of (m+n-2) degree that
Fig. 40.14 Modular LFSR as a response compactor
Version 2 EE IIT, Kharagpur 15 Version 2 EE IIT, Kharagpur 16
gives (2m+n-1-1) non-zero values. G(x) has 2n-1-1 nonzero multiples that result m polynomials of B1 D1 D2 Dn-1 Dn
degree <=m+n-2.
2n1 1 B2
P( M )
Probability of masking 2m n 1 1
1 MUX
| m S1 0 DQ DQ DQ D Q SO
2 Clock 1 C C C C
Input Phase Shifting Network As mentioned earlier in the fault model section, PLAs has the following faults, stuck-at faults,
bridging faults, and crosspoint faults. Test generation for PLAs is more difficult than that for the
conventional logic. This is because that PLAs have more complicated fault models. Further, a
SR SR typical PLA may have as many as 50 inputs, 67 inputs, and 190 product terms [10-11].
SR1 CUT SR2 n-1 CUT n Functional testing of such PLAs can be a difficult task. PLAs often contain unintentional and
unidentifiable redundancy which might cause fault masking. Further more, PLAs are often
embedded in the logic which complicates the test application and response observation.
MISR Therefore, many people proposed the use of BIST to handle the test of PLAs.