Uploaded by Srijan Saxena

Presentation on Fault Detection

advertisement
Fault Detection in Digital
Circuits
Presented by
Professor Haranath Kar
Department of Electronics and Communication Engineering
Motilal Nehru National Institute of Technology Allahabad
Allahabad-211004, India
Types of faults
• Digital circuits may suffer two classes of faults:
a) Temporary faults:
(Occur due to noise and the nonideal transient behaviour of switching
components)
b) Permanent faults:
(Occur due to component failures)
2
Transient Phenomenon
• Consider the function
𝑧 𝑥𝑦 00
0
1
01
11
10
1→0
1
1
1→0
1
1
∗1→0→1
0→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
0
1
01
11
10
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
0
1
0
0
1
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.
How many faults are getting tested?
• Fault coverage = (Number of detected faults/Total number of faults)
100 %
11
Fault Models
To reduce the complexity of test generation, one needs to
model the actual defects that may occur in a chip with 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 faultdetection tests
𝑚
𝐴
𝑛
𝐵
1
𝑝
2
𝐶′
𝑞
𝑓 = 𝐴𝐵 + 𝐶′
Circuit to be tested
Inputs
𝐴𝐵𝐶
𝒇
Outputs in presence of faults
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
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
𝑓
𝑓
𝑓
𝑓
𝑓
𝑓
Truth Table
𝑓
𝑓
17
Fault Table
Inputs
𝐴𝐵𝐶
Possible faults
𝑚 ,𝑛 ,𝑝
000
𝑞
𝑚
𝑛
𝑝 ,𝑞
1
001
1
010
1
011
1
100
1
1
101
1
1
110
111
Essential Tests: {3, 5, 7}
1
Minimal Complete Test Set: {3, 5, 7, 0 or 2 or 4}
18
Path sensitizing method
𝑥
𝑦
𝑎
2
𝑐
Input
Other input variables required to
sensitize the path
Test nos.
Faults
detected
𝑎𝑑𝑒
𝑥=0
𝑦 = 1, 𝑧 = 0
2
𝑎 ,𝑑 , 𝑒
𝑥=1
𝑦 = 1, 𝑧 = 0
6
𝑎 ,𝑑 , 𝑒
𝑦=0
𝑥 = 1, 𝑧 = 0
4
𝑏 ,𝑑 , 𝑒
𝑦=1
𝑥 = 1, 𝑧 = 0
6
𝑏 ,𝑑 , 𝑒
𝑧=0
𝑥=𝑦=0
or, 𝑥 = 0, 𝑦 = 1
or, 𝑥 = 1, 𝑦 = 0
0 or 2 or 4
𝑐 ,𝑒
𝑧=1
𝑥=𝑦=0
or, 𝑥 = 0, 𝑦 = 1
or, 𝑥 = 1, 𝑦 = 0
1 or 3 or 5
𝑐 ,𝑒
1
𝑏
𝑑
𝑧
Path
Circuit
𝑒
𝑏𝑑𝑒
𝑓
𝑐𝑒
Essential Tests: {2, 4, 6}
Minimal Complete Test Set: {2, 4, 6, 1 or 3 or 5}
19
Boolean Difference
• If 𝒇(𝒙) = 𝒇 𝒙𝟏 , … , 𝒙𝒊 , … , 𝒙𝒏 , then
𝒅 𝒇(𝒙)
𝒅𝒙𝒊
= 𝒇 𝒙𝟏 , … , 𝒙𝒊 , … , 𝒙𝒏 ⊕ 𝒇 𝒙𝟏 , … , 𝒙𝒊 , … , 𝒙𝒏
= 𝒇 𝒙𝟏 , … , 𝒙𝒊
𝟏 , 𝟎, 𝒙𝒊 𝟏 , … , 𝒙𝒏
⊕ 𝒇 𝒙𝟏 , … , 𝒙𝒊
𝟏 , 𝟏, 𝒙𝒊 𝟏 , … , 𝒙𝒏
• If 𝒇(𝒙) = 𝒙𝟏 𝒙𝟐 + 𝒙𝟑, then
𝒅 𝒇(𝒙)
𝒅𝒙𝟏
•
•
= 𝟎 . 𝒙𝟐 + 𝒙 𝟑 ⊕ 𝟏 . 𝒙𝟐 + 𝒙 𝟑 = 𝒙 𝟑 ⊕ 𝒙 𝟐 + 𝒙 𝟑 = 𝒙 𝟐 𝒙 𝟑
𝒅 𝒇(𝒙)
𝒅𝒇(𝒙)
𝒅𝒙𝒊
𝒅 𝒇(𝒙)
𝒅𝒙𝒊
𝒅𝒙𝒊
𝒅 𝒇(𝒙)
𝒅𝒙𝒊
20
Fault Detection using Boolean Difference
• Set of tests which detect s-a-0 fault
𝒅 𝒇(𝒙)
𝒊 𝒅𝒙
𝒊
• Set of tests which detect s-a-1 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
Download