Professional Documents
Culture Documents
Outline
Introduction: What is Fault Diagnosis? Components: Whats involved? Algorithm details: How does it work? Diagnosis in practice: How does it really work? Research: Why does (or doesnt) it work? How should it work?
Physical Analysis
Diagnosis
Diagnosis Algorithm
Circuit Partitioning
Separate known-good portions of circuit from likely areas of failure Simplest method: identify failing flip-flops Tester can identify failing flops or outputs Input cone of logic is suspect Intersection of multiple cones is highly suspect Single clock pulse with scan can be used for sequential/functional fails
2005 David Lavo Fault Diagnosis Overview 6
Back-Tracing Failures
Cause-Effect Diagnosis
Start from possible causes (fault models), compare to observed effects A simulator is used to predict behavior of the circuit in the presence of various faults Match prediction(s) against observed behavior Advantage: Implicates a mechanism as well as a location Disadvantage: Can be fooled by unmodeled defects
2005 David Lavo Fault Diagnosis Overview 9
Cause-Effect Diagnosis
Behavior Signature
010001010100010101010
Defective Circuit
Tests
Diagnosis Algorithm
Fault Simulator
Candidate Signatures
Outline
Introduction: What is Fault Diagnosis? Components: Whats involved? Algorithm details: How does it work? Diagnosis in practice: How does it really work? Research: Why does (or doesnt) it work? How should it work?
11
12
Fault Models
A fault model is an abstraction of a type of defect behavior A fault instance is the application of a model to a circuit wire, node, gate, etc. Used to create and evaluate test sets For diagnosis, they can be used to simulate and predict faulty behaviors
13
Node A stuck-at 1:
0/1 1
0/1
0 1 1 1
1/0
Gate Fault
Net Fault
Bridging Fault
Path Fault
Fault Simulators
A fault simulator can simulate instances of a particular fault model Inputs: Circuit (netlist) Test set Faultlist (list of fault instances) Output: circuit response Usually, simulates the presence of a single fault instance (single-fault assumption)
2005 David Lavo Fault Diagnosis Overview 17
Fault Dictionaries
A fault dictionary is a database of the simulated responses for all faults in faultlist Used by some diagnosis algorithms for convenience: Fast: no simulation at time of diagnosis Self-contained: netlist, simulator, and test set not needed after dictionary creation Can be very large, however!
18
19
20
Dynamic Diagnosis
Alternative to dictionary-based diagnosis Fault simulation is only done for certain faults, based on test results Only simulate faults in input cones of failing flip-flops/outputs Dictionary is eliminated, but requires complete netlist and test pattern file Used by most commercial ATPG tools: Mentor Fastscan, Synopsys, Cadence, etc.
2005 David Lavo Fault Diagnosis Overview 21
Outline
Introduction: What is Fault Diagnosis? Components: Whats involved? Algorithm details: How does it work? Diagnosis in practice: How does it really work? Research: Why does (or doesnt) it work? How should it work?
22
Algorithm Details
Role of a diagnosis algorithm Scoring methods Types of diagnosis algorithms
23
Diagnosis Algorithms
Algorithms compare observed behavior to predicted behaviors An algorithm attempts to explain the observed failures with fault candidates The job of a diagnosis algorithm is to report the best fault candidate(s) Best is determined by scoring method
24
25
Probabilistic Scoring
Probability score based on matches and mismatches and error assumptions Weights for non- and mis-prediction Different prediction probabilities for different fault candidates (bridges vs. stuck-at) Usually normalized so that total of all candidates equals 1.0 UCSC method uses probabilities to compare stuck-at candidates to bridges in same diagnosis
2005 David Lavo Fault Diagnosis Overview 27
Outline
Introduction: What is Fault Diagnosis? Components: Whats involved? Algorithm details: How does it work? Diagnosis in practice: How does it really work? Research: Why does (or doesnt) it work? How should it work?
31
Diagnosis in Practice
Using a diagnosis Translating the results: circuit navigation Evaluating diagnosis quality Commercial diagnosis tools
32
Using a Diagnosis
Fault diagnosis is used to aid physical inspection and root-cause identification Diagnosis output is logical, not physical: Abstract faults (such as stuck-at) Gates, ports (nodes), and nets No information about location or size Translation to physical location requires navigation of circuit
2005 David Lavo Fault Diagnosis Overview 33
Circuit Netlist
module TOP (CLK, Reset, StartOut, SiReady, Rst_CntN, Up_DnN, Wr, SDin, Wr_RAM, Wr_Rreg, RAM_Addr, ATG_TESTMODE, BIST_TESTMODE, SDout, TwoOnes, OneOne, NoOnes, TwoZeros, OneZero, NoZeros);
input inout
inout [2:0] RAM_Addr; inout ATG_TESTMODE; inout BIST_TESTMODE; inout SDout, OneZero, NoZeros; inout TwoOnes, OneOne, NoOnes, TwoZeros, Wr_Rreg; // Tie off cells TLOW tielow1 (.Q(tielow)); THIGH tiehigh1 (.Q(tiehigh)); // Inverted CLK wire CLK_N; INVFF clkinv (.Q(CLK_N), .A(CLK)); //PADS
PADNMIOSCM0H08N05B50 PAD001_StartOut (.PUEN(tiehigh), .PDE(tielow), .IEN(tielow), .I(StartOut_I), .SIGNAME(StartOut), .INMODE(in_mode_avail), .TESTI(jumper001), .TESTIEN(tiehigh), .SCANIN(jumper001), .OUTMODE(out_mode_avail), .TESTO(tiehigh), .TESTOEN(tiehigh), .O(tielow), .OEN(tiehigh));
Netlist Navigation
Either use text editor on netlist, or use browser function in simulator Browsers allow you to trace forward and backward and see logic values Can be used to view hierarchy and functional blocks Can be tedious
36
Circuit Schematic
U475 #1 (100): SA0
0
AOI21
0 0
n27 U510
n673
0
U509
U515
OAI222
0
Schematic Navigation
Either hand-drawn (from netlist navigation) or tool-generated gate symbols and wires Schematic tools in simulators also allow forward and backward traversal and display of logic values Used to verify fault propagation Does not reflect physical distances
38
Circuit Artwork
Fault Proximity
Net runs across die: physical examination is almost impossible Faults contained in small area: physical examination is possible
Evaluating a Diagnosis
A diagnosis without one or a few strong (highscoring) candidates is usually poor Can indicate: Multiple defects Unmodeled (complex) behavior Inappropriate algorithm If the diagnosis is poor, either try another algorithm or look for more data (failures)
42
43
FIB short
Candidate #2 is Best
Candidate #1
Candidate #2
Candidate #3
FIB short
46
47
48
Outline
Introduction: What is Fault Diagnosis? Components: Whats involved? Algorithm details: How does it work? Diagnosis in practice: How does it really work? Research: Why does (or doesnt) it work? How should it work?
49
Prior Art
Waicukauski & Lindbloom, IEEE Design & Test, Aug. 89 Most widely-used algorithm for commercial tools Finds candidates to match individual tests, attempts to explain all failing tests Abramovici & Breuer, IEEE Trans. Computing, June 80 Effect-cause diagnosis Permanent stuck-at fault assumption Aitken & Maxwell, HP Journal, Feb. 95 Analysis of relative importance of models vs. algorithms Lavo, Larrabee, et. Al., Proceedings of ITC 98 Probabilistic scoring Mixed-model diagnosis Bartenstein et. Al., Proceedings of ITC 01 SLAT: Single Location At-a-Time diagnosis Focus on matching per-vector results
2005 David Lavo Fault Diagnosis Overview 50
51
Research Directions
Complex defect behaviors Beyond stuck-at and 2-line bridges Intermittent faults Delay and timing-related defects Parametric & process-related defects Multiple simultaneous defects Is there a simple, inductive way to infer complex defects?
2005 David Lavo Fault Diagnosis Overview 52