知らない人のために、レースハザード定理(RHT)は次のように述べています。
A x B + A 'x C = A x B + A' x C + B x C
RHTの他の部分、時間遅延などについては理解していますが、上記の論理ステートメントが正しいはずなのかわかりません。誰かがこれを理解するのを手伝ってくれますか?
知らない人のために、レースハザード定理(RHT)は次のように述べています。
A x B + A 'x C = A x B + A' x C + B x C
RHTの他の部分、時間遅延などについては理解していますが、上記の論理ステートメントが正しいはずなのかわかりません。誰かがこれを理解するのを手伝ってくれますか?
回答:
他の人が指摘したように、数学的にはステートメントはまったく同じであり、追加の用語は「冗長」です。ここで彼らの数学的証明をコピーすることも「冗長」です。
また、3つの入力の組み合わせに対して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
追加の用語の目的は、BとCの両方が高いときにAがトグルを起こさないようにすることです。
例として、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 [単純化AND真]
= 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 [配布]
= A x B + A x B x C + A 'x C + A' x B x C [真でANDを単純化]
= 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 [因数分解]
= A x B + A' x C + 1 x B x C [OR否定は真]
= A x B + A 'x C + B x C [右側]
ケースによる証明:
すべての場合において、LHSはRHSと同等です。したがって、2つの式は常に同じ値に評価されると結論付けます。
参照: