Académique Documents
Professionnel Documents
Culture Documents
Introduction to Test Fault Models Fault Coverage Yield Introduction to Automatic Test Pattern Generation (ATPG)
Manufacturing test validates that the hardware matches the final implementation
Silicon verification validates that the hardware operates according to the design intent
M.d'Abreu
Why Test ?
Testing provides a means of ensuring that a product design is correct. When a product is fabricated, there is a need to test the product in order to ensure that faulty products are not delivered to the customer. Testing of products also provides important feedback about the design and fabrication of the product in order to improve the product quality.
The rule of 10
If it costs 1 cent to locate an Integrated Circuit fault at wafer level.
M.d'Abreu
Processor
Year of Production
1993 1997 1999 2000
No. of Transistors
3,100,000 7,500,000 24,000,000 42,000,000
manufacture costs have reduced, but the cost to test a transistor has remained roughly the same.
This is a major problem.
M.d'Abreu 5
MOORES LAW
Moore predicted that the number of transistor per Integrated Circuit would doubling of transistors every 18 months.
(Source: Intel)
M.d'Abreu 6
M.d'Abreu
The Cost to Test a single transistor must be made to track Moores Law.
M.d'Abreu 8
Metallization Structure
M.d'Abreu
Source of Defects
M.d'Abreu
10
M.d'Abreu
11
Metallization Issues
Large topographical variation caused by soft pad and mechanical properties
Isolated Transistor
Dense Array
CMP, SOG
RIE
Etc.
Source: R. Pack, Cadence
M.d'Abreu
12
M.d'Abreu
13
Sophisticated Machines
Test Head
M.d'Abreu
14
M.d'Abreu
15
Probe card
Connects test head to chip pads on wafer Custom design for each new chip type Different technologies depending on pad-count, pad-spacing, and speed requirements
M.d'Abreu
16 16
Holds wafer Motion stage for indexing (moving to next chip/group of chips on wafer) Facilitates touch down
M.d'Abreu
17
Chip Packages
Many different technologies and form factors, e.g., Pin-through-hole Solder balls Etc., etc., etc.
M.d'Abreu
18
Package Handler
M.d'Abreu
19
Sophisticated Machines
Test programs
M.d'Abreu
20
Test Quality
Defect-Level: percentage of defective chips shipped as good Measured in ppm (parts per million) Increases down-stream costs (scrap, repair, product delays, etc.) To minimize escapes, the test program ideally has to detect all defects
How can we estimate ahead of time how good the test program is?
Need a quality measure for the test data supplied from design!
M.d'Abreu
21
Faults
Netlist
ATPG /FaultGrading
Test Data
Fault Coverage
M.d'Abreu
22
Faults
Correlation?
ATPG /FaultGrading
Wafers
Netlist
Test
Fault Coverage
Correlation?
M.d'Abreu
23
Fault-Grading
Criteria to be used for calculating fault coverage Conditions to be generated by Automatic Test Pattern Generation (ATPG) locally in the netlist to excite and propagate fault effects Establish link between netlist locations and fail behavior
Test Generation
M.d'Abreu
24
Fault Grading
Netlist
Test Patterns
Fault Simulation
Fault List
M.d'Abreu
Coverage Reports
25
Some circuit-level elements (transistors, resistors, etc.) may be allowed but only sparingly The design flow must produce an accurate gate-level netlist Specially generated for test, if not needed otherwise
Most commonly individual faults are attached to the input/output pins of the logic gates in the netlist The collection of all individual faults defined for a netlist is called the fault list
M.d'Abreu
26
Fault Simulation
Fault-free network Good Machine
Stimulus data
Response comparison
Coverage Report
Fault List
M.d'Abreu 27
Fault Coverage
Fault coverage
Percentage of faults detected by the tests Information about individual faults or groups of faults, e.g., By which test a fault is first detected Sub-module I/O faults versus module-internal faults
Fault statistics
More detailed information about how each individual fault is detected Used for diagnostics
M.d'Abreu
28
Fault Models
M.d'Abreu
29
Outline
Fault models
Fault coverage Model accuracy, other fault models Accidental fault detection
M.d'Abreu 30
Simple Example
Single 2-input AND gate ATE can stimulate (control) the 2 inputs i1 , i2 ATE can measure (observe) the output o1
To test a defect it is necessary find input values for which the behavior at o1 with defect differs from the behavior without defect
M.d'Abreu
31
Stuck-at-Faults
Attached to each input/output pin of each logic gate in a structural netlist Stuck-at-1 (sa1)
Respective pin permanently stuck at logic 1 Respective pin permanently stuck at logic 0
Stuck-at-0 (sa1)
M.d'Abreu
32
00 01 10 11
i1 i2 ab
0 0 0 1
o1
00 01 10 11
10 11 10 11
0 1 0 1
M.d'Abreu
33
i1 i2 i1 i2 1 a o1 b
ab
o1 gm/fm
00 01 10 11
10 11 10 11
More Faults
i1 i2
i1 sa1
i1 sa0
i2 sa1
i2 sa0
o1 sa1
o1 sa0
00 01 10 11
Fault Equivalence
If AND THEN
fault-a-tested <=> fault-b-tested fault-a-tested <=> fault-b-tested faults a and b are equivalent
2-input AND: i1-sa0, i2-sa0, o1-sa0 are equivalent The 3 faults form a fault equivalence class
i1 sa1 i1 sa0 i2 sa1 i2 sa0 o1 sa1 o1 sa0
i1 i2
00 01 10 11
Fault Collapsing
The fault behavior of all faults in a fault equivalence class is indistinguishable Fault Collapsing: Select one equivalent fault to represent all faults in the class Reduces the number of faults to be explicitly considered for fault simulation, ATPG E.g., reduces the 6 possible faults for the 2-input AND gate to 4 independent faults
M.d'Abreu
37
Equivalence Example
sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 sa0 sa1 20 Collapse ratio = ----- = 0.5 40
M.d'Abreu 39
Faults in tan removed by equivalence collapsing sa0 sa1 sa0 sa1 sa0 sa1
sa0 sa1
sa0 sa1
Fault Dominance
If BUT THEN
2-input AND: o1-sa0 dominates i1-sa0, i2-sa0 Detection of i1-sa0 or i2-sa0 implies detection of o1-sa0 E.g., used in sorting fault lists for fault simulation, ATPG
i1 i2
i1 sa1
i1 sa0
i2 sa1
i2 sa0
o1 sa1
o1 sa0
00 01 10 11
Some patterns detect multiple faults E.g., i1i2=11 detects 3 faults, 01, 10 detect 2 faults Not all patterns are needed for detecting all faults E.g., i1i2=11, 10, 01 detect all 6 faults, 00 is not necessary
i1 i2
i1 sa1
i1 sa0
i2 sa1
i2 sa0
o1 sa1
o1 sa0
00 01 10 11
6 faults of which 3 (i1/i2/o1-sa1) are tested, 3 (i1/i2/01-sa0) are untested 3/6=50% fault coverage 2 (i1/i2-sa1) are detected once, 1 (o1-sa1) 3 times, 3 (i1/i2/o1sa0) 0 times
i1 sa1 i1 sa0 i2 sa1 i2 sa0 o1 sa1 o1 sa0
i1 i2
00 01 10 11
More on Faults
R A S 1 Q
2
Faulty Response
A/0 S/0 R/0 A/1 S/1 R/1
Inputs
SR
Response 0 0 1 0
FF
01 00 10 11
0 1 1 0
0 0 0 0
M.d'Abreu
X X 1 1
0 1 0 1
0 0 1 1
1 1 1 1
43
A C S B
Reconvergent
A C S B (b)
D F (a)
M.d'Abreu
44
Redundant Faults
Redundant Gate
M.d'Abreu
45
Stuck-at-1
Broken (change of the function) Bridging Stuck-open (change of the number of states) Stuck-on (change of the function) Short (change of the function) Stuck-off (change of the function)
Stuck-at-0
M.d'Abreu 46
VDD x1 x2
VDD x1 x2
x1
x2
RN
Y x2 VSS
Y x1 x2 VSS x1
0 0 1 1
0 1 0 1
y yd 1 1 0 0 0 VY/IDD
Q
RP
VDDRP VY = (RP + RN )
47
M.d'Abreu
x1
x2
0 0 1 1
0 1 0 1
y 1 0 0 0
yd 1 0
Y
M.d'Abreu
48
Bridging Faults
Wired AND/OR model x1 x2 W-AND: x1 & x2 W-OR: x1 1 x2 x2 x1 x2 x1 x1 x2
Fault-free
W-AND x1 0 0 0 1 x2 0 0 0 1
W-OR x1 0 1 1 1 x2 0 1 1 1
49
x1 0 0 1 1
M.d'Abreu
x2 0 1 0 1
x1 0 0 1 1
M.d'Abreu
x2 0 1 0 1
x1 0 0 1 1
x2 0 0 1 1
x1 0 1 0 1
x2 0 1 0 1
50
y = x1x2 x3 x4 x5
y x1 x2 x4 Short
Faulty function: x5
y d = ( x1 x4 )(x2 x3 x5 )
x3
M.d'Abreu
51
y = x1x2 x3 x4 x5
Full SAF-Test
y d = ( x1 x4 )(x2 x3 x5 )
Test for the defect Functional fault
The full SAF test is not covering any of the patterns able to detect the given transistor defect
52
N o 1 2 3 4 5
x1 x2 x3 x4 x5 x1 x2 X x4 x5
3
1 0 0 1 1
1 1 0 1
1 1 1 0
0 1 0 1 0
1 1 0 -
1 1 0
0 1
- 0 0 0 1 1
1 1 0
M.d'Abreu
M.d'Abreu
53
Timed edge propagation along signal path(s) Typically applied to small subset of all possible paths
Useful for characterization, process window, speed binning (paths with representative cross-section of function elements) Not generally useful for random defects (too many paths)
Include timing information and fault size (defective delay adder) of detectable delay faults Can be used with node- and path-oriented models Mostly useful for calibrating delay test generation effectiveness
M.d'Abreu 54
E.g., IDDq
IDDq is observed through power supplies connected to all design cells (not only scan cells)
Typically use pseudo-stuck-at faults Fault propagation to design cell output is sufficient
Much easier than propagation to scan cells or POs Few tests achieve high coverage
M.d'Abreu
55
Require transitions for testing (two or more test patterns) May escape detection in test if strobed too late (DC test)
logic
M.d'Abreu
56
Needs appropriate fault models Move strobe as close to product limits as reasonably possible
system cycle X Y
test strobe
test fails
defect
M.d'Abreu
57
product
If
Y is the manufacturing yield (the probability that a manufactured circuit is defect-free, DL the defect level (the probability of shipping a defective product) and d the defect coverage of the test(s) used to screen manufacturing defects, then the relationship between these variables is given by
DL = 1 (Y )1-d
M.d'Abreu
y = 0.1 y = 0.25
0.6
y = 0.5
0.4
y = 0.75
0.2
y = 0.9
0 0
y = 0.99
20
80
100
Ex: if process yield = 0.5, then to achieve a 0.01 defect level (1% of shipped devices are likely to be defective) we need 99% fault coverage. A test with only 95% fault coverage will result in 0.035 defect level. If yield = 0.8, then 95% fault coverage is sufficient to achieve a defect level of 0.001
M.d'Abreu
59
M.d'Abreu
60
Voltage tests
Speed testing
High fault coverage costs Design must have Iddq and voltage Structural tests and current (Iddq) low background current measurements, high burn-in toggle coverage voltage Structural tests run at speed Tests vectors must be targeted to defect prone layout areas
Voltage
Structural tests
Gate delay
M.d'Abreu
61
ATPG
Algorithmic generation of test patterns for model faults Requires netlist and fault list of the circuit under test Objective is to generate a set of test patterns that is capable of detecting as many faults in the fault list as possible Ideally all faults are tested (100% fault coverage)
Constructive pattern generation for one or several untested faults at a time Fault simulation to determine if other untested faults are also tested
M.d'Abreu
63
Terminology
External circuit input that can be controlled by the ATE External circuit output that can be observed by the ATE A fault from the list of still untested faults selected for constructive pattern generation Forcing good machine value at the fault site to the opposite value of the fault value Making the difference between good-machine and fault-machine values visible at a PO
M.d'Abreu 64
Target fault
Fault excitation/activation
Fault propagation
Terminology (cont.)
Objective
Backtrace
Justification
Implication
Decision
Making a choice between multiple possible circuit states that could be help to achieve the objective
M.d'Abreu 65
Terminology (cont.)
Decision Stack
Conflict
An implication derives the opposite value of an objective or invalidates the test (e.g., blocks all possible propagation paths)
Backtracking/Decision Re-make
Test-Cube
Combination of specified logic values at a subset of PIs that achieves a test for the target fault Typically leaves some PI values un-specified
M.d'Abreu 66
Terminology (cont.)
Compaction
Merging compatible test cubes for multiple faults into a larger, combined test cube Specification of values at PIs that are un-specified in the test cube Test cube with fill such that all PI values are specified Test patterns are sent to fault simulation
(Pattern) Fill
Test Pattern
M.d'Abreu
67
Primary Outputs
Primary Inputs
i1
i1 o1 i2
o1
i2
M.d'Abreu
68
Fault Selection
sa1
i1 i2 o1
M.d'Abreu
69
Fault excitation requires gm-value of 0 at i1 Fault propagation requires non-controlling value at i2 1 for an AND gate, 0 for an OR gate Sensitizes a fault propagation path through the gate
i1 i2 i1 i2 1 a b
ab
o1 gm/fm
o1
00 01 10 11
10 11 10 11
Fault Excitation
0 0/1
i1 i2
sa1
o1
M.d'Abreu
71
Fault Propagation
0 0/1 1
i1 i2
0/1
o1
0/1
M.d'Abreu
72
Move backwards from objective site to PIs Establish suitable logic conditions at the PIs
1 0 1 1 0 0 1 1 0
0 0/1 1
i1 i2
0/1
o1
0/1
M.d'Abreu
73
Implication
Required values that are consequences of a new objective(s) and the existing circuit state
Forward implication: downstream values caused by the objective(s) E.g., established by simulation Backward implication: specific upstream values that are required (must-values) to justify objective(s) at gate outputs E.g., driven by gate-type-specific implication rules Propagation implication: sensitizing value required for fault propagation E.g., fault must propagate through a single gate
M.d'Abreu 74 74
Forward Implication
new value
0/1
i1
0/x x/x
o1
implied value
existing state
i2
M.d'Abreu
75
Backward Implication
i1 i2
1/1
o1
new value
i1 i2
0/0 1/1
0/0
o1
new value
i1 i2
x/x
multiple choices: NO implications !!!
0/0
o1
new value
x/x
M.d'Abreu
76
Propagation Implication
0/0
i1 i2
0/1
sa1
0/x 0/1
o1
x/x 1/1
1/1
NO choices: MUST sensitize
0/0
0/1
sa1
0/1
1/1
M.d'Abreu
77
Decisions
x/x 1/1
a b x/x
x/x 1/1
x/x 1/1
sa1 0/1
c 0/0 d 0/0
0/0
e x/x
decision 1
a=1/1
M.d'Abreu
new
78
If last decision is new, set to opposite value, mark old If last decision is old, remake previous decision
0/0 1/1 0/x 1/1
a b x/x
0/0 1/1
x/x 1/1
sa1 0/1
0/x 0/1
c 0/0 d 0/0
0/x 0/0
e x/x
decision 1 decision 1
a=0/0 a=1/1
M.d'Abreu
old new
79
Un-Testable Faults
a b x/x
x/x
sa1 0/1
0/x
0/x
0/x
c 0/0 d 0/0
0/0
e x/x
decision 1
a=0/0
M.d'Abreu
old
80
Redundancy
If a fault in a combinational network is un-testable and the search has been complete (e.g., no constraints that limit the search space), then the fault is redundant Combinational ATPG techniques are used for redundancy identification and removal in logic synthesis Combinational ATPG techniques are also used in Boolean equivalence checking
Un-Testable Faults
Run-time for a single fault can be excessive (e.g., due to too much backtracking)
Practical algorithms have time-out criteria where an excessive search is aborted before completion To prove that a fault is un-testable or redundant requires completion of the search Faults that are not tested without being proven untestable or redundant are called untested faults.
M.d'Abreu 82
Back Up
M.d'Abreu
83
Fault Simulation
Large networks (millions of gates) Long stimulus sequences (tens of thousands) Lots of faults (millions of faults)
Accuracy (zero-delay versus accurate delay) Fault dropping (drop after first or multiple detects) Fault handling (one or multiple faults at a time) Pattern handling (one or multiple patterns at a time)
M.d'Abreu
84
Concurrent for manually generated tests One pattern at a time, event-driven simulation Multiple faults at a time Nominal delays Slower, but more accurate, better sequential capabilities PPSFP (Parallel Patterns Single Fault Propagate) for automatically generated tests Multiple patterns at a time, event-driven or compiled Single fault at a time Typically zero-delay (levelized network) Much faster, but less accurate, limited sequential capabilities
M.d'Abreu 85
Try to avoid cost of simulation Estimated fault coverage without explicit fault lists based on controllability/observability of network nodes Very limited use in practice for fault grading Not accurate enough Some use for automatic test point insertion Test points will be discussed later
M.d'Abreu
86
Fault Grading
Tool and methodology to measure the effectiveness of a test(s) to detect manufacturing defects
100% fault coverage does not imply absence of defects - fault coverage is only an approximation of defect coverage.
Fault coverage is based on the stuck-at fault model; there are defects that do not manifest as stuck-at. Experience indicates that a test(s) with high coverage for stuck-at also achieves a high defect coverage.
M.d'Abreu
87
A stuck-at fault is excited (aka activated) if the good machine (gm) value at the fault site is the opposite of the fault machine (fm) value
E.g., gm value must be 0 for exciting sa1 faults, such that gm value and fm value differ at fault site
If the fault site is not directly observable, the difference between gm- and fm-value must be propagated to an observable pin
E.g., i1 is not directly observable, must propagate the fault effect (differing gm/fm values) of i1-sa1 to output o1
M.d'Abreu 88
Functional tests
Validates the correct operation of a system with respect to its functional specification. In addition to verifying the specified operation of a system, it is also necessary to check that unintended operations do not occur
M.d'Abreu
89
Fault models
Electrical manifestation of a defect. This electrical manifestation can cause a logical or timing failure. There are a number of different fault models in existence stuck-at being the most widely used.
M.d'Abreu 90