
ラッチとフリップフロップの違いは、フリップフロップに格納された値はクロック間隔でのみパルスで変更できるという点です。
しかし、それを行う本当の必要性は何でしょうか?
つまり、入力によって値を変更できるのであれば、なぜシステムクロックによっても制御する必要があるのでしょうか?
ありがとうございます
答え1
遷移中のエラーを回避するため。(Google で「電子機器の不具合」を検索)
たとえば、入力が 2 つある場合、それらが同時に変更され、この遷移中に予期しない結果が生じる可能性があります。
たとえば、A=1、B=0、A+B=1 (+ = OR) が同時に変化する場合、A=0、B=1、A+B=1 となりますが、この遷移中に A=0 の場合、B は上昇する可能性がありますが、それでも B=0 を表し、短い間隔で A+B=0 になります。
すべてのフリップフロップの状態を CLK エッジでのみ変更すると、次のエッジまですべての信号が安定し、ロジックが目的の値で実行されるようになります。