Professional Documents
Culture Documents
CMOS Testing-2: - Design and Test - Design For Testability (DFT) - Built-In Self-Test - IDDQ Testing
CMOS Testing-2: - Design and Test - Design For Testability (DFT) - Built-In Self-Test - IDDQ Testing
Built-in self-test
IDDQ testing
ECE 261
James Morizio
Specification
Design
errors
Design
Random
defects
Fabrication
Synthesis, full-custom
simulation, verification,
test generation
Testing
Pass
Fail
Accept
ECE 261
Reject
James Morizio
Specification
Design
errors
Design for
testability
Design
improvements
Random
defects
Fabrication
Process
improvements
Testing
Diagnosis
Pass
Fail
Accept
ECE 261
Reject
James Morizio
Primary
inputs
(controllable)
State inputs
(not controllable)
ECE 261
Combinational
logic
Registers
James Morizio
Primary
outputs
(observable)
State outputs
(not observable)
James Morizio
Scan Design
Make all flip-flops directly controllable and observable by adding
multiplexers
Popular design-for-test (DFT) technique-circuit is now
combinational for testing purposes
Primary
inputs
Combinational
logic
Primary
outputs
Scan out
State inputs
(controllable)
Scan cells
State outputs
(observable)
Scan in
ECE 261
James Morizio
SCAN
CLK
Flop
Scan Design
SI
D
Flop
Flop
Flop
Flop
Flop
Logic
Cloud
Logic
Cloud
Flop
Flop
Flop
Flop
outputs
Flop
inputs
Flop
Contents of flops
can be scanned
out and new
values scanned
in
Flop
scan-in
scanout
ECE 261
James Morizio
1
Scan in
(Test data)
D0
D2
D3
Scan
out
Scan
in
N/T
Clock
ECE 261
Q0
Q1
James Morizio
Q2
Q3
8
Scannable Flip-flops
SCAN
(a)
SI
CLK
Flop
SCAN
Q
SI
(b)
SCAN
s
(c)
ECE 261
SI
s
James Morizio
Scan Design
0110
1101
Test data
Controllable
primary
input
Scan chain/
Scan path
N/T
Combinationalcircuit
circuit
Combinational
Test responses
N/T
ECE 261
James Morizio
10
James Morizio
11
Normal data
Scan chain
Test data
Test vectors need to be translated to scan format
ECE 261
James Morizio
12
Built-in Self-test
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
ECE 261
James Morizio
13
Test
Test
generator
generator
(TGC)
(TGC)
0
1
Circuit
under test
Outputs
(CUT)
Response
Response
monitor
monitor
(RM)
(RM)
Error
Control
James Morizio
14
BIST: Advantages
Lower cost due to elimination of external tester
James Morizio
15
BIST: Issues
Test strategy (random, exhaustive, deterministic)
Circuit partitioning
Test pattern generation
Exhaustive: counters
Random: Linear-feedback shift registers (LFSRs)
Deterministic: ROM, other methods?
Response analysis
Test control and scheduling
ECE 261
James Morizio
16
Test patterns
Test responses
Signature
ECE 261
James Morizio
17
ECE 261
Q[1]
Flop
Q[0]
Flop
Flop
CLK
Q[2]
Step
0
1
2
3
4
5
6
7
James Morizio
Q
111
18
ECE 261
Q[1]
Flop
Q[0]
Flop
Flop
CLK
Q[2]
Step
0
1
2
3
4
5
6
7
James Morizio
Q
111
110
19
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
ECE 261
Q[1]
Flop
Q[0]
Flop
Flop
CLK
Q[2]
Step
0
1
2
3
4
5
6
7
James Morizio
Q
111
110
101
20
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
ECE 261
Q[1]
Flop
Q[0]
Flop
Flop
CLK
Q[2]
Step
0
1
2
3
4
5
6
7
James Morizio
Q
111
110
101
010
21
PRSG
ECE 261
Q[1]
Flop
Q[0]
Flop
Flop
CLK
Q[2]
Step
0
1
2
3
4
5
6
7
James Morizio
Q
111
110
101
010
100
22
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
ECE 261
Q[1]
Flop
Q[0]
Flop
Flop
CLK
Q[2]
Step
0
1
2
3
4
5
6
7
James Morizio
Q
111
110
101
010
100
001
23
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
ECE 261
Q[1]
Flop
Q[0]
Flop
Flop
CLK
Q[2]
Step
0
1
2
3
4
5
6
7
James Morizio
Q
111
110
101
010
100
001
011
24
PRSG
Linear Feedback Shift Register
Shift register with input taken from XOR of state
Pseudo-Random Sequence Generator
ECE 261
Q[1]
Flop
Q[0]
Flop
Flop
CLK
Q[2]
Step
0
1
2
3
4
5
6
7
James Morizio
Q
111
110
101
010
100
001
011
111 (repeats)
25
BILBO
Built-in Logic Block Observer
Combine scan with PRSG & signature analysis
D[0]
D[1]
D[2]
Q[0]
PRSG
ECE 261
Logic
Cloud
Flop
Flop
SI
Flop
C[0]
C[1]
Q[2] / SO
Q[1]
Signature
Analyzer
James Morizio
MODE
Scan
Test
Reset
Normal
C[1]
0
0
1
1
C[0]
0
1
0
1
26
Boundary Scan
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
James Morizio
27
CHIP B
CHIP C
CHIP A
CHIP D
ECE 261
James Morizio
28
TCK:
TMS:
TDI:
TDO:
TRST*:
test clock
test mode select
test data in
test data out
test reset (optional)
ECE 261
James Morizio
29
BIST in Industry
Early days: AT&T (Lucent) incorporated BIST in
hundreds of commercial chips
Intel: 80386, Pentium, Pentium Pro
Hardware overhead typically 15% of self-tested
portion (around 5% for entire chip, e.g. 6% for the
Pentium Pro)
Regular embedded arrays (RAMs, PLAs) almost
always tested using BIST: DEC Alpha, PowerPC
BIST for irregular logic not so widespread
ECE 261
James Morizio
30
IDDQ Testing
Based on current measurements, not voltage
IDDQ = IDD quiescent
ECE 261
James Morizio
31