接下来是如何计算,不知道大家对任意b有没有熟悉的感觉,任意b说明b对输出无影响,在找冗余时,我们要找到对于任意b,存在一种输出是不可能出现的,对于不可能出现,其根本原因在于上一环节逻辑冗余的存在,所以我们要找的就是对于任意b依旧存在的逻辑冗余 。 也就可以表示为[X xor (a + b)] + [Y xor (ab)]在任意b的情况下等于1的输入组合 。 这里我们可以使用全部量化的方法计算,也就是计算(∨b)([X xor (a + b)] + [Y xor (ab)])
(∨b)([X xor (a + b)] + [Y xor (ab)])我们可以得到CNF的形式 。
([X xor (a + b)] + [Y xor (ab)])_(b=1) = X xor 1 + Y xor a = X’ + Y’a + Ya’
([X xor (a + b)] + [Y xor (ab)])_(b=0) = X xor a + Y xor 0 = X’a + Xa’ + Y
两式求与
(X’ + Y’a + Ya’) * (X’a + Xa’ + Y)
=X’a + X’Y + X’Y’a + XYa’ + Ya’
=X’a + X’Y + Ya’
再根据Boolean Constraint Propagation逻辑约束传递的方法得到最终冗余 。
除此之外,还存在另一种形式的环节之间约束的传递,那就是最初的输入存在冗余,也就是在最开始就人为规定有些输入不存在,对于这样的冗余,他不再具有逻辑性,所以我们不能用xor,此时,我们寻找另一种方法 。
我们需要做的就是让之前那个计算式在冗余的输入的情况下能够返回1就可以了 。 既然如此,我们只需要增加冗余输入的1的形式就好了 。
例子
依旧是上面的例子 X = a + b , Y = ab , F = Xc + Yd + acd
我们增加的约束是 b c d 不能同时是1
情况依旧是,对任意的b来说,存在情况满足[X xor (a + b)] + [Y xor (ab)]为1,只不过由于最初的输入限制 b c d 不能同时是1,所以在b c d 同时为1 的情况下结果也要输出1 。 所以我们只需要在[X xor (a + b)] + [Y xor (ab)]加上bcd,即[X xor (a + b)] + [Y xor (ab) + bcd]
计算部分和上面一样 。
最后就是找到对输出无影响的冗余
对输出有影响我们可以怎么表示,使用boolean difference ?f / ?x
当?f / ?x为1有影响,为0 无影响 。
所以我们只需要计算[Z(F=0) xor Z(F=1)] 是否等于0就好了,由于我们的Boolean Constraint Propagation逻辑约束传递一般判断结果为1,所以我们在最后加上非运算 。
由于F自身存在约束,所以对F 中存在的输入我们需要考虑,而对F中没有的输入,我们要求任意输入都满足 。
例子
F = ab’ + a’b Z = ab + Fc’ +F’b’
(∨c)(Z(F=1) xor Z\(F=0))就是我们要计算的式子 。
但是这一式子只考虑了F没有约束情况下的冗余,我们还需要做的是将F的约束情况加入,约束情况就是F xor (ab’ + a’b),我们可以得到abF的关系,在计算过程中,将abF关系代入得到最终结果就是有约束情况的冗余 。
参考文献
最后以上就是基础知识的全部内容
需要网络安全学习资料的可以关注私我哦!
【网络安全学习攻略】

【三 硬件安全系列 逻辑电路基础知识介绍】
猜你喜欢
- 音响电路基本概念和基础知识
- 亲身经历 西安旅游攻略
- 瑜伽三角式体式
- 推荐茶壶的三大鉴赏因素,红茶和绿茶的区别
- 安化黑茶,即是黑茶也是“青茶”
- 养鸽禁忌这三条,获奖几率会很大
- 安化黑茶能治什么病?安化黑茶怎么喝好?
- 解读安溪茶文化,袋泡茶
- 三郡逢春复乍晴写的是哪里 山郡逢春复乍晴是谁写的
- 教学质量评价三类评估包括哪些 教学质量评价三类评估
