VLSI Testing
Testability
Testability Analysis
Analysis
Virendra Singh
Indian Institute of Science (IISc)
Bangalore
virendra@computer.org
E0-286: Testing and Verification of SoC Design
Lecture - 11
Feb 13, 2008 E0-286@SERC 1
Purpose
Purpose
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 length
Feb 13, 2008 E0-286@SERC 2
Origins
Origins
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
1st probabilistic measures
Seth, Pan & Agrawal 1985 – PREDICT
1st exact probabilistic measures
Feb 13, 2008 E0-286@SERC 3
Testability
Testability Analysis
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 vectors
Feb 13, 2008 E0-286@SERC 4
Types
Types of
of Measures
Measures
SCOAP – Sandia Controllability and Observability
Analysis 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
SO
Feb 13, 2008 E0-286@SERC 5
Range
Range of
of SCOAP
SCOAP Measures
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
line
Feb 13, 2008 E0-286@SERC 6
Goldstein’s
Goldstein’s SCOAP
SCOAP Measures
Measures
AND gate O/P 0 controllability:
output_controllability = min (input_controllabilities)
+1
AND gate O/P 1 controllability:
output_controllability = Σ (input_controllabilities)
+1
XOR gate O/P controllability
output_controllability = min (controllabilities of
each input set) + 1
Fanout Stem observability:
Σ or min (some or all fanout branch observabilities)
Feb 13, 2008 E0-286@SERC 7
Controllability
Controllability Examples
Examples
Feb 13, 2008 E0-286@SERC 8
Controllability
Controllability Examples
Examples
Feb 13, 2008 E0-286@SERC 9
Observability
Observability Examples
Examples
To observe a gate input:
Observe output and make other input values non-controlling
Feb 13, 2008 E0-286@SERC 10
Observability
Observability Examples
Examples
To observe a fanout stem:
Observe it through branch with best observability
Feb 13, 2008 E0-286@SERC 11
Levelization
Levelization Algorithm
Algorithm
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 gate
Feb 13, 2008 E0-286@SERC 12
Controllability
Controllability -- Level
Level 0
0
Circled numbers give level number. (CC0, CC1)
Feb 13, 2008 E0-286@SERC 13
Controllability
Controllability -- Level
Level 2
2
Feb 13, 2008 E0-286@SERC 14
Combinational
Combinational Controllability
Controllability
Feb 13, 2008 E0-286@SERC 15
Observability
Observability for
for Level
Level 1
1
Number in square box is level from primary outputs (POs).
(CC0, CC1) CO
Feb 13, 2008 E0-286@SERC 16
Observabilities
Observabilities -- Level
Level 2
2
Feb 13, 2008 E0-286@SERC 17
Thank You
Feb 13, 2008 E0-286@SERC 18