Fault Modeling
Outline
Vocabulary: defects, errors and faults Functional vs. structural testing Fault models Single stuck-at fault Fault equivalence
equivalence collapsing
!"ercise #roblems
Error $rong output signal produced by a defective system Fault representation of a defect at t%e abstracted function level
functional level
V((
Defect:
s%ort to ground
Fault: stuck-at logic ) Error: if *+ and ,*+ t%en -*+ correct output is -*)
&+ 1
fault model a collection of identical electrical be%aviors caused by various defects are gat%ered into a model t%at is used for simulation of large systems
Fault models
/eal defects 0and t%e variations t%ereof1 are too numerous and diverse, and still may differ in small respects, %o$ever preventing possible t%oroug% analysis ,ridge t%e gap bet$een a p%ysical cause and a functional effect
cause in t%e analog domain manifestation in t%e digital domain
&esting can not address any sort of defect, a subset of target fault must be derived. &%e testing algorit%ms $ill target to detecting t%is subset
generation and evaluation of test vectors
geometric information accurately reflects reality, but too comple" circuit description modeled for analog circuit testing2 transistors, /, 3, - faults feasible for small circuits structural description 0netlist of gates1 stuck-at faults are t%e most popular models at t%is level bridging faults, delay faults also apply at t%is level be%avioral description faults at t%is level no longer %ave obvious correlation $it% manufacturing defects
transistor level
register-transfer level
be%avioral level
across levels
do not fit into any of t%e previous level e.g. quiescent current 04((51
Scaling and complexity testing issue 6ur testing problem can be devised as depicted
8
$e kno$ t%e functionality, t%e topology 0netlist1 $e suspect some defects may disrupt correct circuit operation but 7 we can only access inputs (primary inputs) and outputs (primary outputs), i.e. no internal node
test is and '(, and not any of t%e ot%ers. &%e number of ,oolean functions t%at can be generated $it% a +)-input gate equals .+).:
+ ) + ) + ) + ) + )
These are the only valid conclusions that may e ta!en, since the output violates the truth ta le of "#"D and $%
&%e full functional test must allo$ to conclude t%at t%e gate under test is and '(, and not any of t%e ot%ers. &%e number of ,oolean functions t%at can be generated $it% a +)-input gate equals .+).:
&%e full functional test of t%e ;<=)) =-bit microprocessor 0+>?@, .;AB, ?@ instructions, ?))) transistors1 $as estimated to take about 7 t$o million years C
Structural test do not focus on t%e fonction implemented by a circuit, but on its structure
gates interconnects netlist
Function # out Function & in+ in. out
&%e focus on t%e structure, makes it possible to develop algorit%ms t%at are independent of t%e design. &%ese algorit%ms are based on fault models. Several $ill be presented in t%is course.
( ' (
'
g e
(
b
' (()
s-a-) B
'
f c %
( (') '
notice t%at t%e stem 0b1 and fanout branc%es 0e and f1 of a net are considered independently
preliminary remark: in t%e rest of t%is class, $e $ill apply stuck-at models one abstraction level %ig%er, i.e. /&3 or gate-level
G ,
' ( ,
G
s-a-)
a test t t%at activates fault f t%e error t%at %as been activated must propagate to an observation point, a primary output or a latc% $%ere it is memoriBed in order to propagate to an observation point, all off-pat% gate inputs must be set to non-controlling values
) )
6nly vector ++ $ill activate t%e fault: +), )+, )) $ill not.
9+
e ) f s-a-) + 0)1 9H
+ 0)1
+ +
9.
&%is number can gro$ to a significantly large value2 as $e $ill see in a later lecture, test vectors need to be found for every fault reducing t%e number of faults $ould be beneficial
Fault equivalence &$o faults f+ and f. are equivalent if all tests t%at detect f+ also detect f.
&%e t$o faulty functions are indistinguishable iff t%e faults %ave t%e same set of tests:
f1 (V ) f 2 (V ) = 0
--: M6/ for all .n V vectors
a b
' '( gate %as kJ+ s-a-) faulty inputs and output
sa) sa+ B
!ac% s-a-) transforms t%e ' '( gate output to a constant + value, regardless of t%e input test vector &%us,
)
E*uivalence rules
Fault collapsing
ll faults in a circuit are partitioned into disNoint equivalence sets. ll faults in an equivalence set are equivalent
fault collapsing
-ircuit must be leveliBed, i.e. t%e level to $%ic% eac% gate is participating must be defined, $%ic% s%ould guarantee t%at every gate inputs are defined before t%e gate output is processed all t%e gates belonging to one layer are processed at a time !quivalence collapsing rules are applied to eac% gate ,oolean gate %as several faults located at its inputs and output
only one of t%e faults determined to be equivalent is kept a fault located at t%e output of t%e gate is kept, if it is determined to be equivalent to faults located at any input of t%e gate
sa' sa( a
sa( sa'
sa' sa(
collapse ratio *
+) * ).@@@ +=
Fault dominance
ll tests of F.
F+ s-a-+
F. s-a-+
))+ ++) ))) +)+ +)) )++ )+) ll tests of F+ 0single1 also detects F.
F* dominates F'
* O++P
list of vectors t%at detect ,) * O++P list of vectors t%at detect G+ * O++P list of vectors t%at detect
+
* O)+P
, and ,+
Fault dominance collapsing procedure t%e number of single stuck-at faults to be modeled for a ,oolean gate is equal
to nJ+, 4.e. number of inputs plus one t%e algorit%m proceeds from output t%roug% t%e netlist to t%e inputs +. receipt for collapsing t%e faults of a gate by dominance +. remove all faults from output .. for all inputs, keep one type: s-a-+ for '( and ' '(, s-a-) for 6/ and '6/ H. to any one of t%e inputs add one fault of t%e ot%er type 0s-a-) for '(, ' '(, s-a-+ for 6/, '6/1 +. '6&, buffer, $ire: remove output faults, keep bot% fault types on input .. no collapsing is possible for fanout
(ominance fault collapsing in a H-input '( gate
s-a-+ s-a-+
s-a-+ s-a-)
.hec%points
#rimary inputs and fanout branc%es of a combinational circuit are called c%eckpoints -%eckpoint t%eorem: test set t%at detects all single 0multiple1 stuck-at faults on all c%eckpoints of a combinational circuit, also detects all single 0multiple1 stuck-at faults in t%at circuit
a d e b B g
f c
sa' sa( a
sa( sa'
sa' sa(
sa' sa( a
sa( sa'
sa' sa(
collapse ratio *
> * ).@ +=
s-a-+ F+
G* ,
R* J,
all ot%er individual single stuck-at faults are detected by vectors )), )+ and +)
redundant faults do not propagate to t%e output vector ++ detects multiple stuck-at faults
multiple stuck-at faults 0F., FH1 and 0F+, F., FH1 are detected by vector ++, $%ic% is not in t%e initial vector list, t%us remain undetected
+ 0)1 +
, + + s-a-)
) 0+1
t%e only test t%at detects - s-a-) is )++ %o$ever, s-a-+ $ill mask it
Transistor&level faults
&%e ;6S transistor is considered to operate as an ideal s$itc%, $%ic% may be perturbed in its correct operation by t$o types of faults:
Stuck-open: one single transistor is permanently stuck in t%e open state, $%ere is can not conduct any current Stuck-s%ort: one single transistor is permanently s%orted irrespective of its gate voltage, and t%us can not be set into a non current-conducting state
&%e detection of a stuck-open fault requires t$o vectors to be applied to t%e circuit &%e detection of a stuck-s%ort fault requires t%e measurement of t%e circuit quiescent current 04DDQ1
Stuc%&open example
Stuck-open: transistor cannot be placed into current conducting state Vector +, time * t: initialiBation vector
V((
(
vector . time*tJ+
'
vector + time*t
&.
&+
Stuc%&short example
Stuck-s%ort: impossible to turn transistor out of current conducting state2 t%us, in some configurations of t%e input, a s%ort is created, $%ic% s%ould not be t%e case in -;6S
'
&:
&H G
'
vector + time*t
&.
&+
0ridging faults
bridging fault represents a s%ort bet$een a group of signals
4n case a feedback pat% is created by t%e bridging fault, a memory effect may result, i.e. a combinational circuit may be converted into a sequential circuit
Redundant fault any fault t%at does not modify t%e input-output function of t%e circuit is called redundant fault Untestable fault a fault for $%ic% no test can be found is called an untestable fault2 redundant faults are untestable faults
, s-a-+ ,
-ro lem .. Find t%e minimum number of test vectors required to test for all single stuck-at faults in t%efollo$ing circuits:
a. .=>-input e"clusive-6/ gate b. ?<-input e"clusive-6/ gate c. +.-input e"clusive-'6/ gate d. ?@-input e"clusive-'6/ gate e. n =-input ' '( gate f. <-input 6/ gate g. full adder implemented using '(, 6/ and '6& gates %. n =-bit parity generator constructed using .-input e"clusive-6/ gates
(etermine t%e fault equivalences among t%e t%ree faults, A s-a-), T sa-), and U s-a-). &%at is, are t%ese t%ree faults equivalent8 4f not, is any pair of t%ese t%ree faults equivalent8 #rove your ans$er.
(etermine t%e fault equivalences among t%e t%ree faults, A s-a-), T sa-), and U s-a-). &%at is, are t%ese t%ree faults equivalent8 4f not, is any pair of t%ese t%ree faults equivalent8 #rove your ans$er.
;. 3. ,us%nel and F. (. gra$al, K!ssential of !lectronic &esting for (igital, ;emory, and ;i"ed Signal V3S4 -ircuits,L Springer, .))@