1ECE 269Krish Chakrabarty1ECE 269VLSI System TestingKrish ChakrabartyTestability MeasuresECE 269Krish Chakrabarty2Testability Measures• Origins• Controllability and observability• SCOAP measures– Sources of correlation error– Combinational circuit example– Sequential circuit example• Test vector length prediction• High-level testability measures•Summary2ECE 269Krish Chakrabarty3Purpose• Need approximate measure of:– Difficulty of setting internal circuit lines to 0 or 1 by setting primary circuit inputs– Difficulty of observing internal circuit lines by observing primary outputs• Uses:– Analysis of difficulty of testing internal circuit parts – redesign or add special test hardware– Guidance for algorithms computing test patterns – avoid using hard-to-control lines– Estimation of fault coverage– Estimation of test vector lengthECE 269Krish Chakrabarty4OriginsOrigins• Control theory• Rutman 1972 -- First definition of controllability• Goldstein 1979 -- SCOAP– First definition of observability– First elegant formulation– First efficient algorithm to compute controllability and observability• Parker & McCluskey 1975– Definition of probabilistic controllability• Brglez 1984 -- COP–1stprobabilistic measures• Seth, Pan & Agrawal 1985 – PREDICT–1stexact probabilistic measures3ECE 269Krish Chakrabarty5Testability Analysis Involves circuit topological analysis, but no test vectors and no search algorithm Static analysis Linear computational complexity Otherwise, is pointless – might as well use automatic test-pattern generation and calculate: Exact fault coverage Exact test vectorsECE 269Krish Chakrabarty6Types of Measures SCOAP – Sandia Controllability and ObservabilityAnalysis Program Combinational measures: CC0 – Difficulty of setting circuit line to logic 0 CC1 – Difficulty of setting circuit line to logic 1 CO – Difficulty of observing a circuit line Sequential measures – analogous: SC0 SC1 SO4ECE 269Krish Chakrabarty7Range of SCOAP Measures Controllabilities – 1 (easiest) to infinity (hardest) Observabilities – 0 (easiest) to infinity (hardest) Combinational measures:– Roughly proportional to # circuit lines that must be set to control or observe given line Sequential measures:– Roughly proportional to # times a flip-flop must be clocked to control or observe given lineECE 269Krish Chakrabarty8Goldstein’s SCOAP Measures Goldstein’s SCOAP Measures AND gate O/P 0 controllability:output_controllability = min (input_controllabilities) + 1 AND gate O/P 1 controllability:output_controllability = S (input_controllabilities) +1 XOR gate O/P controllabilityoutput_controllability = min (controllabilities of each input set) + 1 Fanout Stem observability:S or min (some or all fanout branch observabilities)5ECE 269Krish Chakrabarty9Controllability ExamplesControllability ExamplesECE 269Krish Chakrabarty10More ControllabilityExamplesMore ControllabilityExamples6ECE 269Krish Chakrabarty11Observability ExamplesObservability ExamplesTo observe a gate input:Observe output and make other input values non-controllingECE 269Krish Chakrabarty12More Observability ExamplesMore Observability ExamplesTo observe a fanout stem:Observe it through branch with best observability7ECE 269Krish Chakrabarty13Error Due to Stems & Reconverging FanoutsError Due to Stems & Reconverging FanoutsSCOAP measures wrongly assume that controlling or observing x, y, z are independent events– CC0 (x), CC0 (y), CC0 (z) correlate– CC1 (x), CC1 (y), CC1 (z) correlate– CO (x), CO (y), CO (z) correlatexyzECE 269Krish Chakrabarty14Correlation Error Example• Exact computation of measures is NP-Complete and impractical• Italicized (green) measures show correct values –SCOAP measures are in red or bold CC0,CC1 (CO)xyz1,1(6)1,1(5)1,1(5)1,1(4,6)1,1(6)1,1(5)6,2(0)4,2(0)2,3(4)2,3(4)(5)(4,6)(6)(6)2,3(4)2,3(4)8ECE 269Krish Chakrabarty15Sequential Circuit ExampleECE 269Krish Chakrabarty16Levelization Algorithm 6.1 Label each gate with max # of logic levels from primary inputs or with max # of logic levels from primary output Assign level # 0 to all primary inputs (PIs) For each PI fanout: Label that line with the PI level number, & Queue logic gate driven by that fanout While queue is not empty: Dequeue next logic gate If all gate inputs have level #’s, label the gate with the maximum of them + 1; Else, requeue the gate9ECE 269Krish Chakrabarty17Controllability Through Level 0Circled numbers give level number (CC0, CC1)ECE 269Krish Chakrabarty18Controllability Through Level 210ECE 269Krish Chakrabarty19Final Combinational ControllabilityECE 269Krish Chakrabarty20Combinational Observability for Level 1Number in square box is level from primary outputs (POs).(CC0, CC1) CO11ECE 269Krish Chakrabarty21Combinational Observabilities for Level 2ECE 269Krish Chakrabarty22Final Combinational Observabilities12ECE 269Krish Chakrabarty23Sequential Measure Differences Combinational Increment CC0, CC1, CO whenever you pass through a gate, either forwards or backwards Sequential Increment SC0, SC1, SO only when you pass through a flip-flop, either forwards or backwards, to Q, Q, D, C, SET, or RESET Both Must iterate on feedback loops until controllabilitiesstabilize See details in the textECE 269Krish Chakrabarty24SummarySummary• Testability approximately measures:– Difficulty of setting circuit lines to 0 or 1– Difficulty of observing internal circuit lines • Uses:– Analysis of difficulty of testing internal circuit parts• Redesign circuit hardware or add special test hardware where measures show bad controllability or observability– Guidance for algorithms computing test patterns –avoid using hard-to-control lines– Estimation of fault coverage – 3-5 % error– Estimation of test vector
View Full Document