Delay/Data flip flop: The flip flop remains in its current state until its receives a signal like clock that switches it to opposite state. The clock single required for the synchronous version of D flip flops but not for the asynchronous one.
Propagate to actual PO frame by frame TG for frames backwards states could be unjustifiable, find alternative Additional constraints on TF
reduce propagate frame nums detect illegal/unreachable states
input seq with FF states (x) to justify TF justify FF states at time frame states could be unjustifiable, find alternative
illegal/unreachable state 0 justify from unknown state could have long sequence
Deterministic Sequential ATPG
9 value algebra⟹⎣⎡a1100/0a21middle0/Xa31D0/1a12D1/0a2211/1a32row1/Xa13elementsX/0a23entriesX/0a33XX/X⎦⎤
Sequential circuit with Drivability in addition to observability, controllability, drivability means drive to D or -D from g with respect to controllability.
S-Graph: vertices are FFs, edges means combinational path in between, if acylic(not going back to itself), faulty state is always initializable, , num of FFs on the longest path in s-graph, non-FF fault in acyclic circuit has at most vectors.1
Balanced model is used in cyclic sequential circuits.
Fault simulation Based Sequential ATPG
CONTEST
each phase has a specific cost function, to init FFs, to detect faults, to activate and propgate.
cost: Phase 1◯fault sim, Excite&Propassuming one FF changescost: Phase 2◯fault sim, Excite&Propassuming one FF changescost: Phase 3◯
DIGATE
FF specific, faults propagates to a specific FF, power means if T could distinguish states for lots of faults; distinguishing seq are not useful if fault not activated, meaning excite&prop to one FF.
fa→ifault sim, Excite&Propassuming one FF changesFF#1⋮FF#i⋮FF#xApply Test Seq Tpropagate to a POPO#1⋮PO#j⋮PO#nDistinguishing OuputRecord, Power with TSeq TGAseq T2
Targeting fault activation
2◯state justification1◯single time frame
state justfication of the reLaxed state
a particular ff set/reset, conflics when justifying several FFs at the same time.
forward implication: if all input values are known or one is controlling value, the output can be determined.
backward implication: calculate input implication by the output value.
if output=1, implicates all gate inputs are 1, add implications of setting these inputs to 1.
if ouput=0, implicates at least one of the input is 0, need to add implications of setting each of these inputs to 0 and then union to make sure at least one of inputs is 0. It is trying to constrain the implication than to conclude in case where implication to one input is 0 and implication to another input is 1. Perhaps this is because implication of only input to 0 cannot guarantee the output to be 0. Implications needs to be propagated through gates like deductive fault simulation.
Fault IndependentREdundency IdentificationFIRE=Faults that are requires specific signals{{Sa=1}∩{Sa=0}={unexcitable faultswhen a=0EXCTa=0∪unpropagatable faultswhen a=0PROPa=0}∩{unexcitable faultswhen a=1EXCTa=1∪unpropagatable faultswhen a=1PROPa=1}
Size of and are critical, larger better, size depends on implications.
Seq FIREFIRES=Faults that requires specific unreachable states{Sa=1}∩{Sb=0}∩{Sc=1}=Untestable faults if a=0{Sa=0}∩Untestable faults if b=1{Sb=1}∩Untestable faults if c=0{Sc=0}={unexci faultswhen a=0EXCTa=0∪unprop faultswhen a=0PROPa=0}∩{unexci faultswhen b=1EXCTb=1∪unprop faultswhen b=1PROPb=1}∩{unexci faultswhen c=0EXCTc=0∪unprop faultswhen c=0PROPc=0}
MUSTMUST=fires or fireFIRES⇒Faults that require signals to have certain valuesFrom Fire a→Sa=x={f,⋯,f} to f→{a,⋯,z}⎩⎨⎧f1→{a=x0,⋯,z=xk}f2→{a=x0,⋯,z=xk}⋮fn→{a=x0,⋯,z=xk}⇒check one specific fault with 3 conditionsFor each undetected fault⎩⎨⎧ConflictCFLT{impl(a),⋯,impl(z)}∪EXCT{impl(a),⋯,impl(z)}∪PROP{impl(a),⋯,impl(z)}
must be excited at a time frame before it can propagated. , untestable fault cannot be tested in later time frames because it is not excited; , later time frame untestable faults may be testable in previous time frames because later time frames FFs state could be more constrained.
Bridging Faults
and are before bridging faults, and are after bridging faults. to excite the bridge, for feedback bridge, it is better to set the gate value that is closer to PO, otherwise there will be cycle. Issues: byzantine, dynamic CMOS gates. Feedback bridges may cause infinite cycle due to sensitized values.
type
fault
domination
testing
AND-Bridge
0 dominants
OR-Bridge
1 dominants
a-dominant
a dominants
b-dominant
b dominants
feedback bridge
only test gate that is closer to PO.
Delay Path Fault
Non-Robust test may not propagate the transition, in non-robust test, off path do not delay.
Validatable non-robust PDF: if side input with value can invalidate non-robust test, if ensure paths through are not faulty/late, non-robust test is validated. Validate through generate robust test, if not possible, generate non robust test.
Gate Type
Fault Type
Non-Robust
Robust
AND
AND
OR
OR
equations means edge operation sequence:fault free/delayed faulty
skewed Load: PI same, is the shifted version of .
Boradside: PI different, is the justified version of .
Enhanced Scan: and are totally different, each state will use its own vector from PI.
Finite State Machine
Initialization Sequence: takes current state of a circuit to a desired/specific state.
Distinguishing Sequence: a sequence that produces a unique output depending on the current state.
shortest transfer sequence back to the same starting state.
C-testable: if it has an iterative logic array structre and has a constant number of test vectors independent of the number of cells in iteraive logic array. Every block has seen all 8 vectors.
Universal test set: detect all detectable faults regardless of impementaion of comnbinationa function; covering ; unate only one type and binate with value and its inversed value. union of minimal true vector and maximum false vector.
If no unate variables, universal test set becomes exhaustive test set.
True or false vector: make output z to 1, otherwise; minimal true vector: does not cover other vectors.
Monotone: if circuit does not have inverters,
minimal true vector
⎩⎨⎧z(v1)=z(v2)=1v2⊆v1v1detectfault⇒zf(v1)=0⇒zf(v2)=0detect faults by v1prefer v2v2
converse is does not detect fault, cannot claim about .
maximum false vector
⎩⎨⎧z(v1)=z(v2)=0v2⊆v1v2detectfault⇒zf(v2)=1⇒zf(v1)=1detect faults by v2prefer v1v1
Register Transfer Level
global data path constraints extraction: simulate and obtain relationships that could be used in atpg.
transparent channel: path from PI exists that can provide required value to Mudule Under Test, as well as one that bridges the MUT output to global PO=>design for testability
Reemove the irrelevant blocks(program slicing, identify the variables and statements): slicing, remove irrelevant/independent statements, resynthesize, ATPG(removed PIs are don’t care). Input of new design is subset of the original design.
Behavior-level ATPG: test case~input vector, lines being executed, statement coverage, condition coverage, path coverage.
Design for Testability
modified circuit must retain original circuit functionality
test point insertion: controlability for 1 is low, using mux with mux input tied to 1, eliminating a testing pin; for the algorithm: add one testing point; recompute for highest controllability and observability; add to another hardest gate; control pins could be reduced with encoder, assuming control one point at a time.
scan design: scanned FFs connected in a chain; shift register; force values to FFs; shift out to observe.
Scan FFs on critical path: no longer works at the designated frequency, the frequency would reduce since additional muxes are added.
specs
full scan
combinational atpg area, test time, storage shift in lower speed
multiple scan chains
shift in parallel more pins
Illinois Scan
series mode broadcast mode with same value per chain test data volume reduced in broadcast mode atpg constained in broadcast mode
partial scan
critical path, area avoid chaining congested area test time, test data volume seq atpg, validation of vectors are complicated.
convert regs to BILBO regs test in pipeline BILBO reg: 2 control bits with n bits reg. testing blocks with input reg as LSFR and output reg as MISR
Memory Test
components: RW control, addr decoder, data reg, cell array.
cell-array faults: stuck-at, transition, coupling, pattern sensitive; march test;
MARCH⇒⎩⎨⎧init with 0⇑0n−1(w0)R, check, W⇑0n−1(r0,w1)MATS⇒⎩⎨⎧init with 0⇑0n−1(w0)check fwd coupling, stuck at⇑0n−1(r0,w1)verify⇑0n−1(r1)MATS+⇒⎩⎨⎧init with 0⇑0n−1(w0)check fwd coupling⇑0n−1(r0,w1)check bkwd coupling⇓0n−1(r1,w0)
problem of MATS+inverse coupling={w(i)→i+2w(i+1)→i+2⇒⎩⎨⎧even address⇑0, step 2n−1(r0,w1)odd address⇑1, step 2n−2(r0,w1)
Test Word-Oriented Memories: intra-word coupling, coupling on the same row, m-out-of-n codes, , hamming distance.
Pattern sensitive faults: using hamming distance graph traversal to minimize num of writes.
SoC testing: cannot test all components at the same time, allocate by power and testing time for each component.
Compress data:
Defects, Diagnosis
inductive failure analysis:
region based diagnosis: force output of region to , check the the faulty PO to see if is propagated. If not, that region does not have defects.
Glossary
№ 14 Oct 24, 2024~Oct 29, 2024
Test Set Compaction Fundamentals: sequential circuit test set compaction, test application time reduction, test data volume reduction, fault-free/faulty state notation (Sk/Sk^f), fault detection principles, fault simulation requirements, and basic state traversal concepts; Primary Compaction Methodologies: compaction by insertion for sequence manipulation, compaction by omission using flagged vectors, compaction by selection with covering algorithms, compaction by subsequence removal focusing on state patterns, and compaction by vector restoration through fault simulation; Sequence and State Analysis: test sequence management, vector sequence optimization, subsequence identification, state recurrence patterns, inert subsequence characteristics (where start/end states are identical with no fault detection), state-recurrence subsequence properties (where start/end states match but faults may be detected), and state relaxation concepts; Implementation and Optimization Techniques: fault coverage measurement, distinction between hard and easy faults, fault partitioning strategies, fault detection point analysis, excitation point identification, covering algorithm application, and computational cost considerations.
Sequential Circuit Test Compaction Foundations: motivation to reduce test application time and data volume, sequential vs combinational test set differences, state notation using Sk/Sk^f format, and problem of sequence disruption when removing vectors; Compaction Techniques and Algorithms: compaction by omission using vector flags and fault simulation, compaction by subsequence removal exploring state repetitions, inert subsequence identification where start/end states match without fault detection, state-recurrence subsequence where faults may be detected within, and relaxed subsequence removal considering state variables; State and Fault Analysis: state traversal concepts, fault excitation and detection points, fault partitioning focusing on hard faults versus easy faults (approximately 10% are hard faults), state comparison and matching, and fault simulation without fault dropping; Cost and Performance Considerations: computational expense of early techniques, comparison of technique effectiveness, improvement through targeting groups of flip-flops (pseudo registers), state reachability analysis, and the significance of fault detection coverage; Vector Restoration and State Management: computing detection time for each fault, fault restoration procedures, vector sequence analysis, investigation of state traversal patterns, and optimization through state space exploration.
№ 15 Oct 29, 2024~Oct 31, 2024
Untestable Fault Identification Foundations: motivation to reduce ATPG time spent on untestable faults, classification into combinational and sequential untestable faults, fault-dependent analysis approach per individual fault, fault-independent analysis based on circuit structure; FIRE Algorithm and Key Components: Fault Independent Redundancy identification, computation of S0 and S1 sets for conflicting value requirements, implementation of extended backward implications, analysis of constant nodes, and effectiveness based on implication count; Sequential Circuit Extensions: extending FIRE to sequential circuits, handling illegal/unreachable states as conflicts, incorporation of sequentiality into implication graphs with edge weights, identification of sequential conflicts; Graph Management and Optimization: managing implication graph size (2 x n nodes), handling exponential edge growth, periodic graph trimming through transitive reduction and equivalent node elimination, identification of strongly-connected components (SCCs), using representative nodes to achieve approximately 50% node reduction; Fault Analysis Algorithms and Theorems: fault-dependent untestable fault identification using necessary value lists, sequential circuit fault analysis with time-frame consideration, single fault theorem for combinational algorithm application to sequential circuits, and proof that combinationally untestable faults are also sequentially untestable.
Register Transer Level: instruction change, register change; hierarchical test generation: call atpg for individual blocks, they are justified to derive the test set for the entire chip; global data-path constraints extraction; high-level metrics for atpg; slicing; behavoir level atpg;
muxes: test point insertion for controlability and observability; scan design: scan cell design, level sensitive scan design; full scan13, multiple scan chains; partial scan14; illinois scan; partial reset, direct load; select FFs for scan and load; flip flop selection for loading: SCOAP, structure based, atpg, random access scan;
defects: systematic failures/defects; inductive failure analysis; material density; design for yield; diagnosis: static/dictionary-based diagnosis; dynamic diagnosis: cone intersection, diagnosis by sensitization15; diagnostic test generation; region based diagnosis;
Resarch Tip: sit down and think deep, go into deep water to get good results.[]
[]
Zhao, J-K., Elizabeth M. Rudnick, and Janak H. Patel. “Static logic implication with application to redundancy identification.” In Proceedings. 15th IEEE VLSI Test Symposium (Cat. No. 97TB100125), pp. 288-293. IEEE, 1997.[]
FFs that are assigned[]
Linear Feedback Shift Register[]
Multiple-Input Signature Register[]
test pattern gen[][]
Pseudo Random Patten Generator[]
Built-in Self Test[]
Output Response Analyzer[]
Self-Testing Using MISR and Parallel SRSG[]
Built-In Logic Block Observation[]
full scan is all FFs are scannable[]
due to critical path and area[]
check the primary input ordered from cone intersection with flipping values[]
Leave a Reply