Design for Test of Digital Systems TDDC33 Erik Larsson Department of Computer Science

advertisement
Design for Test of Digital Systems
TDDC33
Erik Larsson
Department of Computer Science
Friday, January 20, 2012
Course Outline
 Introduction; Manufacturing, Wafer sort, Final test, Board and System
Test, Defects, and Faults
 Test generation; combinational and sequential test generation
 Design-for-Test techniques; test point insertion, scan, enhanced scan
 Built-In Self-Test; Logic BIST and memory BIST
 System Chip Test; test architectures, test planning, test scheduling,
and test data compression, power constraints
 System Test and Boundary Scan
Friday, January 20, 2012
So far....
 Possible to manufacture ICs with billions of transistors
 Due to manufacturing problems, ICs may be defective
 We do not check individual transistors or transistors but groups
of transistors (gates) - Abstraction.
 Fault model: Stuck-at
 As we know the number of possible faults, we
can discuss quality: fault coverage
 Advantages: simple model that detects other
defects than line stuck at Vdd or ground
 Alternatives: measure timing, resistance, ..
but how measure quality?
3
Friday, January 20, 2012
Deterministic Test Generation
Until fault coverage < desired limit {
Select an uncovered fault f
Generate test for the fault f
Evaluate fault coverage
}
 Needed functions to generate a test:
Test generation assumes only
one fault at a time - the single
fault assumption. Of course
we can in test generation
assume more faults, but
problem becomes much harder
(as there are many
combinations)

Excite (provoke) the fault

Sensitize (propagate) the results to primary outputs

Justify other values in the circuit
 ATPG (examples):

D-algorithm

Path-Oriented Decision-Making (PODEM)

Fanout-oriented Test Generation (FAN)

Structure-oriented cost-reducing automatic test pattern generation (SOCRATES)
Friday, January 20, 2012
D-notation
OR
0
1
D
D’
X
 D=1/0
0
0
1
D
D’
X
 D’=0/1
1
1
1
1
1
1
D
D
1
D
1
X
D’
D’
1
1
D’
X
X
X
1
X
X
X
AND
0
1
D
D’
X
0
0
0
0
0
0
1
0
1
D
D’
X
D
0
D
D
0
X
D’
0
D’
0
D’
X
X
0
X
X
X
X
 Five-valued algebra (0,1,X,D,D’)
A
AND
Z
B
 Stuck-at 0 on A ->
 Line A = D
 To propagate D (fault effect) to
Z (check table) set B=1
Friday, January 20, 2012
D-Algorithm
G3
G1
A
B
W
NOR
G2
Operation
2
Initialization
3
Provoke
4
G
NOR
Z
OR
F
X
G4
Y
H
AND
A
B
X
Y
W
U
F
G
H
Z
x
x
x
x
x
x
x
x
x
x
G1
0
0
D
x
x
x
x
x
x
x
D-drive
G2
0
0
D
x
1
x
D
x
x
x
5
D-drive
G3
0
0
D
x
1
0
D
D’
x
x
6
D-drive
G5
0
0
D
x
1
0
D
D’
0
D’
7
Justification
H=0
0
0
D
x
1
0
!
D’
0
D’
8
Justification
H=0
0
0
D
0
1
0
D
D’
0
D’
Friday, January 20, 2012
Gate
G5
AND
Stuck-at 0
1
U
Tests
 Good IC that pass test -> OK
Bad IC that fail test -> OK
 Bad IC that pass test -> test escape
Good IC that fail test -> yield loss
IC
Test
Pass
Fail
Good
OK
Yield
loss
Bad
Test
esc.
OK
7
Friday, January 20, 2012
Commercial ATPG Tools
Design for performance and design
for low-power are common to reach
high performance and/or low power.
Possible to design-for-test such that
design becomes easy to test?
 Test generation is time consuming
 Commercial ATPG tools are often for combinational circuits
 Commercial tools usually make use of a random test generation
for 60-80% of the faults (easy to detect) and deterministic test
generation for the remaining part (hard to detect)
 Hard to detect/test parts are a main obstacle
 Modify the design such that test generation becomes easier
 Main problems in test generation:
 Set values of internal nodes/lines
 Propagate values of internal nodes/lines
 Improve:
 Observability
 Controllability
51
Friday, January 20, 2012
Design for Test
 To address obstacles when generating tests, there are two
options:
 Smarter test generation algorithms
 Modify the design, without changing functionality, to make it easer
to test.

Test point insertion

Test synthesis

Scan technique
9
Friday, January 20, 2012
Ad hoc DFT approaches
 Insert test points
 Avoid asynchronous set/reset for storage elements
 Avoid combinational feedback loops
 Avoid redundant logic
 Avoid asynchronous logic
 Partition a large circuit into small blocks
10
Friday, January 20, 2012
Test Point Insertion
Stuck-at 1
G1
X
X
X
X
Friday, January 20, 2012
A
B
C
E
NOT
F
G3
AND
G5
H
AND
G2
OR
G
G4
NOT
K
L
X
Test Point Insertion
observation point
Stuck-at 1
G1
X
X
X
X
Friday, January 20, 2012
A
B
C
E
NOT
F
G3
AND
H
AND
G2
OR
G
G4
NOT
D’
G5
K
L
X
Test Point Insertion
0-control point
0
G3
G1
X
A
NOT
F
Stuck-at 1
G5
AND
H
AND
X
X
X
B
C
E
G2
OR
G
K
G4
NOT
15
Friday, January 20, 2012
L
X
Test Point Insertion
OP
Observation
Original
0 M
U
1 X
CP
CP
CP1
CP2
0-controllability
1-controllability
1/0-controllability
14
Friday, January 20, 2012
Test Point Insertion
Z
D
E
M
U
X
R
E
G
....
X1 X2
Xn
N=2n
CP1
CP2
.
.
CPN
D
E
M
U
X
Normal n
primary /
inputs
Normal
n functional
/
inputs
n R n Control
/ E / test point
G
SELECT
Normal
n
functional
/
outputs
n
Observation
/
test point
M
U
X
n
/ PO
SELECT
15
Friday, January 20, 2012
Test Point Insertion
 Test Points
 Adds new PI and PO
 Benefits:
 Improves:

Observability

Controllability
 Costs:
 Additional primary input/output
 Where to add test points:
 Testability Analysis
Friday, January 20, 2012
Testability Analysis
 Guide test generation algorithm
 Predict hard to test areas in a circuit
 Sandia Controllability/Observability Analysis Program (SCOAP)
Goldstein L. H. Controllability/observability analysis of digital circuits,
IEEE Transactions on Circuits and Systems, Vol. CAS-26, No. 9,
1980, pages 683-.693
 Controllability: Effort to control a value
 CC0 - combinational 0-controllability (see lecture 2)
 CC1 - combinational 1-controllability (see lecture 2)
 SC0 - sequential 0-controllability (measure sequential depth (nr ff)
 SC1 - sequential 1-controllability (measure sequential depth (nr ff)
 Observability: Effort to observe a value
 CO – combinational observability (see lecture 2)
 SO – sequential observability (measure sequential depth (nr ff)
Friday, January 20, 2012
Test Synthesis
 Test points changes the design without significantly impacting
the functionality
 Synthesis is the transformation of a design from high-level
specification to Register-Transfer-Level( RTL)
 Synthesis involves:
 Allocation
 Binding
 Scheduling
 Synthesis commonly uses performance and powerconsumption objectives,
 However, testability of a design can be improved by synthesis
18
Friday, January 20, 2012
Test Synthesis
 Z=X+X+X
X X
X
X X
MUX
+
REG
+
+
REG
REG
Z
Z
19
Friday, January 20, 2012
Design for Test
 Test point insertion
 Test synthesis
 Scan technique
20
Friday, January 20, 2012
Sequential -> Combinational
 Problem: ATPG works for combinational logic while most
ICs are sequential
 Solution: Provide a test mode in which flip flops can be
accessed directly
 Register provide virtual primary inputs/primary outputs
PI
Combinational
logic
Flip flops
PO
PI
Combinational
logic
Flip flops
PO
1.
2.
3.
4.
5.
Friday, January 20, 2012
Write flip flops
Stimulus at inputs
Normal cycle
launch/capture
Observe output
Read flip flops
Scan Design Concept
SFF
SE
D
FF
Q
CLK
D
SI
MUX
FF
CLK
Q
SO
SE: Scan enable
SI: Scan input
SO: Scan output
 Replace flip flop (FF) with scan flip flop (SFF): extra multiplexer
on data input
 Connect SFFs to form one or more scan chains
 Connect multiplexer control signal to scan enable
Friday, January 20, 2012
Circuit without Scan
Flow of data
FF
Combinational
logic
FF
FF
Clock
Friday, January 20, 2012
FF
Combinational
logic
FF
FF
Combinational
logic
Circuit with Scan
Scan enable
MUX
Combinational
logic
MUX
FF
MUX
FF
Scan Input
Friday, January 20, 2012
MUX
FF
Clock
Combinational
logic
FF
MUX
FF
MUX
FF
Combinational
logic
Scan Output
Circuit with Scan
Shift Operation
Scan enable
MUX
Combinational
logic
MUX
FF
MUX
FF
Scan Input
Friday, January 20, 2012
MUX
FF
Clock
Combinational
logic
FF
MUX
FF
MUX
FF
Combinational
logic
Scan Output
Circuit with Scan
Capture Operation
Scan enable
MUX
Combinational
logic
MUX
FF
MUX
FF
Scan Input
Friday, January 20, 2012
MUX
FF
Clock
Combinational
logic
FF
MUX
FF
MUX
FF
Combinational
logic
Scan Output
Sequential -> Combinational
 Circuit can be in two modes: Functional mode and Test mode
 In Test mode test data can be shifted in and shifted out
 Test mode adds virtual PI and PO such that test data can be
directly applied to combinational logic
 ATPG for combinational logic works also for sequential
PI
Combinational
logic
Flip flops
PO
PI
Combinational
logic
PO
1.
2.
3.
Flip flops
4.
5.
Friday, January 20, 2012
Write flip flops
Stimulus at inputs
Normal cycle
launch/capture
Observe output
Read flip flops
Test Application
Automatic Test Equipment (ATE)‫‏‬
Test stimuli (TS)‫‏‬
0010100
0110000
Device under test
Expected responses (ER)‫‏‬
1011001
1101010
Compare
Produced responses (PR)‫‏‬
0111011
0100101
Pass/fail
28
Friday, January 20, 2012
Test Application
Stimuli
Responses
Combinational
logic
Clock
5 4 3 2 1
5 4 3 2 1
29
Friday, January 20, 2012
Scan Test Application - first attempt
Scan chain 1 (6 FFs)
SO
SI
A[0:4]
Capture
Combinational
logic
Test time=number of patterns *
(shift-in + capture + shift-out)=
3*(6+1+6)=39
Z[0:2]
SE
Capture
Capture
Shift-in
Shift-out Shift-in
Shift-out
Shift-out Shift-in
SE: 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
SI:
A[0:4]
stimulus
Friday, January 20, 2012
response stimulus
response stimulus
response
Scan Test Application - second attempt
Scan chain 1 (6 FFs)
SO
SI
A[0:4]
Combinational
logic
Test time=number of patterns *
(shift-in + capture) + shift-out=
3*(6+1)+6=27
Z[0:2]
SE
Capture
Capture
Capture
Shift-in
Shift-in/out Shift-in/out
Shift-out
SE: 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1
SI:
A[0:4]
stimulus
Friday, January 20, 2012
resp/stim
res/stim
response
Scan Test Application
Scan chain 1 (3 FFs)
SO[0:1]
SI[0:1]
Scan chain 0 (3 FFs)
Z[0:2]
A[0:4]
SE
Friday, January 20, 2012
Scan in test pattern i
For i=1 to N-1 do
Apply/capture test pattern i
scan out test pattern i and scan
in test pattern i+1
End
Apply/capture test pattern N
Scan out test pattern N
Scan Benefits and Costs
Scan Benefits
Scan Costs
 Automatic scan insertion
 Silicon area - Mux, scan
chain, scan enable
 ATPG
 High fault coverage
 Short test development time
EDA tools
 For scan insertion (converting
flip flops to scan flip flops)
 Connection
 Partial scan selection
 Scan stiching
Friday, January 20, 2012
 Performance reduction Multiplexer in time-critical path
 IC pins - Scan-in (SI), scanout (SO), scan_enable (SE)
 Test time - Serial shifting is
slow
Scan approaches
 Muxed D-scan, Clocked-scan, Level-sensitive scan design (LSSD),
Random Access Scan (RAS):
 First report by A. Kobayashi, et al., A flip-flop circuit suitable for FLT,
Annual Meeting of the Institute of Electronics, Information and
Communication Engineers, Manuscript 892, p. 962, 1963 (in
Japanese).
 T. W. Williams and J. B. Angell, Enhancing testability of large scale
integrated circuits via test points and additional logic, IEEE
Transactions on Computers, Vol. C-22, No. 1, pp. 46-60, 1973.
 E. B. Eichelberger and T. W. Williams, A logic design structure for
LSI testability, Proceedings of the 14th Design Automation
Conference, pp. 462-468, 1977.
 H.Ando, "Testing VLSI with Random Access Scan," COMPCON80,
pp.50-52, 1980.
Friday, January 20, 2012
Muxed D-scan - flip-flop
Without scan
With scan
SFF
SE
D
FF
MUX
D
Q
CLK
SI
Q
CLK
SO
SE: Scan enable
SI: Scan input
SO: Scan output
CLK
SE
DI
SI
Q/SO
Friday, January 20, 2012
FF
D1
D2
T1
T2
D1
T2
Muxed D-scan
Without scan
X1
X2
X3
Y1
Y2
Combinational logic
FF1
D
FF2
Q
D
FF3
Q
D
Q
CLK
With scan
X1
X2
X3
FF1
SI
CLK
SE
Friday, January 20, 2012
Y1
Y2
Combinational logic
DI
SI
SE
FF2
Q
DI
SI
SE
FF3
Q
DI
SI
SE
Q
SO
Clocked-scan
D
FF
SI
Q/SO
CLK
SCLK
SCLK: Scan clock
SI: Scan input
SO: Scan output
CLK
SCLK
DI
SI
Q/SO
Friday, January 20, 2012
D1
D2
T1
T2
D1
T2
Clocked scan
Without scan
X1
X2
X3
Y1
Y2
Combinational logic
FF1
D
FF2
Q
D
FF3
Q
D
Q
CLK
With scan
X1
X2
X3
FF1
SI
CLK
SCLK
Friday, January 20, 2012
Y1
Y2
Combinational logic
DI
SI
FF2
Q
DI
SI
FF3
Q
DI
SI
Q
Level-sensitive scan design (LSSD)
 MuxScan and clocked-scan are used for edge-trigged flip-flop
designs.
 LSSD scan cells are used for latch-based designs
 LSSD let separate clock phases drive scan elements
 Advantage of LSSD is that it is race-free. The disadvantage is
that it requires additional clock routing.
Friday, January 20, 2012
Level-sensitive scan design (LSSD)
D
CLK
SI
A
L1
L1
L2
B
CLK
A
B
D
SI
L1
L2
Friday, January 20, 2012
D1
D2
T1
T2
D1
L2
T2
T2
Level-sensitive scan design (LSSD)
X1
X2
X3
SI
D L1
CLK L1
SI
L1
A
D L1
CLK L1
SI
L1
A
L2
B
A
B
CLK
Friday, January 20, 2012
Y1
Y2
Combinational logic
D L1
CLK L1
SI
L1
A
L2
B
L2
B
SO
Random Access Scan
 H.Ando, "Testing VLSI with Random Access Scan,"
COMPCON80,. pp.50-52 (1980)
Friday, January 20, 2012
Scan Design Rules
Design style
Scan Design Rule
Recommended Solution
Tristate buses
Avoid during shift
Fix bus contention during shift
Bidirectional I/O ports
Avoid during shift
Force to input or output mode during shift
Gated clocks
Avoid during shift
Enable clocks during shift
Derived clocks
Avoid
Bypass clocks
Combinational feedback
loops
Avoid
Break the loop
Asynchronous set/reset
Avoid
Use external pins
Clocks driving data
Avoid
Block clocks to the data portion
Floating buses
Avoid
Add bus keepers
Floating inputs
Not recommended
Tie to Vdd or ground
Cross-coupled NAND/NOR
gates
Not recommended
Use standard cells
Non-scan storage elements
Not recommended for full-scan designs
Initialize to known states, bypass, or make transparent
43
Friday, January 20, 2012
Scan Design Flow
1. For a circuit, check scan design rules and repair
2. Scan Cell Insertion
3. Scan Cell Ordering
4. Scan Verification
5. Scan Test (Flush Test) - shift a pattern through the scan-chain
(without capture). Typical pattern: 00110011..0011. Can detect
SA0, SA1, slow-to-rise, slow-to-fall, fast-to-rise, fast-to-fall
44
Friday, January 20, 2012
Fault Types

Fault free
1
1
0
0
1
1
0
0

SA0: Stuck-at-0
0
1
0
1
0
0
0
1
0
1
0
0

SA1: Stuck-at-1
1
1
1
0
1
0
1
1
1
0
1
0

FTF: Fast-to-fall
1
1
0
0
0
1
1
0
0

FTR: Fast-to-rise
1
1
1
0
0
1
1
1
0
0

STF: Slow-to-fall
1
1
0
1
0
1
1
0
0

STR: Slow-to-rise
1
0
1
0
0
1
0
1
0
0
Friday, January 20, 2012
Delay Test
 Stuck-at-fault test consist of one vector. Each vector applied at
slow speed (DC-scan).
 Timing related faults need two vectors and they are to be applied
on consecutive clock cycles (at normal clock speed) (AC-scan)
 At test:
 Vector V1 is applied to set the circuit in its state
 Vector V2 is applied
 Response is captured
 Three approaches:
 Launch-on-capture
 Launch-on-shift
 Enhanced scan
Friday, January 20, 2012
Launch on shift (LOS) and launch on
capture (LOC)
 Launch on capture (broadside or double capture)
 shift in test stimuli (usually at low speed). For an n-bit shift register,
shift in n bits.
 apply a capture to create transition
 apply another capture cycle to capture the response
 Launch on shift (skewed load)
 shift in test stimuli (usually at low speed). For an n-bit shift register,
shift in n-1 bits at low speed.
 The final bit is shifted at high speed and then a capture is applied in
high speed.
47
Friday, January 20, 2012
LOS and LOC
DC scan
SE
CLK
LOC
SE
CLK
LOS
SE
CLK
48
Friday, January 20, 2012
Enhanced Scan
SFF
SE
MUX
D
SE
FF
D
SI
Q
SI
CLK
SO
CLK
SE: Scan enable
SI: Scan input
SO: Scan output
UPDATE
SE
D
SI
CLK
Friday, January 20, 2012
C
D
SFF
Q
LA
Q
SO
SFF
Q
Enhanced Scan
PI
PO
Combinational logic
UPDATE
D
SFF
LA
Q
D
SFF
LA
Q
D
SI
SI
SI
SE
SE
SE
CLK
CLK
CLK
CLK
Friday, January 20, 2012
SFF
LA
Q
SO
Summary
 DfT – design for test – makes a design easier to test. It can be
to ease test generation and/or to ease test application
(application of test vectors).
 Test point insertion aims at improving controllability and
observability of a design. Improving controllability and
observability makes it easier to generate test vectors.
 Scan technique adds a test mode to the circuit. In test mode,
the circuit behaves as if it was combinational. In normal mode,
the design behaves as normal. The advantage is that it eases
test generation (ATPG for combinational circuits can be used).
It also makes it easier to apply vectors.
Friday, January 20, 2012
References

A. Kobayashi, et al., A flip-flop circuit suitable for FLT, Annual Meeting of the
Institute of Electronics, Information and Communication Engineers,
Manuscript 892, p. 962, 1963 (in Japanese).

T. W. Williams and J. B. Angell, Enhancing testability of large scale integrated
circuits via test points and additional logic, IEEE Transactions on Computers,
Vol. C-22, No. 1, pp. 46-60, 1973.

E. B. Eichelberger and T. W. Williams, A logic design structure for LSI
testability, Proceedings of the 14th Design Automation Conference, pp.
462-468, 1977.

H.Ando, "Testing VLSI with Random Access Scan," COMPCON80, pp.50-52,
1980. J. Savir and S. Patil, "Broad-Side Delay Test," IEEE Trans. ComputerAided Design, Vol. 13, No. 8, pp. 1057-1064, Aug. 1994.

J. Savir and S. Patil, "On Broad-Side Delay Test,"IEEE Trans. Very Large
Scale Integration Systems, Vol. 2, No. 3, pp. 368- 372, Sep. 1994.

Dervisoglu, B. I. and Stong, G. E., “Design for Testability: Using Scanpath
Techniques for Path-Delay Test and Measurement”, Proceedings of the IEEE
International Test Conference on Test, 1991, pages 365--374.
52
Friday, January 20, 2012
Download