ハードウェア記述言語と検証
非同期リセットを使う回路で、リセットの解除(0から1への変化)を2段のフリップフロップでクロックに同期させてから各回路に配る理由として正しいものはどれか。
- Aリセットをかけるのを、2クロック分遅らせて安全にするため
- Bリセットの信号を2倍の速さにするため
- C解除がクロックのエッジに近いと、フリップフロップごとに解除されるサイクルがずれたり不安定になったりするので、解除をクロックにそろえるため
答えと解説を見る
正解:C. 解除がクロックのエッジに近いと、フリップフロップごとに解除されるサイクルがずれたり不安定になったりするので、解除をクロックにそろえるため
非同期リセットの解除がクロックのエッジの直前や直後に起こると、解除のための時間の条件を満たせず、あるフリップフロップは今のサイクルで、別のものは次のサイクルで動き始める、といったずれが生じます。状態機械が不正な状態から始まる原因になります。リセット同期化回路は、リセットをかけるときはすぐに効かせ、解除だけを2段のフリップフロップでクロックにそろえて全体に配ります。
- A. リセットをかけるのは、すぐに効かせます。
- B. 速さを変えるものではありません。
- C. 正しい。リセットをかけるのは非同期、解除は同期という形です。