Overview: Testability Evaluation: Outline
Overview: Testability Evaluation: Outline
Outline
• Quality Policy of Electronic Design
• Tradeoffs of Design for Testability
• Testability measures
• Heuristic measures
• Probabilistic measures
• Calculation of testability
• Parker - Mc Cluskey method
• Cutting method
• Conditional probabilities based method
Y = (1 − P ) n
- probability of producing a good product
n - number of defects
m - number of faults tested
Pa = (1 − P ) − (1 − P )
m n
P - probability of a defect
Pa - probability of accepting a bad product
Y = (1 − P ) n
T - test coverage
Test
Cost of coverage
Fault Coverage
the fault function
Time
Time
Conclusion:
Quality “The problem of testing
Optimum can only be contained
0% 100%
test / quality not solved”
T.Williams
Technical University Tallinn, ESTONIA
Design for Testability
The problem is - Money:
(1−T )
DL DL = 1 − Y
1 Y↓ Y(%)
90 8 5 1
T(%)
50 45 25 5
0 100
10 81 45 9
T(%)
Goal: DL ↓ ← T ↑ ← Testability ↑ 10 50 90
Paradox: Testability ↑ → DL ↑ (Y ↓)
Technical University Tallinn, ESTONIA
Design for Testability
IN OUT IN OUT
Combinationa Combination
l circuit al circuit
Scan-IN
q’ R q
q’ R q
Scan-OUT
y1 y2 y3 y4
a
R1 • c
M1 +
e
M3 R2 •
• b
• M2 • *
IN
d
Data Part
Sea of gates
&
Sequence of
216 bits 16 bit 1
counter
System
y = x1 ∨ ( x1 ∨ x2 ) x4 ∨ x3 x4 Impossible pattern,
OR → XOR is not testable
∂y Faults at x2 is not testable
≡0
∂x2 Optimized function: y = x1 ∨ x4 ∨ x3
Technical University Tallinn, ESTONIA
Bad Testability: Fault Redundancy
1→0 1
1 & 1
≡ 1
& ⊕
1 E
≡ 0
Redundant AND-gate
Fault ≡ 0 is not testable E ≡ 1 if decoder is fault-free
Fault ≡ 0 is not testable
Evaluation of testability:
Controllability for 1 needed
• Controllability
• C0 (i)
1 i 1
• C1 (j) 2 & 2 Y
20 &
• Observability k 20
1 j &
• OY (k) 2 1 1
• OZ (k) 20 2 Z
x 20 1
• Testability
Defect
Probability of detecting 1/260
C0(x1) = 1 C0(x31 ) = 23
C0(x33 ) = min [C0(x31 ), C0(x32 ) ] + 1 =
&
C0(x2) = 1 = min (23,11) + 1 = 12
C0(x32 ) = 11
C0(x1) = 1 C0(x31 ) = 23
C0(x31 ) = 23
C0(x1) = 1 C1(x31 ) = 18
C0(x33 ) = min { [ C0(x31 ) + C0(x32 ) ],
⊕ [C1(x31 ) + C1(x32 ) ] } + 1 = min{
C0(x2) = 1
(23 +12), (18 + 20) } + 1 = min
C0(x32 ) = 12 (35,38) + 1 = 36
C1(x32 ) = 20
x1
x2 ⊕ y O(x1) = O(y) + 1
O(x31 ) = 35
C1(x31 ) = 16 O(x33 ) = 23
&
O(y) = 1
C1(x32 ) = 11
n n
x1 x1
& y p y = Π p xi 1 y p y = 1 − Π (1 − p xi )
..
..
xn xn
.
i =1 i =1
Signal correlations:
Calculation steps:
pk [pLB , pHB) Exact pk pk [pLB , pHB) Exact pk
p7 3/4 3/4 pb [1/2, 1] 5/8
p71 [0, 1] 3/4 pc 5/8 5/8
p72 [0, 1] 3/4 pd [1/2, 3/4] 11/16
p73 3/4 3/4 pe [1/4, 3/4] 19/32
pa [1/2, 1] 5/8 py [34/64, 54/64 ] 41/64
x y
p( y ) = ∑ p( y /( x = i) p( x = i)
i∈( 0 ,1)
& y
5
73
&
c
[1/2,11/16]
6 [1,1/2]
x y
* ** * **
Pk [P k , P k ] Pk [P k , P k ]
P7 Pb [1, 1/2]
NB! Probabilities P71 Pc [1, 1/2]
Pk = [Pk* = p(xk/x7=0), Pk ** = p(xk/x7=1)] P72 Pd [1/2, 3/4]
P73 Pe [1/2, 5/8]
are propagated, not bounds
Pa [1, 1/2] Py [1/2, 11/16 ]
as in the cutting method.
For all inputs: pk = 1/2
py = p(y/x7=0)(1 - p7) + p(y/x7=1)p7 = (1/2 x 1/4) + (11/16 x 3/4) = 41/64
23
p1 p21 p23
y L1
1 21 23 y p2 p1
L2 2 1
22 3
3
(1-p1)p22p3p23 p2(1-p1)p3
1
21 & a
py = Σ Π px 2
22 & c
Lk∈L(1) x∈Xk &
3 b y
&
23
Example: L1
y
1 21 23
L1 = (1,21,23) L2
L2 = (1,22,3,23) 22 3
Probabilistic measure: y
L1
1 21 23
py = Σ Π px L2
22 3
k: Lk∈L(1) x∈Xk
23
Testability:
L1 L2
p(x21 ≡ 0) = p21 p(∂ y/∂ x21 = 1) = y
1 21 23
= p21 p(L1) p(L2) p(L3) =
= p2p1 (1 - p3) = 0,125 22 3
Why: p(∂ y/∂ x21 = 1) = p21 p(∂ y/∂ x21 =
L3
1)?
Technical University Tallinn, ESTONIA
Calculating Observabilities on BDDs
1 Macro
y
2 & d 6 73
71 & a
3 7 72
& e
4
& b 1 5
&
y
5 &
73
c
& 2 71 72
6
1 Macro
2 & d Calculation procedure:
71 & a
3 & e 6 73 5 2
7 72 1/64
4
& b
& 5 2
y 1/64
5 &
73 6
c 2
& 1/64
6 2
1/64
5 2
y 4/64
6 73 5 2 7
1
1/64
72 2
5 1/64
1
2
1/64
2 71 72
p(∂ y/∂ x1= 1) = 11/64
Technical University Tallinn, ESTONIA
Calculation of Signal Probabilities
Combining BDDs and conditional probabilities
w
x
y
0
Lk∈L(1) x∈Xk q q′ #1
0
RT-level calculation: 1
xA #4
1
#2
P(y=k) = Σ Π P(x=e) 2 0
xB #5
1
Li∈L(k) x∈Xi 3,4 #3
Example:
P(q=5) = P(q=2)P(xB=0) + P(q=3) + P(q=4)