Professional Documents
Culture Documents
Fundamental Algorithms For System Modeling, Analysis, and Optimization
Fundamental Algorithms For System Modeling, Analysis, and Optimization
Fundamental Algorithms For System Modeling, Analysis, and Optimization
Component
Vc VE X
...
...
OUTPUTS
3 4
Observability
A system with internal state x is called observable if the state can be determined by observing the outputs of the system. E.g., for circuits, observe the 0-1 value of an internal node from system outputs.
INPUTS
Propagation (observability)
d q
FAB
clk
Any input or internal wire in circuit can be stuck-at-1 or stuck-at-0 Single stuck-at-fault model: In the faulty circuit, a single line/wire is S-a-0 or S-a-1 Multiple stuck-at fault model: In the faulty circuit any subset of wires are S-a-0/S-a-1 (in any combination)
7
Outline of Topics
Basics & Terminology Single stuck-at faults and path sensitization Boolean Satisfiability-based technique
10
Scan-chain
Scan Flip-flops
Scan-chain
inputs
Combinational Logic
outputs
Outline of Topics
Basics & Terminology Single stuck-at faults and path sensitization Boolean Satisfiability-based technique
12
x1 x2 x3
G a b a s-a-1 G s-a-1 Z = ? Z = ?
This model is used because it has been found to be statistically correlated with defect-free circuits
13
x1 x2 x3
This model is used because it has been found to be statistically correlated with defect-free circuits
14
15
Fault Activation
x2 x3 x1 x4
G1 h x 0/1 G2
G3 G4
0/1 G5 f 0/1
( x 2 x3 )
The condition is necessary but not sufficient. Error signal must be propagated to output (must affect the output value).
16
Fault Propagation
The error signal must be propagated along some path from its origin to an output
x2 x3 x1 x4 h s-a-1, for h to be 0, need x2 = x3 = 0 ( x 2 x3 ) G1 h x 0/1 G2 G3 G5 G4 f
17
Fault Propagation
The error signal must be propagated along some path from its origin to an output
x2 x3 x1 x4 h s-a-1, for h to be 0, need x2 = x3 = 0 G1 h x 0/1 G2 1 G3 G4 0 0/1 G5 f 0/1
( x 2 x3 )
Only one path G3, G5 In order to propagate an error through AND gate G3, other input x1 = 1. To propagate through G5, need G4 = 0, x1 + x4
18
Sensitization Example
D A B C G2 G1 x h s-a-1 G4 G5 f1 G6 f2
G3 E
h s-a-1 Activate?
21
Sensitization Example
D A B C G2 G1 x h G5 f1 G6 f2 G3 E G4
22
Sensitization Example
D A B C G2 G1 x h G5 f1 G6 f2 G3 E h s-a-1 To generate h = 0, need A = B = C = 1 Have a choice of propagating through G5 or via G6. Propagating through G5 requires G2 = 1 A = D = 0 Contradiction Propagating through G6 requires G4 = 1 C = 1, E = 0. A valid test vector is ABCE
23
G4
Line Justification
B H A F G3 1 G2 1 C D x 0 E s-a-1 G1
G4
E s-a-1 E = 0 C = D = 1 to propagate through G1. To propagate through G4, need G2 = G3 = 1 How do we justify these values?
24
Line Justification - 2
B H A F G3 1 G2 1 C D x 0 E s-a-1 G1 Attempt to line justify G2 = G3 = 1 G3 = 1 possible if A = F = 1 or B = H = 1 If A = C = 1, then G2 = 0. G3 = 1 B = H = 1 G2 = 1 needs A = 0 or F = 0 Tests are ABCDEH, BCDEFH
25
G4
Redundancy
Not all faults result in failures! Existence of a fault does not change the functionality of a circuit redundant fault
x1 x2
s-a-1
f x1 x2 f
f = x1 + x1 x2
f = x1 + x2
A test generation algorithm is deemed complete if it either finds a test for any fault or proves its redundancy, upon terminating.
26
G3 G4 G5
G6 f
A B
For G4 = 1 either its top input = 0 or E = 0 If G1 = 0 fault is not activated (dont want to force G1 = 0) If E = 0 (B must be 1) G5 = 0 Inconsistency
27
Completeness of SPS? - 2
G2 C A B E d x
s-a-0
G3 G4 G5
G6 f
Propagation along G4, G6 also results in inconsistencies by symmetric argument Is there no test? How about C = E = 1?
28
G2 G3 G4 G5
Error propagates down two paths G3, G6 and G4, G6 to output (G3, G4 values are correlated) Its natural to work backwards (justifying) and forwards (propagating) from point of fault activation but this focuses on sensitizing a single path Attempting to sensitize a single path will not find a test for this fault
29
Outline of Topics
Basics & Terminology Single stuck-at faults and path sensitization Boolean Satisfiability-based technique
31
CIRCUIT-SAT
ATPG
SAT
32
f , s a 1
Does there exist a value assignment to the primary inputs which distinguishes the faulty and correct circuits ?
33
if t = 1?
ATPG Circuit C
35
a=b=c=1
a b c d e
f g
(b f )( c f )(b c f ) ( d g )( e g )( d e g ) ( a h )( f h )( a f h )
i
( h i )( g i )( h g i ) (i )
37
38
39