VLSI Testing-Crash Course 04
VLSI Testing-Crash Course 04
• Example: 1
1
0
1
0
0
(seed—initial value)
1 1 1
0 1 1
D Q D Q D Q 1 0 1
0 1 0
D2 D3 0 0 1
D1
1 0 0
VLSI System Testing 98 Jiun-Lang Huang, GIEE/ICDA, NTU
Standard and Modular LFSRs
• Standard LFSR is also called external LFSR.
hn-1 hn-2 h2 h1
D0 D1 Dn-2 Dn-1
D0 D1 Dn-2 Dn-1
h1 h2 hn-2 hn-1
D0 D1 Dn-2 Dn-1
(a) (b)
0001 0001
1000 1100
0100 0 110
1010 0011
0101 1101
00 10 10 10
0001 0101
1000 1110
0100 0111
1010 1111
0101 1011
0010 1001
0001 1000
1000 0100
0100 0010
1010 0001
(c) (d)
VLSI System Testing • FIGURE 5.12 101 Jiun-Lang Huang, GIEE/ICDA, NTU
Galois Field GF(2)
x3 + x2 + x + 1
• Operation x2 + x + 1
x3 + x2 + x + 1
• Modulo-2 addition, subtraction, x4 + x3 + x2 + x
multiplication, and division of binary x5 + x4 + x3 + x2
x5 + 0 + x3 + x2 + 0 + 1
values.
• Properties x2 + x + 1 x5 + 0 +
x3
x3
+ x2 + x + 1
+ x2 + 0 + 1
g (x)
R (x)
VLSI System Testing 105 Jiun-Lang Huang, GIEE/ICDA, NTU
• Example
8 7 5 4 2 4
M (x) = x + x + x + x + x + x Q (x) = x + x + 1
4 3 3 2
g (x) = x + x + 1 R (x) = x + x + 1
M (x) Q (x)
0 1 1 0 1 1 0 1 1 D0 D1 D2 D3 1 1 0 0 1
1 0 1 1
R (x)
R(x)
M(x) Q(x)
D0 D1 D2 D3
0 1 1 0 1 1 0 1 1 0 0 0 0
0 1 1 0 1 1 0 1 1 0 0 0
0 1 1 0 1 1 0 1 1 0 0
0 1 1 0 1 1 0 1 1 0
0 1 1 0 1 1 0 1 1
0 1 1 0 0 1 0 0 1
0 1 1 0 0 1 0 0 1
0 1 1 0 0 1 0 0 1
0 0 1 0 1 1 0 0 1
1 0 1 1 1 1 0 0 1
1 x2 x3 1 x x4
• Example:
A 4-stage weighted LFSR with
0.25 0-probability.
• Example:
Programmable weighted
LFSR.
Control Register
• The nomials is computationally so complex that it makes this signature register SR.
LFSR can also be used
scheme inapplicable to practical cases.
to generate
deterministic patterns.
I
Therefore we propose to use a scheme based on reseeding
and multiple primitive polynomials. In this scheme the
LFSR.
this scheme achieves the same probability of finding the v
m
encoding as the scheme with full polynomial programma-
bility. Encoding a given testcube involves solving sys-
• Multiple
tems ofLFSRs are needed
linear equations to ensure
for the polynomials. Although
we have 1 6 polynomials the process stops when we find
successful seed Incomputation.
the first encoding. practice the average number of poly-
nomials that are analyzed is only slightly greater than one.
The paper introduces the schemes, presents the theoretical n
models of their efficiency as well as the experimental vali- Figure 1. The general structure of the BIST scheme.
dation of the models. The organization of the paper will
be as follows. After this introductory section the proposed The main problem addressed in this paper is how to
scheme will be presented in section 2, which also provides encode lhe test cubes into seeds and polynomials to achieve
the notation used throughout this paper and some basic the best encocing efficiency with the least computational
VLSI System Testing 114 Jiun-Lang
complexity. Before we precisely Huang,the
formulate GIEE/ICDA,
problem,NTU
Logic Built-In Self-Test (LBIST)
• Compaction vs. compression: the former is lossy, and the latter is lossless.
• Aliasing probability should be kept low.
• The probability that the signature of a faulty response is the same as that of the fault-free
response.
/ w
CUT Counter
•
i V
/ w
CUT Counter
•
i V
CLK >
C (L, m) ⋯ 1
— i
L: bitstream length
CLK > P (m) = m: the number of 1s
2L ⋯ 1
— i
FIGURE 5.27
GURE 5.27
es counter as ORA.
counter as ORA.
•
FIGURE 5.29
After shifting the L-bit bitstream, M, into the modular LFSR, the contents
An n-stage single-input signature register (SISR).
• { }
2 n⋯1
r = r0r1r2−rn⋯1 : r (x) = r0 + r1x + r2 x + − + rn⋯1x is the signature.
• g (x) = 1 + x + x
we 4
obtain q\x) M-M
=x^ +x^ and H
r\x) = 1 — •
-i-x-\-x^ ^J
M'{x) = l+x-\-x^ ~\-x^-\-x^, as given in Figure 5.30b. Using polynomial divi
—or• R = {1110}. Because the f
signature jR', {1110}, is different from the fault-free signature R, [1011], fault
•
detected.
M ro For fault/2 with
3 M4' ' = {11001101}
6 7 or M''(^) = 1+^+-^^-f-^^ H-^^ as giv
M = {10011011}, M (x) = 1 + x + x + x + x
^1 rz A3 M' To r^ 1-2 Tg M " ^0 r^ ^2 ^
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0
•
1 1 0 0 0 1 1 2 0 30 0 0 1 0 0 0
Using polynomial
0 division,
1 1 0 we 0have q (x) 0 = x
1 + x
1 0 0 and 1 0 1 0 0
2 1 30
r (x) = 1 + x + x . 1 1 0 M-M
1
H
0 1—•
1 —•
0 ^J 1 1 0 1 0
1 1 0 1 1 0 1 0 1 1 0 1 1 0 1
M ro ^1 rz A3 M' To Tg M " ^0
•
0 0 0 0 1 0 0 0 0 r^ 1-2 1 0 r^
1 ^20 ^3 1 0
M' detected; 0 1 11 00 0 0 0 0 1 1
1 0 0 0 0
1 0 0 1
1 0 0 0 0
0 1 0 1
1 1 0 0 0 1 1 0 0 0 0 1 0 0 0
M'' not detected.
1 0 01 11 1 0 0 0 1 0 1 1 1 1 00 00 1 10 1 01 0 1
0 0
R 1 10 01 1 1 1 0 R' 1 1 0 1 1 11 00 1 H- 1 01 10 0 1 1
1 1 0 1 1 0 1 0 1 1 0 1 1 0 1
0
(a) 0 0 0 1 0 0 (b)0 0 1 0 1 0 1(c) 0
0 1 1 0 0 1 1 1 0 0 1 0 1 0 1
1 0 1 1 0 1 1 1 0 0 1 0 1 1 0
• FIGURE 5.30 R 1 0 1 1 R' 1 1 1 0 H- 1 0 1 1
FIGURE 5.31
• FIGURE 5.32
Mo 1 0 0 1 0
A four-stage MISR.
01010
M2 1 1 000
M3 10011
M
Mo 1100001110 0 1 1
01010
FIGURE 5.33 M2 1 1 000
M3 10011
An equivalent M sequence.
M 10011011
VLSI System Testing 121 Jiun-Lang Huang, GIEE/ICDA, NTU
Logic Built-In Self-Test (LBIST)
LBIST Architecture
•
PRPG
Add a linear phase shifter and a linear phase • ••
CUT
^
• ••
compactor to reduce the PRPG and MISR lengths CUT r
• • •
(C)
• SRAM:
• Highly resistive defect in the pull-down path.
•Open or highly resistive defect along the pull-up path.
• A pause is required to identify that the leakage exceeds the specification.
• Example:
• If a cell is destabilized during a write, reading the cell immediately after the write allows
detection.
• Otherwise, the unstable cell will recover with the correct data value.
memory
under
test