Testing in Vlsi
Testing in Vlsi
ECE 407
Computer Aided Design
for Electronic Systems
MKM - 1
ECE
Overview
• VLSI realization process
• Role of testing, related cost
• Basic Digital VLSI test concepts
• Fault Modeling, Test Generation
• Design for Testability (SCAN, BIST)
MKM - 2
ECE
1
Testing and Design for Testability
MKM - 3
ECE
Write
Specifications
Fabrication
Manufacturing
Test
2
Testing and Design for Testability
Fabrication
Manufacturing
Test
Manufacturing
Test
3
Testing and Design for Testability
Abstraction Models
System/Macro Logic/Gate Transistor Level Model
Level Model, Level Model,
Ex. Data Stack Ex. 4-bit Resister
Tin(15:0)
DataStack
y1(15:0) T1
y1 N2
2 0 1
Nmux
nsel(1:0)
Nin
nsel(1:0)
N1 T
full
empty
MKM - 7
ECE
4
Testing and Design for Testability
Definitions
• Design synthesis: Given an I/O function, develop a procedure to
manufacture a device using known materials and processes.
MKM - 9
ECE
MKM - 10
ECE
5
Testing and Design for Testability
Note on Reliability
• Testing is related to Reliability, but often confused…
– A chip that passes testing is certainly more reliable than
the one that has not (if used)
– However, a chip is not necessarily reliable because it has
passed testing!
– On-line testing contributes to reliability
• Reliability is currently receiving wider attention
– Necessary for non-critical systems due to scaling and
larger integration (difficulty w/ testing, more transient/
ware-out faults, by-passing of permanent faults, …)
MKM - 11
ECE
MKM - 12
ECE
6
Testing and Design for Testability
Roles of Testing
• Detection: Determination whether or not the device under
test (DUT) has some fault.
• Diagnosis: Identification of a specific fault that is present on
DUT.
• Device characterization: Determination and correction of
errors in design and/or test procedure.
• Failure mode analysis (FMA): Determination of manufacturing
process errors that may have caused defects on the DUT.
MKM - 13
ECE
Costs of Testing
• Design for testability (DFT)
– Chip area overhead and yield reduction
– Performance overhead
• Software processes of test
– Test generation and fault simulation
– Test programming and debugging
• Manufacturing test
– Automatic Test Equipment (ATE) capital cost
– Test center operational cost
MKM - 14
ECE
7
Testing and Design for Testability
Logic Logic
PI PO
block A Int. block B
bus
Test Test
input output
MKM - 15
ECE
MKM - 16
ECE
8
Testing and Design for Testability
MKM - 17
ECE
MKM - 18
ECE
9
Testing and Design for Testability
MKM - 19
ECE
Chips +/- + -
Boards +/- + - -
System +/- + - - - -
+ Cost increase - Cost saving +/- Cost increase may balance cost reduction
MKM - 20
ECE
10
Testing and Design for Testability
Fault Modeling
MKM - 21
ECE
Ideal Tests
• Ideal tests detect all defects produced in the
manufacturing process.
MKM - 22
ECE
11
Testing and Design for Testability
Real Tests
• Based on analyzable fault models, which may not map on
real defects.
• Incomplete coverage of modeled faults due to high
complexity.
• Some good chips are rejected. The fraction (or
percentage) of such chips is called the yield loss.
• Some bad chips pass tests. The fraction (or percentage) of
bad chips among all passing chips is called the defect
level.
MKM - 23
ECE
MKM - 24
ECE
12
Testing and Design for Testability
MKM - 25
ECE
MKM - 26
ECE
13
Testing and Design for Testability
MKM - 27
ECE
c j
a d
g h
z
i
b e
f k
MKM - 28
ECE
14
Testing and Design for Testability
f 0 k
MKM - 29
ECE
f 1 k
MKM - 30
ECE
15
Testing and Design for Testability
f 0 k
MKM - 31
Test vector for h s-a-0 fault
ECE
Fault Equivalence
• Number of fault sites in a Boolean gate circuit
= #PI + #gates + # (fanout branches).
• Fault equivalence: Two faults f1 and f2 are equivalent if all
tests that detect f1 also detect f2, and vice-versa.
• If faults f1 and f2 are equivalent then the corresponding
faulty functions are identical.
• Fault collapsing: All single faults of a logic circuit can be
divided into disjoint equivalence subsets, where all faults
in a subset are mutually equivalent. A collapsed fault set
contains one fault from each equivalence subset.
MKM - 32
ECE
16
Testing and Design for Testability
Equivalence Rules
WIRE/BUFFER
sa0 sa0
sa0 sa1 sa0 sa1
sa1 sa1
sa0 sa1 sa0 sa1
AND OR
sa0 sa1
NOT
sa1 sa0
MKM - 33
ECE
Equivalence Example
sa0 sa1
Faults in red
sa0 sa1 removed by
sa0 sa1 equivalence
collapsing
sa0 sa1 sa0 sa1
sa0 sa1
sa0 sa1
sa0 sa1 sa0 sa1
sa0 sa1
17
Testing and Design for Testability
Fault Dominance
• If all tests of some fault F1 detect another fault F2, then F2
is said to dominate F1.
• Dominance fault collapsing: If fault F2 dominates F1, then
F2 is removed from the fault list.
• When dominance fault collapsing is used, it is sufficient to
consider only the input faults of Boolean gates. See the
next example.
• In a tree circuit (without fanouts) PI faults form a
dominance collapsed fault set.
• If two faults dominate each other then they are equivalent.
MKM - 35
ECE
Dominance Example
All tests of F2
F1
s-a-1
F2
s-a-1 001
110 010
000
101 011
100
s-a-1
Only test of F1
s-a-1
s-a-1
s-a-0
A dominance collapsed fault set
(after equivalence collapsing)
MKM - 36
ECE
18
Testing and Design for Testability
Checkpoint Theorem
• Primary inputs and fanout branches of a combinational
circuit are called checkpoints.
• Checkpoint theorem: A test set that detects all single
(multiple) stuck-at faults on all checkpoints of a
combinational circuit, also detects all single (multiple)
stuck-at faults in that circuit.
Total fault sites = 16
Checkpoints ( ) = 10
MKM - 37
ECE
Redundant/Untestable Faults
MKM - 38
ECE
19
Testing and Design for Testability
MKM - 39
ECE
A
Symbol Meaning F= A.B
(Fault-free/Fault Value) B
D 1/0
D 0/1 sa0 D
D
0 0/0
1
1 1/1
X X/X
MKM - 40
ECE
20
Testing and Design for Testability
1 D
D D D
1 0
1
MKM - 41
ECE
D
D 1
D D
MKM - 42
ECE
21
Testing and Design for Testability
0
D 0 D D
D D
1
1
MKM - 43
ECE
MKM - 44
ECE
22
Testing and Design for Testability
MKM - 45
ECE
MKM - 46
ECE
23
Testing and Design for Testability
MKM - 47
ECE
MKM - 48
ECE
24
Testing and Design for Testability
MKM - 49
ECE
logic SFF
SFF
MKM - 50
ECE
25
Testing and Design for Testability
MKM - 51
ECE
MKM - 52
ECE
26
Testing and Design for Testability
MKM - 53
ECE
BIST Benefits
• Faults tested:
§ Single combinational / sequential stuck-at faults
§ Delay faults
§ Single stuck-at faults in BIST hardware
• BIST benefits
§ Reduced testing and maintenance cost
§ Lower test generation cost
§ Reduced storage / maintenance of test patterns
§ Simpler and less expensive ATE
§ Can test many units in parallel
§ Shorter test application times
§ Can test at functional system speed
MKM - 54
ECE
27
Testing and Design for Testability
MKM - 55
ECE
MKM - 56
ECE
28
Testing and Design for Testability
MKM - 57
ECE
• Testing epoch I:
§ LFSR1 generates tests for CUT1 and CUT2
§ BILBO2 (LFSR3) compacts CUT1 (CUT2)
• Testing epoch II:
§ BILBO2 generates test patterns for CUT3
§ LFSR3 compacts CUT3 response
MKM - 58
ECE
29
Testing and Design for Testability
MKM - 59
ECE
MKM - 60
ECE
30
Testing and Design for Testability
MKM - 61
ECE
Bottom curve:
Random-Pattern
Resistant circuit
(ex. PLAs)
MKM - 62
ECE
31
Testing and Design for Testability
Pseudo-Random
Pattern Generation
MKM - 63
ECE
32