Fault simulation: given a circuit, a fault model and a test set, determine the fault coverage(measure of quality) of the test set.
Faults Type
Untestable fault
Potentially detectable fault
,
Init fault
Dominance&Equivalence
Equivalence
Dominance
Definition
Under ,in
Collapsing
test set
same
Fanout
transitivity not work
FOFree comb ckt: Test Set detect PI SA also detect all SA General comb ckt: test set detect PI&checkpint SA also detect all SA Irredundant comb ckt: a vec detects all single SA detects all testable multiple SA
write down sets operation equations, then write down the fault list, always check the stems.
Name
Input
Output
fault list
OR
OR
OR
OR
for NOR, and
Name
Input
Output
fault list
AND
AND
AND
AND
for NAND, and
Name
Stem
Branch
fault list
Fanout
Fanout
Name
Input
Output
fault list
NOT
NOT
Name
Input
Output
fault list
XOR
XOR
XOR
XOR
for XNOR, and , deducted by myself.
Critical Path Tracing&Star Algorithm
Critical Path Tracing
Star Algorithm
definition
sensitive: , critial: fault detected by vec
sufficient: Input that can set the output value Unmarked Untestable
stem
stem analysis: for all fanouts, for each fanout, if there exists a sensitive path that connect to the reconvergence gate(no need to be sensitive input), it so cannot traceback to stem.
D algorithm and PODEM finding one vector not in linear way but in binary tree way in the whole vector space, rather than find all in Boolean Differences.
Flowchart
pick objective (excitation or propagation of D)
backtrace from objective to PI that is X, if can’t backtrace, backtrack
objective->backtrace/backtrack->logic simulation
backtrack: reverse decisions
backtrace: tracing backwards
PODEM
D-Algorithm
Decisions on PIs only Values assigned to PIs only No internal value conflicts
Decisions on any gate Values assigned anywhere Possible internal values conflicts
Decision on backtrack BETTER
output=0
output=1
AND
select easier one
select hard one first then easier one
OR
select hard one first then easier one
select the easier one
Cost to decide which is easier
by distance: distance of gate from PI to PO but cannot guarentee easier
Implications
Make better decisions by checking implications before justify/propagate, implications knowledge as a graph to save storage
contra-positive law for non-trivial logic: if , then
Indirect implications, do logic simulation, add new values and implications
Controllability Observability Probability
signals uncorrelated or independent meaning no signal reconvergence, not consider circuit structure, observability computatoin similar to STAFAN. Consider the PI controllability and PO observability to be .
controlability of value to 1, controlability of value to 0, overservability. Values are integer, small values means easy for controllability. means fanout penalty according to level or number of fanouts.
multiobjective, headlines: singals at the output of fanout-free regions
Dominator
Dominator: gate g of a signal s, whree all paths from signal s to all POs must pass through g.
Can be used to set objectives for a fault, since the needs to be in order to test.
dom(g)=⎩⎨⎧Include successor and its domain{succ(g)}∪dom(succ(g)),Intersection for all successor∀succ(g)⋂dom(succ(g)),if one successor#fanout(g)=1if multiple successors#fanout(g)>1
Dynamic dominator: when some PIs are assigned, existing X-paths reduce, more dominators possible.
Satisfiability-Based ATPG
SAT: given a formula f, derive a value assignment that will satisfy f.
Expensive for large circuits, regarding time and space. D-algorithm and PODEM are used since one vector is enough for testing.
Boolean DiffBα/x=faultαstxα(x)⋅PO z Val Diffdα(x)dfz(α)=α(x)⋅(fz(α=0))⊕(fz(α=1))=α(x)⋅[fz(α=0)⋅fz(a=1)+fz(a=0)⋅fz(a=1)]
Boolean DiffBα/x=Fault α st xα(x)⋅PO z Val Diffdα(x)dfz[α(x)]=Excite faultα(x)⋅[XOR of output valuesfz(α=0)⊕fz(α=1)]=Excite faultα(x)⋅[Expanded XOR operation: sensitize difference for propagationfz(α=0)⋅fz(α=1)+fz(α=0)⋅fz(α=1)]
Leave a Reply