Sunteți pe pagina 1din 18

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

S-ar putea să vă placă și