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

論理合成や配置配線の後の回路(ゲートレベルのネットリスト)で、遅延の情報を入れてシミュレーションを行う主な目的はどれか。

  1. ARTLのシミュレーションより速く大量のテストを実行する
  2. BRTLのシミュレーションでは見えない、初期化やリセットの不具合、合成の結果の違い、遅延に関係する問題を確かめる
  3. C回路の面積を小さくする
答えと解説を見る

正解:B. RTLのシミュレーションでは見えない、初期化やリセットの不具合、合成の結果の違い、遅延に関係する問題を確かめる

RTLのシミュレーションは速いものの、X楽観主義で不定値の問題が隠れたり、合成で記述と違う回路になったりした場合には気づけません。ゲートレベルのシミュレーションでは、実際に作られたゲートとフリップフロップで動きを確かめ、SDFの形式で各ゲートと配線の遅延を与えれば、遅延に関係する問題も見えます。ただし非常に遅いので、限られたテストだけで行うのが一般的です。

  • A. ゲートレベルのシミュレーションはずっと遅くなります。
  • B. 正しい。遅延の情報はSDFなどの形式で与えます。
  • C. 面積を変えるものではありません。
この分野を解く 分野ページへ

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

  1. 上の記述のように、フリップフロップを通らずに組み合わせ回路の出力が自分の入力に戻ってくる形を何と呼び、なぜ避けるべきか。
  2. 上の記述をFPGA向けに論理合成すると、一般にどう扱われるか。
  3. 組み合わせ回路で、if・else ifを長くつないだ記述と、条件が互いに重ならないcase文の記述を比べたときの説明として正しいものはどれか。
  4. Verilogの等号の演算子「==」と「===」の違いとして正しいものはどれか。
  5. VerilogなどのHDLで書いた記述と、C言語などのソフトウェアのプログラムとの大きな違いとして正しいものはどれか。