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

同期リセットと非同期リセットの違いとして正しいものはどれか。

  1. A同期リセットはクロックに関係なく効き、非同期リセットはクロックのエッジでだけ効く
  2. B同期リセットはクロックのエッジでだけ効き、非同期リセットはクロックに関係なくすぐに効く
  3. Cどちらもまったく同じ動作で、名前が違うだけである
答えと解説を見る

正解:B. 同期リセットはクロックのエッジでだけ効き、非同期リセットはクロックに関係なくすぐに効く

同期リセットは、リセットの信号をほかの入力と同じようにクロックのエッジで取り込むので、タイミングの解析がしやすい一方、クロックが動いていないとリセットできません。非同期リセットはフリップフロップのリセット端子を直接使うので、クロックがなくてもすぐにリセットできますが、解除の瞬間がクロックのエッジに近いと、フリップフロップごとに解除のタイミングがばらつく恐れがあります。

  • A. 逆です。
  • B. 正しい。それぞれ利点と注意点があります。
  • C. リセットが効くタイミングが違います。
この分野を解く 分野ページへ

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

  1. 非同期リセットを使う回路で、リセットの解除(0から1への変化)を2段のフリップフロップでクロックに同期させてから各回路に配る理由として正しいものはどれか。
  2. HDLで書く状態機械(ステートマシン)の基本的な構成として正しいものはどれか。
  3. 上の状態機械の記述で、2つ目のalwaysブロックの先頭に「next = state;」を書いている理由として正しいものはどれか。
  4. ミーリ型の状態機械の特徴として正しいものはどれか。
  5. 状態機械の状態の符号化で、ワンホット符号化の特徴として正しいものはどれか。