Date post: | 03-Jun-2018 |
Category: |
Documents |
Upload: | snoopyflyingace6695 |
View: | 286 times |
Download: | 0 times |
of 40
8/12/2019 Introduction to CMOS VLSI Design_lect17
1/40
Introduction toCMOS VLSI
Design
Lecture 17:Design for Testability
David Harris
Harvey Mudd College
Spring 2004
8/12/2019 Introduction to CMOS VLSI Design_lect17
2/40
17: Design for Testability Slide 2CMOS VLSI Design
Outlineq Testing
Logic Verification Silicon Debug
Manufacturing Testq Fault Modelsq Observability and Controllabilityq Design for Test
Scan BIST
q Boundary Scan
8/12/2019 Introduction to CMOS VLSI Design_lect17
3/40
17: Design for Testability Slide 3CMOS VLSI Design
Testingq Testing is one of the most expensive parts of chips
Logic verification accounts for > 50% of designeffort for many chips
Debug time after fabrication has enormousopportunity cost
Shipping defective parts can sink a company
qExample: Intel FDIV bug Logic error not caught until > 1M units shipped Recall cost $450M (!!!)
8/12/2019 Introduction to CMOS VLSI Design_lect17
4/40
17: Design for Testability Slide 4CMOS VLSI Design
Logic Verificationq Does the chip simulate correctly?
Usually done at HDL level Verification engineers write test bench for HDL
Cant test all cases Look for corner cases Try to break logic design
q Ex: 32-bit adder
Test all combinations of corner cases as inputs: 0, 1, 2, 2 31-1, -1, -2 31, a few random numbers
q Good tests require ingenuity
8/12/2019 Introduction to CMOS VLSI Design_lect17
5/40
17: Design for Testability Slide 5CMOS VLSI Design
Silicon Debugq Test the first chips back from fabrication
If you are lucky, they work the first time If not
q Logic bugs vs. electrical failures
Most chip failures are logic bugs from inadequatesimulation
Some are electrical failures Crosstalk Dynamic nodes: leakage, charge sharing Ratio failures
A few are tool or methodology failures (e.g. DRC)q Fix the bugs and fabricate a corrected chip
8/12/2019 Introduction to CMOS VLSI Design_lect17
6/40
17: Design for Testability Slide 6CMOS VLSI Design
Shmoo Plotsq How to diagnose failures?
Hard to access chips Picoprobes
Electron beam Laser voltage probing Built-in self-test
q Shmoo plots
Vary voltage, frequency Look for cause of
electrical failures
8/12/2019 Introduction to CMOS VLSI Design_lect17
7/40
17: Design for Testability Slide 7CMOS VLSI Design
Shmoo Plotsq How to diagnose failures?
Hard to access chips Picoprobes
Electron beam Laser voltage probing Built-in self-test
q Shmoo plots
Vary voltage, frequency Look for cause of
electrical failures
8/12/2019 Introduction to CMOS VLSI Design_lect17
8/40
17: Design for Testability Slide 8CMOS VLSI Design
Manufacturing Testq A speck of dust on a wafer is sufficient to kill chipq Yield of any chip is < 100%
Must test chips after manufacturing beforedelivery to customers to only ship good parts
q Manufacturing testers arevery expensive Minimize time on tester
Careful selection oftest vectors
8/12/2019 Introduction to CMOS VLSI Design_lect17
9/40
17: Design for Testability Slide 9CMOS VLSI Design
Testing Your Chipsq If you dont have a multimillion dollar tester:
Build a breadboard with LEDs and switches Hook up a logic analyzer and pattern generator
Or use a low-cost functional chip tester
8/12/2019 Introduction to CMOS VLSI Design_lect17
10/40
17: Design for Testability Slide 10CMOS VLSI Design
TestosterICsq Ex: TestosterICs functional chip tester
Designed by clinic teams and David Diaz at HMC Reads your IRSIM test vectors, applies them to
your chip, and reports assertion failures
8/12/2019 Introduction to CMOS VLSI Design_lect17
11/40
17: Design for Testability Slide 11CMOS VLSI Design
Stuck-At Faultsq How does a chip fail?
Usually failures are shorts between twoconductors or opens in a conductor
This can cause very complicated behavior q A simpler model: Stuck-At
Assume all failures cause nodes to be stuck-at0 or 1, i.e. shorted to GND or V DD
Not quite true, but works well in practice
8/12/2019 Introduction to CMOS VLSI Design_lect17
12/40
17: Design for Testability Slide 12CMOS VLSI Design
Examples
8/12/2019 Introduction to CMOS VLSI Design_lect17
13/40
17: Design for Testability Slide 13CMOS VLSI Design
Observability & Controllability
q Observability : ease of observing a node by watchingexternal output pins of the chip
q Controllability : ease of forcing a node to 0 or 1 bydriving input pins of the chip
q Combinational logic is usually easy to observe andcontrol
q Finite state machines can be very difficult, requiringmany cycles to enter desired state Especially if state transition diagram is not known
to the test engineer
8/12/2019 Introduction to CMOS VLSI Design_lect17
14/40
17: Design for Testability Slide 14CMOS VLSI Design
Test Pattern Generationq Manufacturing test ideally would check every node
in the circuit to prove it is not stuck.q Apply the smallest sequence of test vectors
necessary to prove each node is not stuck.
q Good observability and controllability reducesnumber of test vectors required for manufacturingtest. Reduces the cost of testing Motivates design-for-test
8/12/2019 Introduction to CMOS VLSI Design_lect17
15/40
17: Design for Testability Slide 15CMOS VLSI Design
Test ExampleSA1 SA0
q A3q A2q A1q A0q n1q n2q n3q Y
q Minimum set:
A3 A2
A1 A0
Y
n1
n2 n3
8/12/2019 Introduction to CMOS VLSI Design_lect17
16/40
17: Design for Testability Slide 16CMOS VLSI Design
Test ExampleSA1 SA0
q A3 {0110} {1110}q A2q A1q A0q n1q n2q n3q Y
q Minimum set:
A3 A2
A1 A0
Y
n1
n2 n3
8/12/2019 Introduction to CMOS VLSI Design_lect17
17/40
17: Design for Testability Slide 17CMOS VLSI Design
Test ExampleSA1 SA0
q A3 {0110} {1110}q A2 {1010} {1110}q A1q A0q n1q n2q n3q Y
q Minimum set:
A3 A2
A1 A0
Y
n1
n2 n3
8/12/2019 Introduction to CMOS VLSI Design_lect17
18/40
17: Design for Testability Slide 18CMOS VLSI Design
Test ExampleSA1 SA0
q A3 {0110} {1110}q A2 {1010} {1110}q A1 {0100} {0110}q A0q n1q n2q n3q Y
q Minimum set:
A3 A2
A1 A0
Y
n1
n2 n3
8/12/2019 Introduction to CMOS VLSI Design_lect17
19/40
17: Design for Testability Slide 19CMOS VLSI Design
Test ExampleSA1 SA0
q A3 {0110} {1110}q A2 {1010} {1110}q A1 {0100} {0110}q A0 {0110} {0111}q n1q n2q n3q Y
q Minimum set:
A3 A2
A1 A0
Y
n1
n2 n3
8/12/2019 Introduction to CMOS VLSI Design_lect17
20/40
17: Design for Testability Slide 20CMOS VLSI Design
Test ExampleSA1 SA0
q A3 {0110} {1110}q A2 {1010} {1110}q A1 {0100} {0110}q A0 {0110} {0111}q n1 {1110} {0110}q n2q n3q Y
q Minimum set:
A3 A2
A1 A0
Y
n1
n2 n3
8/12/2019 Introduction to CMOS VLSI Design_lect17
21/40
17: Design for Testability Slide 21CMOS VLSI Design
Test ExampleSA1 SA0
q A3 {0110} {1110}q A2 {1010} {1110}q A1 {0100} {0110}q A0 {0110} {0111}q n1 {1110} {0110}q n2 {0110} {0100}q n3q Y
q Minimum set:
A3 A2
A1 A0
Y
n1
n2 n3
8/12/2019 Introduction to CMOS VLSI Design_lect17
22/40
17: Design for Testability Slide 22CMOS VLSI Design
Test ExampleSA1 SA0
q A3 {0110} {1110}q A2 {1010} {1110}q A1 {0100} {0110}q A0 {0110} {0111}q n1 {1110} {0110}q n2 {0110} {0100}q n3 {0101} {0110}q Y
q Minimum set:
A3 A2
A1 A0
Y
n1
n2 n3
8/12/2019 Introduction to CMOS VLSI Design_lect17
23/40
17: Design for Testability Slide 23CMOS VLSI Design
Test ExampleSA1 SA0
q A3 {0110} {1110}q A2 {1010} {1110}q A1 {0100} {0110}q A0 {0110} {0111}q n1 {1110} {0110}q n2 {0110} {0100}q n3 {0101} {0110}q Y {0110} {1110}
q Minimum set: {0100, 0101, 0110, 0111, 1010, 1110}
A3 A2
A1 A0
Y
n1
n2 n3
8/12/2019 Introduction to CMOS VLSI Design_lect17
24/40
17: Design for Testability Slide 24CMOS VLSI Design
Design for Testq Design the chip to increase observability and
controllability
q If each register could be observed and controlled,test problem reduces to testing combinational logicbetween registers.
q Better yet, logic blocks could enter test mode wherethey generate test patterns and report the resultsautomatically.
8/12/2019 Introduction to CMOS VLSI Design_lect17
25/40
17: Design for Testability Slide 25CMOS VLSI Design
Scanq Convert each flip-flop to a scan register
Only costs one extra multiplexer q Normal mode: flip-flops behave as usualq Scan mode: flip-flops behave as shift register
q Contents of flopscan be scanned
out and newvalues scannedin
F l o p
QD
CLK
SI
SCAN
scan out
scan-in
inputs outputs
F l o p
F l o p
F l o p
F l o p
F l o p
F l o p
F l o p
F l o p
F l o p
F l o p
F l o p
F l o p
LogicCloud
LogicCloud
8/12/2019 Introduction to CMOS VLSI Design_lect17
26/40
17: Design for Testability Slide 26CMOS VLSI Design
Scannable Flip-flops
0
1 F l o p
CLK
D
SI
SCAN
Q
D
X
Q
Q
(a)
(b)
SCAN
SI
D
X
Q
Q
SI
s
s
(c)
d
d
d
s
SCAN
8/12/2019 Introduction to CMOS VLSI Design_lect17
27/40
17: Design for Testability Slide 27CMOS VLSI Design
Built-in Self-testq Built-in self-test lets blocks test themselves
Generate pseudo-random inputs to comb. logic Combine outputs into a syndrome With high probability, block is fault-free if it
produces the expected syndrome
8/12/2019 Introduction to CMOS VLSI Design_lect17
28/40
17: Design for Testability Slide 28CMOS VLSI Design
PRSGq Linear Feedback Shift Register
Shift register with input taken from XOR of state Pseudo-Random Sequence Generator
F l o p
F l o p
F l o pQ[0] Q[1] Q[2]
CLK
D D D
7
6
54
3
2
1
1110
QStep
8/12/2019 Introduction to CMOS VLSI Design_lect17
29/40
17: Design for Testability Slide 29CMOS VLSI Design
PRSGq Linear Feedback Shift Register
Shift register with input taken from XOR of state Pseudo-Random Sequence Generator
F l o p
F l o p
F l o pQ[0] Q[1] Q[2]
CLK
D D D
7
6
54
3
2
1101
1110
QStep
8/12/2019 Introduction to CMOS VLSI Design_lect17
30/40
17: Design for Testability Slide 30CMOS VLSI Design
PRSGq Linear Feedback Shift Register
Shift register with input taken from XOR of state Pseudo-Random Sequence Generator
F l o p
F l o p
F l o pQ[0] Q[1] Q[2]
CLK
D D D
7
6
54
3
1012
1101
1110
QStep
8/12/2019 Introduction to CMOS VLSI Design_lect17
31/40
17: Design for Testability Slide 31CMOS VLSI Design
PRSGq Linear Feedback Shift Register
Shift register with input taken from XOR of state Pseudo-Random Sequence Generator
F l o p
F l o p
F l o pQ[0] Q[1] Q[2]
CLK
D D D
7
6
54
0103
1012
1101
1110
QStep
8/12/2019 Introduction to CMOS VLSI Design_lect17
32/40
17: Design for Testability Slide 32CMOS VLSI Design
PRSGq Linear Feedback Shift Register
Shift register with input taken from XOR of state Pseudo-Random Sequence Generator
F l o p
F l o p
F l o pQ[0] Q[1] Q[2]
CLK
D D D
7
6
51004
0103
1012
1101
1110
QStep
8/12/2019 Introduction to CMOS VLSI Design_lect17
33/40
17: Design for Testability Slide 33CMOS VLSI Design
PRSGq Linear Feedback Shift Register
Shift register with input taken from XOR of state Pseudo-Random Sequence Generator
F l o p
F l o p
F l o pQ[0] Q[1] Q[2]
CLK
D D D
7
6
00151004
0103
1012
1101
1110
QStep
8/12/2019 Introduction to CMOS VLSI Design_lect17
34/40
17: Design for Testability Slide 34CMOS VLSI Design
PRSGq Linear Feedback Shift Register
Shift register with input taken from XOR of state Pseudo-Random Sequence Generator
F l o p
F l o p
F l o pQ[0] Q[1] Q[2]
CLK
D D D
7
0116
00151004
0103
1012
1101
1110
QStep
8/12/2019 Introduction to CMOS VLSI Design_lect17
35/40
17: Design for Testability Slide 35CMOS VLSI Design
PRSGq Linear Feedback Shift Register
Shift register with input taken from XOR of state Pseudo-Random Sequence Generator
F l o p
F l o p
F l o pQ[0] Q[1] Q[2]
CLK
D D D
111 (repeats)7
0116
00151004
0103
1012
1101
1110
QStep
8/12/2019 Introduction to CMOS VLSI Design_lect17
36/40
17: Design for Testability Slide 36CMOS VLSI Design
BILBOq Built-in Logic Block Observer
Combine scan with PRSG & signature analysis
MODE C[1] C[0]Scan 0 0Test 0 1Reset 1 0Normal 1 1
F l o p
F l o p
F l o p
1
0
D[0] D[1] D[2]
Q[0]Q[1]
Q[2] / SOSI
C[1]C[0]
PRSGLogicCloud
Signature Analyzer
8/12/2019 Introduction to CMOS VLSI Design_lect17
37/40
17: Design for Testability Slide 37CMOS VLSI Design
Boundary Scanq Testing boards is also difficult
Need to verify solder joints are good Drive a pin to 0, then to 1 Check that all connected pins get the values
q Through-hold boards used bed of nailsq SMT and BGA boards cannot easily contact pinsq Build capability of observing and controlling pins into
each chip to make board test easier
8/12/2019 Introduction to CMOS VLSI Design_lect17
38/40
8/12/2019 Introduction to CMOS VLSI Design_lect17
39/40
17: Design for Testability Slide 39CMOS VLSI Design
Boundary Scan Interfaceq Boundary scan is accessed through five pins
TCK: test clock TMS: test mode select TDI: test data in TDO: test data out TRST*: test reset (optional)
q Chips with internal scan chains can access thechains through boundary scan for unified teststrategy.
8/12/2019 Introduction to CMOS VLSI Design_lect17
40/40
Summaryq Think about testing from the beginning
Simulate as you go Plan for test after fabrication
q If you dont test it, it wont work! (Guaranteed)