570 likes | 666 Views
Net Diagnosis using Stuck-at and Transition Fault Models Master’s Defense Lixing Zhao. Thesis Advisor: Dr. Vishwani D. Agrawal Thesis Committee: Dr. Adit Singh and Dr. Victor P. Nelson. Department of Electrical and Computer Engineering Auburn University, AL 36849 USA. Outline. Motivation
E N D
Net Diagnosis using Stuck-at and Transition Fault Models Master’s DefenseLixing Zhao • Thesis Advisor:Dr. Vishwani D. Agrawal • Thesis Committee:Dr. Adit Singh and Dr. Victor P. Nelson Department of Electrical and Computer Engineering Auburn University, AL 36849 USA Lixing's MS Defense
Outline • Motivation • Background • Problem Statement • Contributions • Proposed Fault Filtering System • Proposed Fault Ranking System • Proposed Net Ranking System • Conclusion Lixing’s MS Defense Lixing's MS Defense
Motivation • Due to high logic density of modern VLSI design and manufacturing, chips on the first round of tape-out often suffer a relatively low yield that may be unacceptable. • Fault diagnosis can bring the yield up in later manufacturing rounds by indentifying the possible causes of defect in earlier tape-outs. • Net fault diagnosis is an important area of fault diagnosis. Because of the large routing area of modern VLSI devices, the routing interconnection nets are more vulnerable to certain defects. • In this work, we try to provide an effective method on solving the net-diagnosis problem. Lixing's MS Defense
Outline • Motivation • Background • Problem Statement • Contributions • Proposed Fault Filtering System • Proposed Fault Ranking System • Proposed Net Ranking System • Conclusion Lixing's MS Defense
How does Fault Diagnosis Work? Defective Circuit Circuit Responses Test Vectors Compare Circuit Net-list Expected Responses Possible Defect Locations Diagnosis Algorithm Lixing's MS Defense
Circuit Under Diagnosis • The Circuit Under Diagnosis (CUD) can be classified into two groups: • Combinational Circuits: • Sequential Circuits: Lixing's MS Defense
Diagnosis Pattern • Random Pattern: • Randomly or Pseudo Randomly Generated • Computer program or Pattern generator (e.g., LFSR) • N-Detect Pattern: • Each fault is detected by at least N different Patterns • ATPG-based • Fault-Model-Based Patterns: • Patterns used for diagnosing faults based on certain fault model • Using certain generating algorithm and ATPG • Yu Zhang and Vishwani D. Agrawal, "A Dianostic Test Generation System," in Proc. International Test Conf., Nov.2010, pp.1-9. • Yu Zhang and Vishwani D. Agrawal, "Reduced Complexity Test Generation Algorithms for Transition Fault Diagnosis", International Conf. on Computer Design, Oct. 2011. pp. 96-101. Lixing's MS Defense
Fault Models • Fault model is an abstraction of the real defect in chip and different fault models are used to handle different types of defects in fault diagnosis. • The types of fault model that can be used on a net: • Stuck-at fault • Transition fault • Bridging fault • Open fault Lixing's MS Defense
Open Fault • Interconnect Open: undesired breaks and electrical discontinuities on interconnection line. • Resistive Open: narrow crack • Modeled as transition delay fault Lixing's MS Defense
Complete Open: wide crack • The coupling capacitors between the floating node and the supply and ground. • The drain voltage of the driven gates. • The effects from surrounding lines. Lixing's MS Defense
Net Structure A net means a connection metal wire in the circuit. Lixing's MS Defense
Previous Works on Multiple Faults Diagnosis • Single-Fault-Simulation(TFS)-Based • Multiple-Faults-Simulation(MFS)-Based • Single-Location-AT-a-Time(SLAT)-Based • Region-Model-Based Lixing's MS Defense
SLAT Lixing's MS Defense
X-Region Lixing's MS Defense
Diagnosis Strategies • Cause-Effect method • diagnosis faults by comparing the fault simulation results with the CUD response. • Traditional Simulation • More information available but more costs. • Effect-Cause method • diagnosis faults by tracing from erroneous primary outputs. • Back-trace simulation • Lost some information but fewer costs. Lixing's MS Defense
OUTLINE • Motivation • Background • Problem Statement • Contributions • Proposed Fault Filtering System • Proposed Fault Ranking System • Proposed Net Ranking System • Conclusion Lixing's MS Defense
Problem Statement • Given the failing response of CUD • Failing Pattern Index • Index of Erroneous Primary Outputs (EPO) • Given the net-list of CUD • Verilog file • Find out locations of faulty nets with certain defects. Lixing's MS Defense
OUTLINE • Motivation • Background • Problem Statement • Contributions • Proposed Fault Filtering System • Proposed Fault Ranking System • Proposed Net Ranking System • Conclusion Lixing's MS Defense
Proposed Fault Filtering System • Count Assignment: • A Count is a value we assign to each fault candidate under certain measurement method. • Contribution: A more balanced count assignment method for fault candidates filtering. • The Count we use in our filtering system is a ratio-count. • Count = Lixing's MS Defense
Failing Pattern Index Matching • DEF1:The union of all the failing pattern index from the single fault simulation of a fault candidate is defined as the Detectable Pattern Set (DPS) of this fault under the test. • DEF2:The union of all the failing pattern index of the observed CUD response is defined as the Failing Pattern Set (FPS) of the test. • DEF3:The shared part between the DPS of a fault candidate and the FPS of CUD is called the Shared Pattern Set (SPS) of this candidate. Lixing's MS Defense
THEOREM: If the CUD is a circuit with multiple faults and we assume that all the multiple faults in the circuit will not totally cancel each other on the primary outputs, then the DPS of any one of the multiple faults in the circuit should be a subset of FPS of the test, in other words, the SPS of the fault candidate equals to its DPS. • INTUITIVE ASSUPTION: The percentage of SPS takes in DPS of a fault represents the possibility that this fault be a real one in CUD. • Count = Lixing's MS Defense
FPIM with EPO-Hitting • DEF: Under the same test pattern, if the affected primary outputs of a candidate fault simulation shares at least one erroneous output with the faulty response of CUD, then we say that this fault candidate can 'hit' the EPO under this pattern and this pattern is called a Hit-Pattern of this candidate. • Count = Lixing's MS Defense
EPO-Matching • DEF1: A Pattern-EPO-Pair (PEP) is a pair of failing pattern number and an EPO associated with it. Like [P2, PO1], which indicates under pattern P2, an error is observed on PO1. PEP could be used to either represents the faulty response of CUD testing or the fault simulation results of fault candidate. • DEF2: The union of all the PEPs from CUD testing is called PEP-Set-of-CUD (PEPSC) and the union of the PEPs under all the patterns in SPS of a fault candidate is called the PEP-Set-of-Fault (PEPSF). The shared part of PEPSC of a fault candidate with PEPSF of CUD is called Shared-PEP-Set (SPEPS) of this fault candidate. Lixing's MS Defense
THEOREM: If CUD is a circuit with multiple faults and we assume that there is no cancelling effect among these faults, then the PEPSF of a fault candidate in single fault simulation should be the subset of of CUD and the SPEPS of the fault candidate should equal to its PEPSF. • INTUITIVE ASSUPTION: The percentage SPEPS taking in PEPSF of a fault candidate indicates the possibility that this fault be a real one in CUD. • Count = Lixing's MS Defense
Count of Fault1: 3/3=1 • Count of Fault2: 3/4 = 0.75 Lixing's MS Defense
For each step, we will set one threshold value to filter the unrelated fault candidates out. These threshold values depend on the our assumption on fault density of CUD. Lixing's MS Defense
Filtering Results Lixing's MS Defense
OUTLINE • Motivation • Background • Problem Statement • Contributions • Proposed Fault Filtering System • Proposed Fault Ranking System • Proposed Net Ranking System • Conclusion Lixing's MS Defense
Candidate Ranking System • After getting a smaller list of fault candidates from filtering stage, we need to rank the fault candidates so that we can have a better diagnosis resolution. • A structure called EPO-Tree is used in our work. Lixing's MS Defense
Observation: The activation situations are sometimes similar under certain test patterns, which means these patterns can activate same set of injected faults in the CUD and the observed EPO combinations from the CUD are the same. • Intuitive Assumption: Assuming we have a circuit with large enough number of primary outputs, when the failing outputs combinations are the same under different test patterns, because it is not very easy to repeat the same combinations for different injected faults in CUD, it is possible that the cause of these failures are the same. If we can find shared set of leaves between the corresponding branches in these EPO-Trees, then these shared faults are more possible than other faults in branch to be the real faults. Branch Ranking in EPO-Trees with Same Branch Combination Lixing's MS Defense
Branch Ranking with Counts from Reduction Stage • Branch ranking procedure we used in step two, three and five. • The candidates in each branch have already had an initial rank from previous stage, now what we have to do is to utilize the counts of each fault got from reduction stage to rank the candidates within each group. Lixing's MS Defense
Branch Ranking with Leaves Count in Each EPO-Tree • Rule: If several fault candidates still have the same rank after previous ranking steps, then we assume that the ones with more leaves in the EPO-Tree have more chance to be real faults in CUD, because it is much easier to activate just one or two faults than many faults together to cause the same effects. Lixing's MS Defense
Final Fault Ranking • We rank the fault candidates by considering the best rank they have among all the branches in all EPO-Trees. • A Top-Single-Fault is a single fault that has top rank in a branch. This kind of faults are the most suspicious fault candidates to us in diagnosis. • Because we have applied many constraints in branch ranking, the earlier the TSF comes out, the more suspicious it seemed to us. Lixing's MS Defense
Experimental Results Z. Wang, M. Marek-Sadowska, and J. Rajski, "Analysis and methodology for multiple-fault diagnosis,” IEEE Tran on CAD of Integrated Circuits and Systems, March 2006, vol. 25, pp. 558-576. Lixing's MS Defense
Fault List Extension • Before we start handling the net diagnosis work, we need to first extend the collapsed faults to uncollapsed faults. Lixing's MS Defense
From the net-list of the circuit, we can get the corresponding net for each fault. Then each group of equivalent faults can be transformed into a set of nets. Lixing's MS Defense
OUTLINE • Motivation • Background • Problem Statement • Contributions • Proposed Fault Filtering System • Proposed Fault Ranking System • Proposed Net Ranking System • Conclusion Lixing's MS Defense
Net Ranking • First, we build a net pool, which will include all the net candidates of each rank group. • Final net candidate list includes two parts: • The nets which we can find more than two members in the net pool. • The nets which can only be found once in the net pool. • Nets’ ranking are based on the group's rank they derived from. Lixing's MS Defense
Experimental Results For each fault model and each benchmark circuit, we randomly constructed 20-50 faulty circuits. For each injected net fault, we randomly selected 2-4 fault sites which could be either the stem or the branches of the net. For stuck-at model, we injected one single stuck-at fault on each fault site and for transition net fault we injected a D-flip-flop on each fault site to perform transition delay behavior. Lixing's MS Defense