spring 08, apr 1 elec 7770: advanced vlsi design (agrawal) 1 elec 7770 advanced vlsi design spring...

28
Spring 08, Apr 1 Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Ag ELEC 7770: Advanced VLSI Design (Ag rawal) rawal) 1 ELEC 7770 ELEC 7770 Advanced VLSI Design Advanced VLSI Design Spring 2008 Spring 2008 Testability Measures Testability Measures Vishwani D. Agrawal Vishwani D. Agrawal James J. Danaher Professor James J. Danaher Professor ECE Department, Auburn University ECE Department, Auburn University Auburn, AL 36849 Auburn, AL 36849 [email protected] [email protected] http://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr08/ http://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr08/ course.html course.html

Post on 20-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 11

ELEC 7770ELEC 7770Advanced VLSI DesignAdvanced VLSI Design

Spring 2008Spring 2008Testability MeasuresTestability Measures

Vishwani D. AgrawalVishwani D. AgrawalJames J. Danaher ProfessorJames J. Danaher Professor

ECE Department, Auburn UniversityECE Department, Auburn University

Auburn, AL 36849Auburn, AL 36849

[email protected]@eng.auburn.eduhttp://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr08/course.htmlhttp://www.eng.auburn.edu/~vagrawal/COURSE/E7770_Spr08/course.html

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 22

What are Testability Measures?

Approximate measures of:Approximate measures of: Difficulty of setting internal circuit lines to 0 or 1 from Difficulty of setting internal circuit lines to 0 or 1 from

primary inputs.primary inputs. Difficulty of observing internal circuit lines at primary Difficulty of observing internal circuit lines at primary

outputs.outputs.

Applications:Applications: Analysis of difficulty of testing internal circuit parts – Analysis of difficulty of testing internal circuit parts –

redesign or add special test hardware.redesign or add special test hardware. Guidance for algorithms computing test patterns – Guidance for algorithms computing test patterns –

avoid using hard-to-control lines.avoid using hard-to-control lines.

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 33

Testability Analysis

Determines testability measures Involves Circuit Topological analysis, but no test vectors (static analysis) and no search algorithm. Linear computational complexity

Otherwise, is pointless – might as well use automatic test-pattern generation and calculate:

Exact fault coverage Exact test vectors

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 44

SCOAP 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

Ref.: L. H. Goldstein, “Controllability/Observability Analysis of Digital Circuits,” IEEE Trans. CAS, vol. CAS-26, no. 9. pp. 685 – 693, Sep. 1979.

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 55

Range of SCOAP Measures

Controllabilities – 1 (easiest) to infinity (hardest)Controllabilities – 1 (easiest) to infinity (hardest) Observabilities – 0 (easiest) to infinity (hardest)Observabilities – 0 (easiest) to infinity (hardest) Combinational measures:Combinational measures:

Roughly proportional to number of circuit lines that must Roughly proportional to number of circuit lines that must be set to control or observe given line.be set to control or observe given line.

Sequential measures:Sequential measures: Roughly proportional to number of times flip-flops must Roughly proportional to number of times flip-flops must

be clocked to control or observe given line.be clocked to control or observe given line.

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 66

Combinational Controllability

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 77

Controllability Formulas (Continued)Controllability Formulas (Continued)

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 88

Combinational ObservabilityTo observe a gate input: Observe output and make other input

values non-controlling.

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 99

Observability Formulas (Continued)

Fanout stem: Observe through branch with best observability.

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1010

Combinational ControllabilityCircled numbers give level number. (CC0, CC1)

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1111

Controllability Through Level 2

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1212

Final Combinational Controllability

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1313

Combinational Observability for Level 1Number in square box is level from primary outputs (POs).

(CC0, CC1) CO

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1414

Comb. Observabilities for Level 2

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1515

Final Combinational Observabilities

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1616

Sequential Measures (Comparison)

Combinational

Increment CC0, CC1, CO whenever you pass through a

gate, either forward or backward.

Sequential

Increment SC0, SC1, SO only when you pass through a

flip-flop, either forward or backward.

Both

Must iterate on feedback loops until controllabilities

stabilize.

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1717

D Flip-Flop Equations Assume a synchronous RESET line. CC1 (Q) = CC1 (D) + CC1 (C) + CC0 (C) + CC0

(RESET) SC1 (Q) = SC1 (D) + SC1 (C) + SC0 (C) + SC0

(RESET) + 1 CC0 (Q) = min [CC1 (RESET) + CC1 (C) + CC0 (C),

CC0 (D) + CC1 (C) + CC0 (C)] SC0 (Q) is analogous CO (D) = CO (Q) + CC1 (C) + CC0 (C) + CC0

(RESET) SO (D) is analogous

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1818

D Flip-Flop Clock and Reset CO (RESET) = CO (Q) + CC1 (Q) + CC1 (RESET) +

CC1 (C) + CC0 (C) SO (RESET) is analogous Three ways to observe the clock line:

1. Set Q to 1 and clock in a 0 from D

2. Set the flip-flop and then reset it

3. Reset the flip-flop and clock in a 1 from D CO (C) = min [ CO (Q) + CC1 (Q) + CC0 (D) +

CC1 (C) + CC0 (C),

CO (Q) + CC1 (Q) + CC1 (RESET) +

CC1 (C) + CC0 (C),

CO (Q) + CC0 (Q) + CC0 (RESET) +

CC1 (D) + CC1 (C) + CC0 (C)] SO (C) is analogous

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 1919

Testability ComputationTestability Computation

1. For all PIs, CC0 = CC1 = 1 and SC0 = SC1 = 0

2. For all other nodes, CC0 = CC1 = SC0 = SC1 = ∞3. Go from PIs to POs, using CC and SC equations to get

controllabilities -- Iterate on loops until SC stabilizes -- convergence is guaranteed.

4. Set CO = SO = 0 for POs, ∞ for all other lines.

5. Work from POs to PIs, Use CO, SO, and controllabilities to get observabilities.

6. Fanout stem (CO, SO) = min branch (CO, SO)

7. If a CC or SC (CO or SO) is ∞ , that node is uncontrollable (unobservable).

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2020

Sequential Example Initialization

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2121

After 1 Iteration

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2222

After 2 Iterations

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2323

After 3 Iterations

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2424

Stable Sequential Measures

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2525

Final Sequential Observabilities

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2626

Testability Measures are Not Exact Exact computation of measures is NP-Complete and

impractical Blue (Italicized) measures show correct (exact) values –

SCOAP measures are in orange – CC0,CC1 (CO)

1,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,∞)

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2727

Summary

Testability measures are approximate measures of: Difficulty of setting circuit lines to 0 or 1 Difficulty of observing internal circuit lines

Applications: Analysis of difficulty of testing internal circuit parts

Redesign circuit hardware or add special test hardware where measures show poor controllability or observability.

Guidance for algorithms computing test patterns – avoid using hard-to-control lines

Spring 08, Apr 1Spring 08, Apr 1 ELEC 7770: Advanced VLSI Design (Agrawal)ELEC 7770: Advanced VLSI Design (Agrawal) 2828

ExerciseExercise

Compute (CC0, CC1) CO for all lines in the following circuit.

Questions: 1. Is observability of primary input correct?

2. Are controllabilities of primary output correct?

3. What do the observabilities of the input lines ofthe AND gate indicate?