Professional Documents
Culture Documents
Ictest2 PDF
Ictest2 PDF
Ictest2 PDF
Testability
Fault Modeling
Outline
Vocabulary: defects, errors and faults
Functional vs. structural testing
Fault models
Single stuck-at fault
Fault equivalence
equivalence collapsing
Fault dominance
Additional fault models
Exercise Problems
VDD
A
C
Defect:
B
T2
T1
short to ground
Fault models
Real defects (and the variations thereof) are too numerous and
diverse, and still may differ in small respects, however preventing
possible thorough analysis
Bridge the gap between a physical cause and a functional effect
cause in the analog domain manifestation in the digital domain
Testing can not address any sort of defect, a subset of target fault
must be derived. The testing algorithms will target to detecting this
subset
generation and evaluation of test vectors
layout level
geometric information
accurately reflects reality, but too complex
transistor level
circuit description
modeled for analog circuit testing; transistors, R, L, C faults
feasible for small circuits
register-transfer
level
behavioral level
behavioral description
faults at this level no longer have obvious correlation with
manufacturing defects
across levels
an AND
not a NAND
not an OR
not a NOR
test is and AND, and not any of the others. The number of Boolean
functions that can be generated with a 10-input gate equals 21024
1
0
1
0
1
0
1
0
1
0
Functional test of a 10-input AND gate would demand testing for all input
patterns, i.e. 210
an AND
not a NAND
not an OR
not a NOR
The full functional test must allow to conclude that the gate under test is
and AND, and not any of the others. The number of Boolean functions that
can be generated with a 10-input gate equals 21024
The full functional test of the M6800 8-bit microprocessor (1975, 2MHz, 75 instructions, 7000
transistors) was estimated to take about
two million years !
Function A
out
Function B
in1
in2
out
0
1
1
g
e
s-a-0
z
0 (1)
f
1 (0)
notice that the stem (b) and fanout branches (e and f) of a net are
considered independently
preliminary remark: in the rest of this class, we will apply stuck-at models one abstraction level
higher, i.e. RTL or gate-level
A
Z
B
controlling value some values which are present at one gate input determine
on their own the output value; e.g. A=0 is a cont
A
Z
B
controlling value some values which are present at one gate input determine
on their own the output value; e.g. A=0 is a controlling value
an input vector can detect a specific set of faults
sensitized path some values which are present at one gate input, e.g. B, let the
value of the other input, e.g. A propagate to the output; if a fault is present
stucking A, than it can be detected with an appropriate input vector; the path is
sensitized to the fault
the minimum set of vectors needed to test the circuit is smaller then the
exaustive number of input vectors
1
Z
controlling value some values which are present at one gate input determine
on their own the output value; e.g. A=0 is a controlling value
an input test vector can detect a specific set of faults
sensitized path some values which are present at one gate input, e.g. B, let the
value of the other input, e.g. A propagate to the output; if a fault is present
stucking A, than it can be detected with an appropriate input vector; the path is
sensitized to the fault
the minimum set of vectors needed to test the circuit is smaller then the
exaustive number of input vectors
s-a-0
controlling value some values which are present at one gate input determine
on their own the output value; e.g. A=0 is a controlling value
an input test vector can detect a specific set of faults
sensitized path some values which are present at one gate input, e.g. A, let the
value of the other input, e.g. B propagate to the output; if a fault is present
stucking B, than it can be activated with an appropriate input vector, and
propagate to the output; the path is sensitized to the fault
the minimum set of vectors needed to test the circuit is smaller then the
exaustive number of input vectors
A
Z
B
controlling value some values which are present at one gate input determine
on their own the output value; e.g. A=0 is a controlling value
an input test vector can detect a specific set of faults
sensitized path some values which are present at one gate input, e.g. A, let the
value of the other input, e.g. B propagate to the output; if a fault is present
stucking B, than it can be activated with an appropriate input vector, and
propagate to the output; the path is sensitized to the fault
the minimum set of vectors needed to test the circuit is smaller then the
exhaustive number of input test vectors
0
0
G1
True response
Faulty response
e
0
G3
1
1
f
G2
1 (0)
1 (0)
s-a-0
#: number of
Fault equivalence Two faults f1 and f2 are equivalent if all tests that
detect f1 also detect f2
The two faulty functions are indistinguishable iff the faults have the same
set of tests:
f
(
VfV
)
()0
1
2
: XOR
a
b
sa0 sa1
sa0 sa1
Equivalence rules
Fault collapsing
All faults in a circuit are partitioned into disjoint equivalence sets. All
faults in an equivalence set are equivalent
Selecting one fault in each equivalence set is called fault collapsing
equivalent
collapsed set
equivalence set
fault
fault collapsing
s
e
t
o
f
c
o
l
l
a
p
s
e
d
f
a
u
l
t
s
c
o
l
l
a
p
s
e
r
a
t
i
o
=
s
e
t
o
f
a
l
l
f
a
u
l
t
s
sa1 sa0
equivalence
collapsing layer 3:
sa1 sa0
equivalence
collapsing layer 2:
sa0
sa1
sa1 sa0
e
sa1
sa0
sa0 sa1
c
g
z
h
sa1 sa0
f
sa1 sa0
sa1 sa0
1
0
1
8
collapse ratio = =
0
.5
5
5
Fault dominance
If all tests of fault F1 detect another fault F2, then F2 is said to
dominate F1
All tests of F2
F1
s-a-1
001
F2
s-a-1
110
010
000
101
011
100
F2 dominates F1
sa0 sa1
z
sa1
s-a-1
s-a-1
s-a-1 s-a-0
Checkpoints
Checkpoint theorem: A test set that detects all single (multiple) stuck-at
faults on all checkpoints of a combinational circuit, also detects all single
(multiple) stuck-at faults in that circuit
a
g
e
f
c
Checkpoints ( ) = 5
h
sa1 sa0
collapsing layer 3:
sa1 sa0
collapsing layer 2:
sa0
sa1
sa1 sa0
e
sa1
sa0
sa0 sa1
c
g
z
h
f
sa1 sa0
sa1 sa0
sa1 sa0
sa1 sa0
collapsing layer 3:
sa1 sa0
collapsing layer 2:
sa0
sa1
sa1 sa0
e
sa1
sa0
sa0 sa1
c
g
z
h
sa1 sa0
f
sa1 sa0
sa1 sa0
9
=0
.5
1
8
collapse ratio =
Checkpoints
Checkpoint theorem: A test set that detects all single (multiple) stuck-at
faults on all checkpoints of a combinational circuit, also detects all single
(multiple) stuck-at faults in that circuit
a
g
e
f
c
Checkpoints ( ) = 5
h
s-a-1
s-a-1
F1
Z=AB
F3
Y=A+B
redundant faults
do not propagate
to the output
vector 11 detects
multiple stuck-at
faults
1 (0)
1
B 1
1 s-a-0
0 (1)
Transistor-level faults
The MOS transistor is considered to operate as an ideal switch,
which may be perturbed in its correct operation by two types of
faults:
Stuck-open: one single transistor is permanently stuck in the open state,
where is can not conduct any current
Stuck-short: one single transistor is permanently shorted irrespective of its
gate voltage, and thus can not be set into a non current-conducting state
Stuck-open example
Stuck-open: transistor cannot be placed into current conducting state
Vector 1, time = t:
initialization vector
VDD
T3
vector 2
time=t+1
vector 1
time=t
Z
B
T2
T1
Stuck-short example
Stuck-short: impossible to turn transistor out of current conducting state;
thus, in some configurations of the input, a short is created,
which should not be the case in CMOS
T4
IDDQ path in
faulty circuit
T3
Z
vector 1
time=t
B
T2
T1
Bridging faults
A bridging fault represents a short between a group of signals
D
E
A+C
Redundant fault any fault that does not modify the input-output function
of the circuit is called redundant fault
Untestable fault
a fault for which no test can be found is called an
untestable fault; redundant faults are untestable faults
A
B
s-a-1
AB
AB
B
The circuit after removing the redundant fault