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

次のVerilogの記述のうち、論理合成で回路にならず無視されるもの(シミュレーション用の記述)はどれか。

  1. Aassign文
  2. Balways @(posedge clk)
  3. C#10 のような遅延の指定
答えと解説を見る

正解:C. #10 のような遅延の指定

「#10」は、シミュレーションの中で時間を10単位進めることを表しますが、論理合成は遅延を作ることができないので無視します。回路の実際の遅延は、使うゲートや配線で決まります。ほかにも、$displayのような表示の命令や、ファイルの読み書きなど、テストベンチ用の記述は回路になりません。合成するRTLの中にこうした記述を混ぜると、シミュレーションと実機の動きが違う原因になります。

  • A. assign文は組み合わせ回路になります。
  • B. これはフリップフロップになります。
  • C. 正しい。遅延は配置配線後の回路で決まります。
この分野を解く 分野ページへ

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

  1. 上のように8ビットのdの中の1の数を数える記述を論理合成すると、どのような回路になるか。
  2. 上の記述のリセットの種類と動作として正しいものはどれか。
  3. 同期リセットと非同期リセットの違いとして正しいものはどれか。
  4. 非同期リセットを使う回路で、リセットの解除(0から1への変化)を2段のフリップフロップでクロックに同期させてから各回路に配る理由として正しいものはどれか。
  5. HDLで書く状態機械(ステートマシン)の基本的な構成として正しいものはどれか。