testing vlsi
testing vlsi
1 2
1
Ranges of SCOAP Measures Goldstein’s SCOAP Measures
• Controllabilities: • All PIs have set CC0=1 and CC1=1
1 (easiest) to infinity (hardest) • AND gate output 0 controllability:
• Observabilities: output_controllability = min (input_controllabilities) + 1
0 (easiest) to infinity (hardest) • AND gate output 1 controllability:
• Combinational measures:
– Roughly proportional to # circuit lines that must be output_controllability = ∑(input_controllabilities) + 1
set to control or observe given line • XOR gate output controllability
• Sequential measures: output_controllability = min(controllabilities of each input set) + 1
– Roughly proportional to # times a flip-flop must be • Fanout stem observability:
clocked to control or observe given line
∑ or min (fanout branch observabilities)
7 8
9 10
11 12
2
Error: Stems & Reconvergent Fanout Example: Correlation Error
• Exact computation of measures is NP-Complete and
• SCOAP measures wrongly assume that controlling impractical
or observing x, y, z are independent events • Italicized (blue) measures show correct values
– CC0 (x), CC0 (y), CC0 (z) correlate
– CC1 (x), CC1 (y), CC1 (z) correlate • SCOAP measures (red) are not italicized
– CO (x), CO (y), CO (z) correlate • Each signal line: CC0, CC1 (CO)
1,1(6) 2,3(4)
x x
2,3(4, ∞)
1,1(5, ∞) 6,2(0)
4,2(0)
y 1,1(5) (6) (5)
y
1,1(4,6) (4,6)
(6) 2,3(4)
z z
2,3(4, ∞)
1,1(6)
1,1(5, ∞)
13 14
17 18
3
Final Combinational Controllability Combinational Observability for Level 1
Number in square box is level from primary outputs (POs)
(CC0, CC1) CO
19 20
21 22
4
D Flip-Flop Clock and Reset Algorithm 6.2 for Testability Computation
• CO (RESET) = CO (Q) + CC1 (Q) + CC1 (RESET) + CC1 (C) + CC0 (C) 1. For all PIs, CC0 = CC1 = 1 and SC0 = SC1 = 0
• SO (RESET) is analogous 2. For all other nodes, CC0 = CC1 = SC0 = SC1 = ∞
• Three ways to observe the clock line: 3. Go from PIs to POs, using CC and SC equations to compute
1. Set Q to 1 and clock in a 0 from D controllabilities - Iterate on loops until SC stabilizes -
2. Set the flip-flop and then reset it convergence guaranteed
3. Reset the flip-flop and clock in a 1 from D 4. For all POs, set CO = SO = 0, ∞ for other nodes
• CO (C) = min [ CO (Q) + CC1 (Q) + CC0 (D) + CC1 (C) + CC0 (C), 5. Work from POs to PIs, Use CO, SO, and controllabilities to get
CO (Q) + CC1 (Q) + CC1 (RESET) + CC1 (C) + CC0 (C), observabilities
CO (Q) + CC0 (Q) + CC0 (RESET) + CC1 (D) + CC1 (C) + CC0 (C)] 6. Fanout stem (CO, SO) = min branch (CO, SO)
• SO (C) is analogous 7. If a CC or SC (CO or SO) is ∞, that node is uncontrollable
(unobservable)
25 26
27 28
29 30
5
Stable Sequential Measures Final Sequential Observabilities
31 32
Test Vector Length Prediction Number Test Vectors vs. Testability Index
33 34
35 36
6
Improved RTL Design
37