Fault Detection
Fault Detection
Fault Detection
Circuits
Presented by
Professor Haranath Kar
2
Transient Phenomenon
• Consider the function
1→0
𝑧 𝑥𝑦 00 01 11 10
0 1 1→0 ∗1→0→1
1 0→1
1 1 1
0→1
(* if 𝒑𝒅𝟐 𝒑𝒅𝟏
3
Glitch and Hazard
• The output of a combinational circuit may make a transition even
though the patterns applied at its inputs do not imply a change. These
unwanted switching transients are called “glitches”.
• A circuit in which a “glitch” may occur under appropriate inputs is
said to have a “hazard”.
4
Static Hazards
• Static-1 Hazard 𝟏 𝟏
Output pattern: 𝟏 → 𝟎 → 𝟏
(may occur in two-level AND-OR realization) 𝟎
• Static-0 Hazard
𝟏
Output pattern: 𝟎 → 𝟏 → 𝟎
(may occur in two-level OR-AND realization) 𝟎 𝟎
5
Static Hazards (continued…)
• A static hazard is a situation in which a single input-variable change
might cause a momentary incorrect output, when in fact the output
should remain constant.
• A minimal realization of a digital circuit might not be hazard-free.
6
Elimination of Static Hazards
• Consider the function 𝒇 𝒙, 𝒚, 𝒛 = ∑(𝟐, 𝟑, 𝟓, 𝟕)
𝑥̅
𝑧 𝑥𝑦 00 01 11 10 𝑦
0 1 𝑥
𝑧
1
1 1 1 𝑦
𝑧
𝑓 𝑥, 𝑦, 𝑧 = 𝑥̅ 𝑦 + 𝑥𝑧 + 𝑦𝑧
• Static hazard can be removed by including the prime implicant 𝒚𝒛 in the expression
for ‘𝒇’.
7
Dynamic Hazards
• Dynamic hazards are a consequence of multiple static hazards in a multilevel circuit.
1 1 1 1
0 0 0 0
The necessity of eliminating hazards confronts the designer with two conflicting
considerations.
1. Simplicity of the circuit: Minimal functions are most vulnerable to hazards.
2. Reliability of the circuit: To avoid hazards, it is necessary to add some redundant gates.
8
Why do we require testing?
Various types of errors can occur during the manufacturing process.
• Errors during the design phase
• Bugs during synthesis (in the CAD tools used)
• Faults during fabrication
There are billions of transistors in today's chips.
• Possibility of faults creeping in is also significant.
Testing is used to detect the presence of faults in a given circuit.
• No amount of testing can ensure that the circuit is free of faults
• By testing, we can boost our confidence in the correct working of the circuit.
9
When to do testing?
Testing can be done at various levels.
• Chip level: when chips are manufactured
• Board level: when chips are assembled on the boards
• System level: when several boards are assembled together
Rule of thumb:
• Early detection of a fault reduces the cost of testing.
• It is 10 times more expensive to test a digital system as we move to the next
higher level (Chip → Board → System).
10
Problem in Fault Detection
• The number of possible physical defects in the circuit may be excessive.
• Solution: Study the physical defects and construct some fault models. A fault
model identifies the targets for testing. A fault model makes the analysis
possible.
11
Fault Models
12
Structural Fault Models
• Structural fault models
In structural testing, we need to ensure that the interconnections in the given
structure are fault-free and are able to carry both 0 and 1 signals.
• Stuck-at 0 (s-a-0) fault
• Stuck-at 1 (s-a-1) fault
A stuck-at fault does not always indicate that the line is shorted to ground or a
power line. It could serve as a model for a variety of other cuts and shorts, both
internal and external to a gate.
13
Switch-level Fault Models
• Switch-level fault models
• Switch-level fault modeling is concerned with faults in transistors and
interconnects in a switch-level description of a circuit.
• This fault model has primarily been used with MOS technologies, specifically
CMOS technology.
• Stuck-open fault: A transistor has become permanently nonconducting due to some
defect.
• Stuck-on fault: A transistor has become permanently conducting due to some defect.
14
Bridging Fault Models
Two or more normally distinct lines are shorted together.
Input bridging: Can form wired-logic.
Feedback (Input-to-output) bridging: Can cause oscillations or
latching (additional memory)
15
Fault detection methods for combination
circuits
Fault table method
Path-sensitizing method
Boolean difference method
16
Derivation of minimal set of fault-
detection tests
Inputs 𝒇 Outputs in presence of faults
𝑚 𝐴𝐵𝐶
𝐴 𝑓 𝑓 𝑓 𝑓 𝑓 𝑓 𝑓 𝑓
1
𝐵 𝑛 000 1 1 1 1 0 1 1 1 1
001 0 0 0 0 0 0 0 1 1
𝑝 010 1 1 1 1 0 1 1 1 1
2 011 0 0 0 0 0 1 0 1 1
𝐶′ 𝑓 = 𝐴𝐵 + 𝐶′
𝑞 100 1 1 1 1 0 1 1 1 1
101 0 0 0 0 0 0 1 1 1
110 1 1 1 1 1 1 1 1 1
111 1 0 0 0 1 1 1 1 1
= 𝒇 𝒙𝟏 , … , 𝒙𝒊 𝟏 , 𝟎, 𝒙𝒊 𝟏 , … , 𝒙𝒏 ⊕ 𝒇 𝒙𝟏 , … , 𝒙𝒊 𝟏 , 𝟏, 𝒙𝒊 𝟏 , … , 𝒙𝒏
20
Fault Detection using Boolean Difference
• Set of tests which detect s-a-0 fault
𝒅 𝒇(𝒙)
𝒊 𝒅𝒙
𝒊
21
Example
22
Example (continued…)
• To detect s-a-0 fault at line ‘ ’ :
𝒅𝒇
𝒙𝟏 𝒅𝒙𝟏
=𝟏
⇒ 𝒙𝟏 𝒙𝟐 𝒙𝟑 =1
Test no. : 6
• To detect s-a-1 fault at line ‘ ’ :
𝒅𝒇
𝒙𝟏 𝒅𝒙 = 𝟏
𝟏
⇒ 𝒙𝟏 𝒙𝟐 𝒙𝟑 =1
Test no. : 2
23
Example (continued…)
• To detect s-a-0 fault at line ‘ ’ :
𝒅𝒇
𝒈 𝒅𝒈 = 𝟏
⇒ ( 𝒙𝟏 𝒙𝟐 ) . 𝒙𝟑 =1
Test no. : 6
• To detect s-a-1 fault at line ‘ ’ :
𝒅𝒇
𝒈𝒅𝒈 = 𝟏
⇒ (𝒙𝟏 + 𝒙𝟐 ) 𝒙𝟑 = 𝟏
Test no. : 0 or 2 or 4
24
Thank You