Fundamental Algorithms For System Modeling, Analysis, and Optimization
Fundamental Algorithms For System Modeling, Analysis, and Optimization
Integrated Circuits
Faults: manufacturing defects or electrical effects
Control Systems (e.g. chemical process plants)
Faulty sensors or actuators, operator error, mechanical failures
Cyber-Physical Systems (e.g., cars, spacecraft)
Faulty sensors/actuators, mechanical failures,
2
Fault Detection and Diagnosis
Propagation
(observability)
OUTPUTS
INPUTS
Vc VE
Component
X
...
...
Activation
(controllability)
Overall System
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.
4
Manufacture Testing in ICs
?
Apply a sequence of input vectors to a circuit
Observe the output response and compare the
response with a precomputed or expected
response
Any discrepancy is said to constitute an error, the
cause of which is a physical defect
a 0 d
b
1
FAB
s clk
A a b
B f1
C f2
D
Outline of Topics
Basics & Terminology
8
Formal Problem Definition
Given a combinational circuit on n variables x1, x2, , xn
with m outputs f1, f2, , fm
Let g be an internal net that is stuck at 0
10
[Murray & Hayes, IEEE Computer, 1996]
Solution 2: Add scan logic
add additional state to flip-flops
(15 - 20% area overhead)
11
Outline of Topics
Basics & Terminology
12
Single Stuck-At Faults
G
x1
a
x2 Z = x1 x2 + x2 x3
b
x3
x1 G
a a s-a-1 Z = ?
x2
x3 b G s-a-1 Z = ?
G
x1
a
x2 Z = x1 x2 + x2 x3
b
x3
x1 G
a a s-a-1 Z = x1 + x2x3
x2
x3 b G s-a-1 Z = x2x3
x2 h s-a-1
x
x3
x1
f
x4
15
Fault Activation
x2 G1 h
x 0/1
x3 G3 0/1
x1 G5
G2 f
G4
0/1
x4
16
Fault Propagation
The error signal must be propagated along
some path from its origin to an output
x2 G1 h
x 0/1
x3 G3
x1 G5
G2 f
G4
x4
17
Fault Propagation
The error signal must be propagated along
some path from its origin to an output
x2 G1 h
x 0/1
x3 G3 0/1
x1 G5
G2 1 f
G4
0/1
x4 0
19
20
Sensitization Example
G2 G5
D
f1
A G1
B x G6
C h s-a-1 f2
G3 G4
E
h s-a-1
Activate?
21
Sensitization Example
G2 G5
D
f1
A G1 h
B x G6
C
f2
G3 G4
E
h s-a-1
Activate: To generate h = 0, need A = B = C = 1
Propagate?
22
Sensitization Example
G2 G5
D
f1
A G1 h
B x G6
C
f2
G3 G4
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
Line Justification
B G3
H
A
F 1
G2 G4
1
C
D x
0 E s-a-1 G1
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 G3
H
A
F 1
G2 G4
1
C G1
D x
0 E s-a-1
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
Redundancy
Not all faults result in failures!
Existence of a fault does not change the
functionality of a circuit redundant fault
x1
s-a-1 f
x x1 f
x2 x2
f = x1 + x1 x2 f = x1 + x2
26
Completeness of SPS method ?
G2
C
G3 G6
G1 d
A f
x G4
B s-a-0
G5
E
d s-a-0 A = B = 1
Propagate along G3, G6 C = 1
G2 = G4 = G5 = 1
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
G3 G6
d f
A x G4
B s-a-0
G5
E
1
G2
1
0/1
1 d 1/0 G3 G6 f
x
1 s-a-0 G4 1/0
0/1
1 G5
1
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
D 0 D D D 0
0 1 0
31
CIRCUIT-SAT
ATPG SAT
32
The ATPG problem
Circuit C
A logic circuit
1 a 1
h A fault point
0 b f
0(1)
0 c A fault value
1 d s-a-1
i
g 0(1)
f , s a 1
0 e 1
33
a
h
b f
c
d g i
e
34
ATPG as a CIRCUIT-SAT problem
Can we find an input value in which the faulty circuit and
the good circuit differ?
hf
if
1
a t = 1?
h
b f
c
d g
e
i Circuit CATPG
35
Given a formula, f :
Defined over a set of variables, V (a,b,c)
Comprised of a conjunction (AND) of clauses (C1,C2,C3)
Each clause is a disjunction (OR) of literals of the
variables V
Does there exist an assignment of Boolean values to
the variables, V which sets at least one literal in each
clause to 1 ?
C1 C2 C3
36
CIRCUIT-SAT as a SAT problem
A set of clauses representing the functionality of each
gate
A unit literal (i) clause asserting the output to be 1
a (b f )( c f )(b c f )
h
b f ( d g )( e g )( d e g )
c ( a h )( f h )( a f h )
d g i ( h i )( g i )( h g i )
e
(i )
37
38
Current Status on Manufacture Test
Practical approach to test: use scan achieve 99%+
stuck-at coverage
Single stuck-at-fault testing for combinational logic is a
``solved problem
Despite the fact that it is NP-complete
After 20+ years of research
Results applied to combinational-equivalence
checking
39