LSI Logic Design Chapter 5 Ver03
LSI Logic Design Chapter 5 Ver03
CHAPTER 5
Design for Testability (DFT)
Page 2
5.1 Manufacturing Defects
Page 3
Manufacturing Defects
Manufacturing defects are physical defects happening during the manufacturing time.
Page 4
Physical Defects
§ Abnormality in MOS Transistor
F Abnormality in Gate Oxide
F Shortage in MOS Transistor
F Abnormality in wire width, space and thickness
F Contamination due to foreign particle
§ Shortage in wiring
F Etching residuum
F Bridge due to foreign particle
F Abnormal wider width and thicker thickness
§ Disconnection in wiring
F Non-conductive via and higher resistance of via
F Abnormal narrower width and thinner thickness
F Half disconnection due to foreign particle and void
Page 5
Gate oxide pinhole
Page 6
Purpose of Test
§ Screening of manufacturing defects
§ i.e. “last defense for LSI quality assurance”
○
Tester Program
○
LSI
LSI
LSI
LSI Pass
LSI
LSI Non- Shipment Non-defect
LSI
OK
?
LSI
LSI defect
×
LSI
Screening OK
LSI
LSI Tester
Prober
Handler
Fail LSI ×
LSI
NG
Defect
LSI
LSI
NG
Defect
(10~100ppm)
* ppm : 1E-6
0100HH
Test Pattern 1001XL - Failure anytime
・・・ - Failure by temperature, Failure analysis
voltage and frequency
- Big standby current
- Low reliability
Page 7
Test cost is increasing year by year
1
Purpose of test is as follows
§ Maximum quality assurance of LSI Manufacturing
Page 8
LSI Design Flow
System spec
DFT
Layout verification
Layout design P&R
Timing verification
Manufacturing
Page 9
Impact of SoC Design Trend
(1) Logic size (2) Memory (3) Frequency
M gates M bits k instances MHz
50 50 1000
Mobile Mobile High-speed
40 40 800 CPU core
30 30 3 600
20 20 2 400
10 10 1 200
0 05 06 07 08 09 10 0 05 06 07 08 09 10 0 05 06 07 08 09 10
Page 11
Fault Coverage
Fault Coverage: the percentage of total faults for which test patterns have
been generated
Fault Coverage is also called Failure Detection Rate and can be estimated
by using Fault Models
Page 12
Modeling Faults Example: Stack-at-Fault Model
X1 X2 X3 000 001 010 011 100 101 110 111
X1 X2 X3 Y 0 1 0 0 0 1 1 1
SA0
a b c a
SA1
SA0
b
SA1
SA0
e c
SA1
SA0
d
SA1
d
SA0
f e
SA1
SA0
f
g h SA1
SA0
g
SA1
SA0
h
i SA1
Y i
SA0 0 0 0 0 0 0 0 0
SA1 1 1 1 1 1 1 1 1
Page 13
Modeling Faults Example: Stack-at-Fault Model
X1 X2 X3 000 001 010 011 100 101 110 111
X1 X2 X3 Y 0 1 0 0 0 1 1 1
0 0 0 SA0 0
a b c a
SA1
0 0 0
SA0 0
b
SA1
SA0 0
e
0
c
SA1
SA0 0
d
SA1
d
SA0 0
0 f e
SA1
1
SA0
f
g 0 0h SA1 1
SA0 0
g
SA1
SA0 0
i
h
SA1
0
Y SA0 0
i
SA1
Page 14
Modeling Faults Example: Stack-at-Fault Model
X1 X2 X3 000 001 010 011 100 101 110 111
X1 X2 X3 Y 0 1 0 0 0 1 1 1
0 0 0
SA0 0
a b c a
SA1
0 0 0
à1 SA0 0
b
SA1
SA0 0
e c
0 SA1 1
SA0 0
d
SA1
d
SA0 0
0 f e
1 SA1
SA0
f
g 0 0h SA1 1
à1 à1 SA0 0
g
SA1 1
SA0 0
i
h
SA1 1
0à 1
Y SA0 0
i
SA1 1
Page 15
Modeling Faults Example: Stack-at-Fault Model
X1 X2 X3 000 001 010 011 100 101 110 111
X1 X2 X3 Y 0 1 0 0 0 1 1 1
0 0 1
SA0 0 0
a b c a
SA1
0 0à 1 1
à0 SA0 0 0
b
SA1 1
SA0 0 0
e c
0 SA1 1 1
à1
SA0 0 0
d
SA1
d
SA0 0 0
0 f e
1 SA1 1
à0
SA0 0
f
g 0 1h SA1 1 1
à0 SA0 0 0
g
SA1 1
SA0 0 0
i
h
SA1 1 1
1à 0
Y SA0 0 0
i
SA1 1 1
Page 16
Modeling Faults Example: Stack-at-Fault Model
X1 X2 X3 000 001 010 011 100 101 110 111
X1 X2 X3 Y 0 1 0 0 0 1 1 1
SA0 0 0 0 0 0 0
a b c a
SA1 1 1 1 1 1 1
SA0 0 0 0 0 0 0 0
b
SA1 1 1 1 1 1 1 1
SA0 0 0 0 0 0 0
e c
SA1 1 1 1 1 1 1
SA0 0 0 0 0 0 0
d
SA1 1 1 1 1 1
d
SA0 0 0 0 0 0
f e
SA1 1 1 1 1 1 1
SA0 0 0 0 0 0 0
f
g h SA1 1 1 1 1 1
SA0 0 0 0 0 0 0 0 0
g
SA1 1 1 1 1 1 1
SA0 0 0 0 0 0 0 0 0
i h
SA1 1 1 1 1 1 1
Y SA0 0 0 0 0 0 0 0 0
i
SA1 1 1 1 1 1 1 1 1
Page 17
Modeling Faults Example: Stack-at-Fault Model
X1 X2 X3 000 001 010 011 100 101 110 111
X1 X2 X3 Y 0 1 0 0 0 1 1 1
SA0 0 0 0 0 0 0
aS b c a
et o SA1 1 1 1 1 1 1
100 f 4 te SA0 0 0 0 0 0 0 0
% s b
cov sin t vec SA1 1 1 1 1 1 1 1
era gle to
ge stu rs ob SA0 0 0 0 0 0 0
for e ck- t c
this at fa ains SA1 1 1 1 1 1 1
circ ult
uit SA0 0 0 0 0 0 0
d
SA1 1 1 1 1 1
d
SA0 0 0 0 0 0
f e
SA1 1 1 1 1 1 1
SA0 0 0 0 0 0 0
f
g h SA1 1 1 1 1 1
SA0 0 0 0 0 0 0 0 0
g
SA1 1 1 1 1 1 1
SA0 0 0 0 0 0 0 0 0
i
h
SA1 1 1 1 1 1 1
Y SA0 0 0 0 0 0 0 0 0
i
SA1 1 1 1 1 1 1 1 1
Page 18
5.2 DFT and Scan Method
Page 19
What is DFT?
DFT is a design technique that adds test circuits inside the LSI hardware. These
added circuits permits to easily apply tests on the designed LSI after manufacturing
DFT consists of
§ Creating test circuits
§ Inserting test circuits into LSI hardware
§ Preparing test data for physical failure analysis
Purpose of DFT
§ Guarantee the LSI product quality
§ Improve manufacture process
§ Optimize test cost
Target of DFT
§ Minimize area overhead § Minimize the test time
§ Increase test/fault coverage § Minimize the test cost
Page 20
Required Quality and Test Level
Test level
§ Test items
§ Test conditions
(temperature, voltage, frequency/timing, etc.)
Page 21
Target Quality of Renesas Products
Page 22
Structural Test
To check if the C1 part of an LSI shown below is manufactured without defect, we have to check wires W1,
W2, W3, W4 and W5, and gates G1 and G2 are manufactured without defect.
Usually logic designers do not know what kind of gates are created on which wire connections. Therefore, it
is almost impossible to set a specific value at the sending end of a wire such as W4 and checking the voltage
at the other end of the wire by applying test data input at the input ports of the LSI.
This means functional test is not suitable for detecting manufacturing defects.
C1 C1
FF1
output ports
FF5 FF1 W4
W1
input ports
FF2
G1 FF5
W5
FF3
W2 G2
FF2
W3
FF3
LSI_1
Page 23
However, knowing the gate net list, we can tell C1
what value must come out at W5 output when we FF1 W4
apply the values listed on the table below to FF1, W1
FF2, and FF3. G1 FF5
W5
W2 G2
By checking whether W5 output is equal to the FF2
value shown in the table, we can detect
manufacturing defects in C1. W3
FF3
Page 24
Scan Method
For the logic block shown on the right, we can calculate what must
come out at W5 output when we apply some input patterns on W1, C1
W2, and W3, based on the net list information. FF1 W4
W1
G1 FF5
Scan is a method to use FF or latch to set input patterns on W1, W5
W2 G2
W2, and W3 and observe (memorize) the output on W5. FF2
W3
LSI_1 create inputs to C1 observe output from C1 FF3
FF1 C1
FF5
output ports
input ports
Page 25
To apply MUXscan we have to replace all FFs in the LSI by “DFT ready FF”, specially designed FF suitable
for MUXscan.
scan-in scan-out
port LSI_1 port
FF1 DFT tools automatically
connects all the replaced
output ports
FF5
input ports
FF2
FFs by a scan chain.
MUXscan
Scan enable
D-FF
FF scan-in 1 Q output
Q output data D Q
data 0
scan-in x x x x x 1 0 1 x x x x
scan-out
port port
FF1 FF2 FF3 FF5
xxx--xx101xxx--x The bit string goes through scan chain one FF to the
next FF every clock rise time.
test pattern
(bit string) This operation is called “scan-in operation”.
x: don’t care C1
FF1 W4 FF5
W1
(2) After setting 1, 0, and 1 on FF1, FF2, and FF3 respectively, operate the W2 G1
W5
LSI for 1 clock cycle to get output W5 into FF5. FF2 G2
W3
This operation is called “capture operation”. FF3
Page 27
(3) After capture operation, the value of FF5 can be got from the scan out
port through scan chain as shown below.
scan-in x x x x x x x x x 0 x x scan-out
port port
FF1 FF2 FF3 FF5
The value of all the FFs can be read through scan xxx---xxxxxx0x--x
chain. They will come out every clock rise time.
x: don’t care
(4) The value of FF5 came through the scan chain is compared to the expected result of C1. If it
matches with the expected results for all the test pattern, then C1 is manufactured without defects.
Page 28
Test Point Insertion (TPI)
Because a DFT tool knows the gate net list, it can create data pattern which can test logic blocks in the LSI.
However, if the logic scale between FFs is very large, then it is difficult to create patterns to check-out all
the defects in that logic block.
many gates in between
It becomes difficult to set these value by
FF1 setting FF1, FF2, FF3, etc.
FF5
FF2
FF6
FF3 It becomes difficult to estimate this value
by observing FF5, FF6, etc.
Inserting the following logics in proper signal line, setting and observing signals become very easy. This test
point insertion improves coverage of test pattern generated by random pattern generator.
1 control 0 control observe
1 0
FF 1 FF 0
FF
Page 29
5.3 DFT Design Flow
Page 30
DFT Design Flow
Logic Design
DFT Design
DRC, Insertion of Scan and BIST logic/circuits
SCAN insertion (DFTAdviser/DFTCompiler, "Shingen", MINORI)
Layout Design
Automatic Test Pattern Generation
ATPG
(TetraMAX, FastScan, "Shingen", MINORI)
Page 31
SCAN Design
Gate Level
Netlist Scan Insertion
Scan Insertion
Construct scan chain
Stitching
Library Compression and decompression circuits
are also inserted in the use of scan
Stitched Scan
Netlist Information
compression
Test
Pattern
Page 32
DRC (Design Rule Check)
§ A tool which can verify design constraints for MUX scan method is satisfied
§ Necessary constraints for MUX scan are covered
§ Easy error analysis by detail error report and debugging functionality
IO Configuration
Rule
Netwalker
Library
Gate Level
Design Rule Checker Result
Netlist
Constraint
Constraint: fix values for clock origins and test modes
Rule: common design rules
Result: check result / error summary
Page 33
Necessity for Highly-Compressed Pattern
§ Need more pattern generated for AC SCAN test (3 to 5 times)
Pattern
Upper limit
of pattern “At-Speed”
stored in
the tester Compressed pattern
“At-Speed”
“Stuck-at”
Compressed pattern
“Stuck-at”
Page 34
Basic Concept of Compression SCAN
0xxxx1xxxxxxxxxx01xx 0xxxx1xxxxxxxxxx01xx
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx
xxxxxx1xxxxxxxxxxxxx xxxxxx1xxxxxxxxxxxxx
Huge data
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx0xxx
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx0xxx
Huge data
SCAN xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx
xxxxxx00xxxxxxxxxxxx xxxxxx00xxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxx1xxxxxxx xxxxxxxxxxxx1xxxxxxx
Compression
xxxx1xxxxxxxxxxxxxxx xxxx1xxxxxxxxxxxxxxx Compression
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxx0xxxxx xxxxxxxxxxxxxx0xxxxx
COMPACTOR
COMPACTOR same same
Expansion Compression Software
Software 0xxxx1xxxxxxxxxx01xx 0xxxx1xxxxxxxxxx01xx 00101x1x0011010x01x1
DECOMPRESSOR
COMPACTOR
xxxxxx1xxxxxxxxxxxxx xxxxxx1xxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx
Expectation value
00101x1x0011010x01x1
xxxxxxxxxxxxxxxx0xxx xxxxxxxxxxxxxxxx0xxx GO/NG
xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx
x0111001x0110010x100 xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx
xxxxxx00xxxxxxxxxxxx xxxxxx00xxxxxxxxxxxx 00101x1x0011010x01x1
Compression xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxx1xxxxxxx
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxx1xxxxxxx
x0111001x0110010x100
Measured value
SCAN xxxx1xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxx0xxxxx
xxxx1xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxx0xxxxx
Page 36
Renesas.com