Answers:
正如其他人指出的那样,从数学上讲,这些语句是完全相同的,并且附加术语是“冗余”。在这里复制他们的数学证明对我来说也是“多余的”。
您还可以通过为三个输入组合制作一个8行真值表来轻松地验证这些语句是否等效。
A B C A*B + A'*C A*B + A'*C + B*C
0 0 0 0 0
0 0 1 1 1
0 1 0 0 0
0 1 1 1 ** hazard b/w states 1
1 0 0 0 0
1 0 1 0 0
1 1 0 1 1
1 1 1 1 ** hazard b/w states 1
多余项的目的是防止A在B和C都很高时引起任何翻转。
例如,假设A和A'之间有一个有限的时间延迟(合理)。现在还要考虑B和C均为“ 1”。如您在下面的波形中所见,输出端有一个毛刺。
假设逻辑为静态CMOS,则故障可以恢复。但是,如果它是某种形式的动态逻辑,则可能会传播错误。
添加冗余项是解决故障的解决方案。
{A,A',B,C}
其限制为8个值;为什么?存在这种瞬时A = A'条件。
布尔代数证明:
A x B +
A'x C [左手边] = A x B x 1 + A'x C x 1 [不简化且为真]
= A x B x(1 + C)+ A'x C x( 1 + B)[True OR any]
= A x B x 1 + A x B x C + A'x 1 x C + A'x B x C [Distribute]
= A x B + A x B x C + A 'x C + A'x B x C [使用true简化并]
= A x B + A'x C + A x B x C + A'x B x C [重新排列项]
= A x B + A'x C +(A + A')x B x C [Factorize]
= A x B + A'x C + 1 x B x C [OR否定为真]
= A x B + A'x C + B x C [右侧]
案例证明:
在所有情况下,LHS等于RHS。因此,我们得出结论,这两个公式始终求值相同。
参考文献: