布尔差分法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

双故障xi(s-a-α),xj(s-a-β)的测试集为:
df df α β df α β T { x x x i xj xi xj 1} dxi dxj d(xi ,x j )
α β i j
2
其中:
α, (0,1) β
x1 x, x 0 x
定义二阶布尔差分的计算公式:
1)xi(s-a-1),xj(s-a-1)
k阶:
dk f f f f ... d ( xi1 , xi 2 ,..., xik ) xi1 xi 2 xik 2 f 2 f 2 f ... xi1xi 2 xi1xi 3 xi ( k 1) xik k f ... xi1xi 2 ...xik
(4)
d ( fg ) dg df df dg f g dxi dxi dxi dxi dxi
证明:
right f [ g ( xi ) g ( xi )] g[ f ( xi ) f ( xi )] [ f ( xi ) f ( xi )] [ g ( xi ) g ( xi )] fg ( xi ) fg ( xi ) [ f ( xi ) f ( xi )][ g g ( xi ) g ( xi )] fg ( xi ) fg ( xi ) [ f ( xi ) f ( xi )] g ( xi ) fg ( xi ) fg ( xi ) f ( xi ) g ( xi ) f ( xi ) g ( xi ) fg ( xi ) f ( xi ) g ( xi ) d ( fg ) dxi
xi
要使故障在输出端反映出来, xi必须取与它的故障值不同的值

f(X) f (X) 1 α
X
f
f
xi故障
1) xi: s-a-1故障
测试矢量:
xi 0 f(xi 1) f(xi 0) 1
T1 : xi(f(xi 1) f(xi 0)) 1
2) xi: s-a-0故障
1) a=0, g=1
f(a=0,g=1)=bd
f(a=1,g=0)=0 测试输入满足:
f (a 0, g 1) f (a 1, g 0) 1
在该情况下,有
a g[ f (a 0, g 1) f (a 1, g 0)] 1
2)a=0, g=0
f(a=0,g=0) f(a=1,g=0) 测试输入满足:
d 2f f(xi 1,x j 1) f(xi 0,x j 0) d(xi ,x j )
2)xi(s-a-1),xj(s-a-0)
d 2f f(xi 1,x j 0) f(xi 0,x j 1) d(xi ,x j )
3)xi(s-a-0),xj(s-a-1)
4. 多故障的测试矢量生成
4.1 双故障
c a b d
s-a-1
g s-a-0 f
+
h
f(a, c, g) adg bdg b, d,
g abc
g ac bc
故障情况:a=1 g=0
故障情况:a=1 g=0 相对于故障情况,还有三种情况:
a=0,g=1 a=0,g=0 a=1,g=1
d 2f f(xi 0,x j 1) f(xi 1,x j 0) d(xi ,x j )
4)xi(s-a-0),xj(s-a-0)
d 2f f(xi 0,x j 0) f(xi 1,x j 1) d(xi ,x j )
例:
c a b d
s-a-1
g s-a-0 f
df ad bd dg
df dg da
d 2f f(a 0,g 1) f(a 1,g 0) bd d(ag)
d 2f df df T { a g ag ag 1} d(ag) da dg { a b c d a g dg ag(ad bd) 1} { a b c d a c d ab c d 1} { a b c d a c d 1}
所以二阶布尔差分为:
d2 f b dg b d (ad bd ) ab d adg bdg d ( a, g )
布尔微分
• 布尔微分求测试集的思想是通过输入的变化和输出的 变化之间的关系来求得测试集。
测试矢量:
xi 1 f ( xi 1) f ( xi 0) 1
T0 : xi(f(xi 1) f(xi 0)) 1
2.2 内部故障
X) f f(h, h h(X)
a b c h
+
h:内部故障
f
1) h: s-a-1故障
测试矢量:
h 0 f (h 1) f (h 0) 1
T {0101,1X01 }
单故障测试矢量:
df(x) T1 { xi 1} dxi
Xi: s-a-1故障
df(x) T0 {xi 1} dxi
Xi: s-a-0故障
双故障xi(s-a-α),xj(s-a-β)的测试集为:
df df d 2f α β α β α β T { xi x j x i xj xi xj 1} dxi dxj d(xi ,x j )
2. 求测试矢量 故障c: s-a-1
df T1 {c 1} {abcd ac d bcd 1} dc
T1 : {0001, 1X 00, X 100}
故障c: s-a-0
df T0 {c 1} {abcd acd bcd 1} dc
T0 : {0011, 1X 10, X 110}
一阶:
f df xi dxi
二阶:
d2 f f f 2 f d ( xi , x j ) xi x j xi x j
证明:
f f 2 f xi x j xi x j df df d df ( ) dxi dx j dxi dx j [ f i ( xi ) f i ( xi )] [ f j ( x j ) f j ( x j )] d [ f j ( x j ) f j ( x j )] dxi
单故障测试矢量:
df(x) T1 { xi 1} dxi
Xi: s-a-1故障
df(x) T0 {xi 1} dxi
Xi: s-a-0故障
例:
a b
+
e
g
+
c d i h
f
f (a b)c c d
c故障
解:
1. 求f对c的一阶布尔差分
df f(c 1) f(c 0) dc d (a b) a bd ad bd
f(a 0,g 0) f(a 1,g 0) 1
在该情况下,有
a g[f(a 0,g 0) f(a 1,g 0)] 1
在该情况下,只有a的值与故障值不同,因此 只需考虑a的一阶布尔差分
df ag 1 da
3)a=1, g=1
f(a=1,g=1) f(a=1,g=0) 测试输入满足:
例: 一逻辑函数 f adg bdg
求f对a,g的二阶布尔差分。 解:
f df b dg a da f df ad bd g dg
g abc
2 f d df d (ad bd ) ( ) bd (d bd ) bd d b d ag da dg da
3. 如果存在第三个故障h(s-a-0),测试矢量又是 如何。
布尔偏差分
1. 定义
一阶布尔偏差分:
f df xi dxi 二阶布尔偏差分:
2 f f f ( ) ( ) xi x j xi x j x j xi
高阶可以依次类推。
2. 偏差分与布尔差分的关系
T1 : h ( f (h 1) f (h 0)) 1
2) h: s-a-0故障
测试矢量:
h 1 f (h 1) f (h 0) 1
T0 : h( f (h 1) f (h 0)) 1
测试矢量生成方法:
对一逻辑电路f(X),含有xi的固定性故障,则有测 试矢量: T1 : xi ( f ( xi 1) f ( xi 0)) 1
T0 : xi ( f ( xi 1) f ( xi 0)) 1 f ( xi 1) f ( xi 0) 是xi取不同值时的差异值,我们称
之为f对xi的一阶布尔差分,记为:
df f ( xi ) f ( xi ) dxi f ( xi 1) f ( xi 0)
+
h
f(a, c, g) adg bdg b, d,
ቤተ መጻሕፍቲ ባይዱ
g abc
解:
df d 2f α β df α β T { x x x i xj xi xj 1} dxi dxj d(xi ,x j )
α β i j
d 2f df df T { a g ag ag 1} d(ag) da dg
[ f ij ( xi , x j ) f ij ( xi , x j )] [ f ij ( xi , x j ) f ij ( xi , x j )] [ f ij ( xi , x j ) f ij ( xi , x j )] [ f ij ( xi , x j ) f ij ( xi , x j )] d2 f f ij ( xi , x j ) f ij ( xi , x j ) d ( xi , x j )
3. 一阶布尔差分的性质
(1) df df dxi dxi
(2) (3)
d ( fg ) dg df df dg f g dxi dxi dxi dxi dxi d ( f g) dg df df dg f g dxi dxi dxi dxi dxi d ( f g ) df dg dxi dxi dxi
组合电路测试
布尔差分法
D算法
伪穷举法
PODEM算法
布尔差分法
1. 思路
对于一输入矢量X,有: 正常输出 f(X) 故障输出 fα(X) 如果 f(X) f (X) 1 α 那么就可以确定存在故障。并可以求得测试矢 量。
2. 单故障测试矢量生成
2.1 输入端故障
要检测出故障,必须满足两个条件:
f(a 1,g 1) f(a 1,g 0) 1
在该情况下,有
ag[f(a 1,g 1) f(a 1,g 0)] 1
在该情况下,只有g的值与故障值不同,因此 只需考虑g的一阶布尔差分
df ag 1 dg
测试矢量:
T[ a ( s a 1 ) g ( sa 0 ) ] , { a g[f(a 0,g 1) f(a 1,g 0)] df df ag ag 1} da dg
多故障的测试集:
1. 当有k个故障时,求测试集的方程就有2k-1项; 2. 每一项就是在该种取值条件情况下,正常输出 和异常输出的异或 3. 当有k个故障时,就需要求1到k阶布尔差分。
x1 x2
g
&
1
x3 &
h 1. 求存在单故障x2(s-a-1)和g(s-a-1)的测试矢量
2. 求存在双故障x2(s-a-1)和g(s-a-1)的测试矢量
f(a 0,g 1) f(a 1,g 0) 1 是a,g取不同值时的差异值,
称之为f对a,g的二阶布尔差分。
定义二阶布尔差分:
d 2 f (X ) f ( x1 , x2 ,..., xi ,..., x j ,..., xn ) f ( x1 , x2 ,..., xi ,..., x j ,..., xn ) d ( xi , x j )
相关文档
最新文档