ハードウェア記述言語と検証

非同期リセットを使う回路で、リセットの解除(0から1への変化)を2段のフリップフロップでクロックに同期させてから各回路に配る理由として正しいものはどれか。

  1. Aリセットをかけるのを、2クロック分遅らせて安全にするため
  2. Bリセットの信号を2倍の速さにするため
  3. C解除がクロックのエッジに近いと、フリップフロップごとに解除されるサイクルがずれたり不安定になったりするので、解除をクロックにそろえるため
答えと解説を見る

正解:C. 解除がクロックのエッジに近いと、フリップフロップごとに解除されるサイクルがずれたり不安定になったりするので、解除をクロックにそろえるため

非同期リセットの解除がクロックのエッジの直前や直後に起こると、解除のための時間の条件を満たせず、あるフリップフロップは今のサイクルで、別のものは次のサイクルで動き始める、といったずれが生じます。状態機械が不正な状態から始まる原因になります。リセット同期化回路は、リセットをかけるときはすぐに効かせ、解除だけを2段のフリップフロップでクロックにそろえて全体に配ります。

  • A. リセットをかけるのは、すぐに効かせます。
  • B. 速さを変えるものではありません。
  • C. 正しい。リセットをかけるのは非同期、解除は同期という形です。
この分野を解く 分野ページへ

ハードウェア記述言語と検証のほかの問題

  1. HDLで書く状態機械(ステートマシン)の基本的な構成として正しいものはどれか。
  2. 上の状態機械の記述で、2つ目のalwaysブロックの先頭に「next = state;」を書いている理由として正しいものはどれか。
  3. ミーリ型の状態機械の特徴として正しいものはどれか。
  4. 状態機械の状態の符号化で、ワンホット符号化の特徴として正しいものはどれか。
  5. 3つの状態を持つ状態機械で、状態を覚えるのに必要なフリップフロップの数の組み合わせとして正しいものはどれか(バイナリ符号化/ワンホット符号化)。