Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 3 Fault Modeling

Similar presentations


Presentation on theme: "Chapter 3 Fault Modeling"— Presentation transcript:

1 Chapter 3 Fault Modeling
電機系 Chapter 3 Fault Modeling 錯誤模型

2 Outlines Introduction Fault Models Properties of Stuck-at Faults
Stuck-at Fault Collapsing

3 Fault Model and Structural Tests
Fault model is the foundation of structural testing methods Structural tests Use the information of interconnected components (e.g., gates) to derived test regardless of the functions Define faults  fault coverage (quality evaluation)  ATPG to generate tests for faults  DfT for enhancing fault detection. Why Model Faults? As mentioned before, functional test set which is the functional vectors created for design verification may not work well to detect the manufacture faults. The reason is that both tests are targeting different purposes. One is to detect the design errors. Another one is to detect the physical defects. We also mentioned before that the exhaustive testing is prohibitively expensive even for a small circuit.

4 Characteristics of Fault Models
Model the effects of physical defects on the logic function and timing Identifies target faults Model faults (defects) most likely to occur Depends on the process, design platform, design style, design level, etc. Limits the scope of test generation Create tests only for the modeled faults Why Model Faults? There are some many possible defects or faults which can happen during the manufacturing process. In each test generation, we should identify some target faults to generate the corresponding test set. In this way, we also can limit the scope of test generation and make the analysis possible. Especially, we may like to focus on those faults mostly likely to occur. Based on the fault models and the circuits, we can then generate the test set manually or automatically. The test set can therefore be evaluated by fault simulations or experiments to reflect its effectiveness. The evaluation can also help in diagnosis on the possible causes of the defects in the chips. This can typically be achieved by associating specific defects with specific test patterns created based on some fault models.

5 Levels of Fault Models Physical Defects Electrical Effects
Silicon Defects Photolithographic Defects Mask Contamination Process Variation Defective Oxides Electrical Effects Shorts (Bridging Faults) Opens Transistor Stuck-On/Open Resistive Shorts/Opens Change in Threshold Voltages Logical Effects Logical Stuck-at 0/1 Slower Transition (Delay Faults) AND-bridging, OR-bridging

6 Defect, Fault, and Error Defect Error Fault Physical imperfection
The unintended difference between the implemented hardware and its intended design Error A wrong output signal produced by a defective system Fault A representation of a defect at the abstracted function level One of the gate input terminal was mistakenly connected to ground Defect: short to ground Error: f = 0 when a = b = 1 Fault: b stuck at 0 a f b

7 Common Fault Models Stuck-at faults Interconnect short and opens
Transistor stuck-on/open faults Memory faults Delay faults

8 Single Stuck-At Fault Model
Assumptions: Only One line is faulty Faulty line permanently set to 0 or 1 Fault can be at an input or output of a gate One of the gate input terminal was mistakenly connected to ground Fault: b stuck at 0 signal b will always be “0” a 我們來看一個重要且最常用的錯誤模型,Single stuck-at faults, 在此一模型下,我們做了幾個假設: 一、電路中,只有一信號線有錯誤 二、錯誤的信號線的邏輯值不是0就是1 三、錯誤只會出現在邏輯閘的輸入或輸出端 f b

9 The Popularity of Single Stuck-At Faults
Complexity is greatly reduced Technology independent Can be applied to TTL, ECL, CMOS, BiCMOS etc. Design style independent Gate array, standard cell, custom VLSI Detection capability of un-modeled defects Empirically many defects accidentally detected by test derived based on single stuck-at fault

10 Multiple Stuck-At Faults
Several stuck-at faults occur at the same time For a circuit with k lines there are 2k single stuck-at faults there are 3k-1 multiple stuck-at faults A line could be stuck-at-0, stuck-at-1, or fault-free One out of 3k resulting circuits is fault-free Most Multiple faults are covered by single-fault tests of combinational circuit: 4-bit ALU (Hughes & McCluskey, ITC-84) All double and most triple-faults covered. Large circuits (Jacob & Biswas, ITC-87) Almost 100% multiple faults covered for circuits with 3 or more outputs. Multiple Stuck-At Faults The multiple stuck-at fault models assume that there are several stuck-at faults occurring at the same time. It can reflect the real faulty situation especially for high density circuits in VLSI designs. Given a circuit with k lines, there are 2k single stuck-at faults, while there are 3 to the power of k minus 1 multiple stuck-at faults. The number of multiple stuck-at faults of any real circuits will be extremely large.

11 Bridging Faults For CMOS Logic
Two or more normally distinct points (lines) are shorted together Could be AND-bridging or OR-bridging depends on the inputs VDD A B GND f C D g bridging (A=B=0) and (C=1, D=0) (f and g) is OR-bridging fault pull to VDD pull to zero (A=B=0) and (C=1, D=1) (f and g) is AND-bridging fault

12 Interconnet Opens Open defects are due to a defect which splits up a node into two or more distinct nodes. Large open (break): No current can go between the two ends of the open when a voltage is applied across it. Narrow open: The opening is usually < 100 nm. In this case a small leakage current (by tunnel effect) go across the open. VDD C D GND g VDD A Open defects as a large resistor f B A GND

13 CMOS Transistor Stuck-On
IDDQ current VDD Example: N transistor is always ON Output level? stuck-on Transistor Stuck-On May cause ambiguous logic level Depends on the relative impedances of the pull-up and pull-down networks When Input Is Low in the example Both P and N transistors are conducting, causing increased quiescent current, called IDDQ fault GND

14 CMOS Transistor Stuck-Open
May cause the output to be floating The faulty cell has sequential behavior Stuck-open might require two vector tests VDD stuck-open Initialization vector (0/0) ->(1/0) Faulty value 1 -> 0 GND

15 Pseudo-Stuck-At Fault Model
It is similar to single stuck-at fault model, except that every cell output is considered observable by IDDQ testing. The fault site at a gate input requires sensitization and propagation to an output of the same gate (but not to an output of the device) in order to be given credit for IDDQ fault detection. 我們來看一個重要且最常用的錯誤模型,Single stuck-at faults, 在此一模型下,我們做了幾個假設: 一、電路中,只有一信號線有錯誤 二、錯誤的信號線的邏輯值不是0就是1 三、錯誤只會出現在邏輯閘的輸入或輸出端 a=1 1/0 b=1 f=0 c=0

16 Pseudo-Stuck-At Fault Model
The exhaustive pseudo-stuck-at patterns for IDDQ testing cover all leakage faults in fully complementary combinational CMOS circuits. ab cd Detected Pseudo Stuck-At Faults Detected leakage Faults (total 6C2 = 15 leakage faults) 01 a-sa1 d-sa0 <b, 0> <c, 1> <d, 0> <a, 1> <a, b> <a, d> <b, c> <c, d> <0, 1> 10 11 b-sa1 <a, 0> <c, 0> <d, 0> <b, 1> <a, b> <b, c> <b, d> <0, 1> 00 a-sa0 b-sa0 d-sa1 <a, 0> <c, 0> <c, 1> <d, 1> <a, c> <a, d> <b, c> <b, d> <0, 1> 2-input NAND2 我們來看一個重要且最常用的錯誤模型,Single stuck-at faults, 在此一模型下,我們做了幾個假設: 一、電路中,只有一信號線有錯誤 二、錯誤的信號線的邏輯值不是0就是1 三、錯誤只會出現在邏輯閘的輸入或輸出端 S.T., Zachariah, “A comparative study of pseudo stuck-at and leakage fault model”, IEEE Int’l Conf. on VLSI Design 1999

17 Memory Faults Parametric Faults Functional Faults 0 0 0 0 d b 0 a 0
Speed Power Consumption Noise Margin Data Retention Time Functional Faults Stuck Faults in Address Register, Data Register, and Address Decoder Cell Stuck Faults Adjacent Cell Coupling Faults the presence of a faulty signal depends on the signal values of the neighboring cells Pattern-Sensitive Faults Pattern sensitivity between cells Memory Faults The testing of memories is not only to detect the functional faults, but also to detect parametric faults. The parametric faults are to model the faulty operations in terms of the following concerns: output level, power consumption, noise margin and data retention time. There are several kinds of functional faults associated with memory. 1. The typical stuck-at faults in address registers, data registers, and address decoders. 2. Some cell stuck-at faults 3. Adjacent cell coupling faults. This fault happens on the adjacent cells when some specific combinations of values on these cells. 4. Pattern-sensitive faults. This fault happens on the neighboring cells The last two kinds faults are unique to the memory structures and are very different from the other functional faults. 0 d b 0 a 0 a=b=0 => d=0 a=b=1 => d=1

18 Delay Fault Models Delay faults change the timing of circuit.
Testable when circuit operates at higher speed Insufficient stuck-at tests Chip with timing defects may pass the low speed stuck-fault testing, but fail at the system speed Types Transition Fault, Gate Delay Fault, Line Delay Fault, Path Delay Fault, Segment Delay Fault

19 Fault Model Summary Current practice
Single stuck-at faults Transition faults Other models to enhance defect coverage N-detect faults Interconnect open faults and bridging faults Stuck-open (CMOS) Path delay faults (high performance circuits)

20 Properties of Stuck-at Faults

21 Definition Of Fault Detection
A test (vector) t detects a fault f iff t detects f  z(t) ≠zf(t) Note that there can be multiple outputs for z(t) A fault f is said to be detectable If there exists a test t that detects f; otherwise, f is undetectable. Example X 1 Z 1 x s-a-1 X Fault Detection A test t is said to detect a fault f in a circuit if and only if When we apply the input vector t to the circuit, the output of the circuit is different in the situations of fault free and with the fault f. In the example, there is a stuck-at-1 fault appearing at one of the input of the AND gate. When we apply the test 100, the outputs of fault-free and faulty circuits are different. So the test 100 detects the fault f. Z 1 =X X 2 3 f 2 Z X 2 3 The test (x1,x2,x3) = (100) detects f because z1(100)=0 while z1f (100)=1

22 Redundancy of Faults For combinational circuits, an undetectable fault is corresponding to a redundant wire. Undetectable faults do not change the function of the circuit The wire can be connected to a constant value without changing circuit’s function.

23 Examples of Simplifying Circuits with Redundancy
If l s.a.1 is undetectable, the gate can be simplified as If l s.a.0 is undetectable, the entire gate can be removed & replaced by a constant 0 wire x m n l s. a. 1 Y 1 x m n l s. a. 0 Y

24 Cause of Circuit Redundancy
Design to satisfy certain physical characteristics Speed: carry look-ahead adders Fault tolerant circuits: triple module redundant (TMR) Un-intentional redundancy by design partitioning. Under specified requirements.

25 Example: Redundancy Removal
Redundant faults: e s-a-1, d s-a-0 and d s-a-1 The NAND gate with d is redundant a e e sa1 d c f b Detectability A fault f is said to be detectable if there exists a test t that detects f; otherwise, f is an undetectable fault. For an undetectable fault, the fault-free and the faulty values remain the same under any input vector. In other words, there is not an input vector which can simultaneously activate f and create a sensitized path to at least a primary output. simplify the redundant signals and gates a c f b

26 Fault a is undetectable, i.e., f(t) = fα(t) for all t.
Fault Masking The existence of an undetectable fault may invalidates the test for another fault. Test pattern masking by undetectable faults a e a  e sa1 d c f b Fault a is undetectable, i.e., f(t) = fα(t) for all t.

27 Fault b can be detected by test vector 1101. (X10X)
g b  g sa0 1/0 0/1 In the presence of the undetectabe fault a, the test vector 1101 becomes invalidate for fault b. a c b d f 1 g b  g sa0 1/0 0/1

28 But fault b can also be detected by test vector 010X with fault a.
1 X g b  g sa0 1/0 0/1

29 Stuck-at Fault Collapsing
Fault Equivalence Fault Dominance Checkpoint Theorem

30 Fault Equivalence Distinguishing test Equivalent Faults
A test t distinguishes faults a and b if Equivalent Faults Two faults, a & b are said to be equivalent in a circuit , iff the function under a is equal to the function under b for any input combination (sequence) of the circuit. No test can distinguish between a and b In other words, test-set(a) = test-set(b) Fault Equivalence A test t is said to be able to distinguish between fault A and B if the outputs of the circuit are different under fault A and Fault B when we apply test t. So, two faults A and B are said to be equivalent in a circuit, if and only if the function under fault A is equal to the function under fault B for any input combinations of the circuits. In this case, no test can distinguish those two faults so that any test which detects one of them detects all of them. The equivalent faults can thus be grouped together as a class and only one representative fault should be used for the test generation to save the CPU time for the test generation & fault simulation process.

31 Equivalence Analysis of a Single Gate
AB C A sa1 B sa1 C sa1 A sa0 B sa0 C sa0 00 1 01 10 11 A C B Fault Equivalence Class (A s-a-0, B s-a-0, C s-a-0) Faults that can be ignored: A s-a-0, B s-a-0, or C s-a-0

32 Fault Equivalence of Faults on a Gate
AND gate: all s-a-0 faults are equivalent OR gate: all s-a-1 faults are equivalent NAND gate: all the input s-a-0 faults and the output s-a-1 faults are equivalent NOR gate: all input s-a-1 faults and the output s-a-0 faults are equivalent Inverter: input s-a-1 and output s-a-0 are equivalent input s-a-0 and output s-a-1 are equivalent x x s-a-0 s-a-0 same effect Fault Equivalence For AND gate, all the stuck-at-0 faults of any inputs and the output are equivalent. For OR gate, all the stuck-at-1 faults of any inputs and the output For NAND gate, all the stuck-at-0 faults of any inputs and the stuck-at-1 fault of the output are equivalent. For NOR gate, all the stuck-at-1 faults of any inputs and the output stuck-at-0 fault are equivalent. For Inverter, the input stuck-at-0 and the output stuck-at-1 faults are equivalent. The input stuck-at-1 and the output stuck-at-0 faults

33 Equivalence Fault Collapsing of a Single Gate
n+2 instead of 2(n+1) faults need to be considered for n-input gates s-a-1 s-a-0 s-a-1 s-a-1 s-a-0 s-a-0 s-a-1 s-a-0 Equivalent Fault Collapsing Collapsing a equivalence fault class into only one representative fault is called equivalence fault collapsing. For an n-input basic gate, there are totally 2n+2 stuck-at faults associated with its inputs and output. After we perform the equivalence fault collapsing, there are only n+2 faults needed to be considered as shown in the slide. s-a-1 s-a-0 s-a-1 s-a-1 s-a-0 s-a-0 s-a-1 s-a-0

34 Equivalent Fault Group
In a combinational circuit, many faults may form an equivalent group These equivalent faults can be found by sweeping the circuit from the primary outputs to the primary inputs Transitive Rule: When a == b and b == g, then a == g s-a-0 s-a-1 x x Fault Equivalence Two equivalent faults are detected by exactly the same tests. Because they will cause exactly the same faulty circuit behavior. Three faults shown in the slide are equivalent. s-a-1 x Three faults shown are equivalent !

35 Finding Equivalent Fault Groups
Construct a Graph A node is a fault When there is a link between two node, the two faults are equivalent a s-a-0 a s-a-0 Fault Equivalence Two equivalent faults are detected by exactly the same tests. Because they will cause exactly the same faulty circuit behavior. Three faults shown in the slide are equivalent. c s-a-1 x x b s-a-0 c s-a-1 x b s-a-0

36 Example of Finding Equivalent Fault Groups
Construct a bigger fault equivalent graph by sweeping the netlist from PO’s to PI’s a b d e c Fault Equivalence Two equivalent faults are detected by exactly the same tests. Because they will cause exactly the same faulty circuit behavior. Three faults shown in the slide are equivalent. b s-a-0 a s-a-0 d s-a-1 c s-a-1 e s-a-1

37 Limitation of Structural Analysis
b s-a-0 f s-a-1 d There is no rule to guarantee equivalence between faults of branches. It is a special case here b s.a.0 == f s.a.1 In general, they cannot be identified by simple structure analysis.

38 Fault Dominance Dominance Relation
A fault b is said to dominate another fault a in an irredundant circuit, iff every test (sequence) for a is also a test (sequence) for b. I.e., test-set(b) > test-set(a) No need to consider fault b for fault detection once a is detected Fault Dominance A fault B is said to dominate another fault A in an irredundant circuit, if and only if every test (sequence) for A is also a test (sequence) for B. In this case, there is no need to consider fault B for fault detection as long as the fault A is considered. is dominated by b Test(b) Test(a)

39 Fault Dominance AND gate: NAND gate: OR gate: NOR gate:
Output s-a-1 dominates any input s-a-1 NAND gate: Output s-a-0 dominates any input s-a-1 OR gate: Output s-a-0 dominates any input s-a-0 NOR gate: Output s-a-1 dominates any input s-a-0 Dominance fault collapsing: The reduction of the set of faults to be analyzed based on dominance relation Easier-to-test x x s-a-1 s-a-1 harder-to-test Fault Dominance The reduction of the set of faults to be analyzed based on the dominance relation is called dominance fault collapsing. For an AND gate, the output stuck-at-1 fault dominates any input stuck-at-1 faults. For an NAND gate, the output stuck-at-0 fault dominates any input stuck-at-1 For an OR gate, the output stuck-at-0 fault dominates any input stuck-at-0 For an NOR gate, the output stuck-at-1 fault dominates any input stuck-at-0

40 Dominance Analysis of a Single Gate
AB C A sa1 B sa1 C sa1 A sa0 B sa0 C sa0 00 1 01 10 11 A C B Fault Dominance Relations (C s-a-1 > A s-a-1) and (C s-a-1 > B s-a-1) Faults that can be ignored for test generation: C s-a-1

41 Complete Fault Collapsing of a Single Gate
Equivalence + Dominance For each n-input gate, we only need to consider n+1 faults during test generation s-a-1 s-a-0 s-a-1 s-a-0 s-a-1 s-a-0 Equivalent Fault Collapsing Collapsing a equivalence fault class into only one representative fault is called equivalence fault collapsing. For an n-input basic gate, there are totally 2n+2 stuck-at faults associated with its inputs and output. After we perform the equivalence fault collapsing, there are only n+2 faults needed to be considered as shown in the slide. s-a-1 s-a-0 s-a-1 s-a-0 s-a-1 s-a-0

42 Dominance Analysis for a Group of Faults
Construct a dominance graph A node is a fault When fault a dominates fault b, then an arrow is pointing from a to b a s-a-1 a s-a-1 c s-a-0 x x b s-a-1 c s-a-0 x b s-a-1

43 Example of Finding Dominant Fault Groups
Construct a bigger fault equivalent graph by sweeping the netlist from PO’s to PI’s a b d e c a s-a-1 c s-a-0 Fault Equivalence Two equivalent faults are detected by exactly the same tests. Because they will cause exactly the same faulty circuit behavior. Three faults shown in the slide are equivalent. b s-a-1 d s-a-0 e s-a-0

44 Fault Collapsing Flow Equivalence Start
Sweeping the netlist from PO to PI To find the equivalent fault groups Equivalence analysis Sweeping the netlist To construct the dominance graph Dominance analysis Discard the dominating faults Select a representative fault from each remaining equivalence group Generate collapsed fault list Done

45 Checkpoint Theorem Checkpoints Theorem
Checkpoints = primary inputs + fanout branches In a combinational circuit, any test which detects all single stuck faults on all checkpoints detects all single faults in the circuit. Checkpoint Theorem Because the fault collapsing based on the prime faults is difficult to do. There is a simple approach called the Checking Theorem which can provides a fairly good reduction in the test set. In a irredundant combinational circuit, the set of checkpoints consists of the primary inputs and all the fanout branches. In a fanout-free circuit, the set of checkpoints consists of the primary inputs alone. The Theorem says that any test set which detects all single (multiple) stuck-at faults on check points will detect all single (multiple) stuck faults. The faults marked by X are checkpoint faults.

46 Why Inputs + Branches Are Enough ?
Sweeping the circuit from PO to PI to examine every gate and replace output faults by input faults until a PI or branch is met. Based on an reversed levelized order: EDABC If a branch is met, start the above process from the stem again. In this example, checkpoints are marked in solid blue. A PO branch faults are ignored, since they are represented by gate output faults, e.g., D’s output D B E C

47 An Example of Fault Collapsing + Checkpoint
10 checkpoint faults a s-a-0 == d s-a-0, c s-a-0 == e s-a-0 b s-a-0 > d s-a-0, b s-a-1 > d s-a-1 Note that the branch dominance is not obvious. 6 out of 10 faults are enough. a Fault Collapsing The set of checkpoint faults can be further reduced by using the equivalence and dominance relations. In the example, there are 10 checkpoint faults. After the equivalence and dominance checking, 6 tests are enough for the complete coverage of all faults. d f h b g e c


Download ppt "Chapter 3 Fault Modeling"

Similar presentations


Ads by Google