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

ランダムな入力を使うテストで、乱数のシード(種)を記録しておく理由として正しいものはどれか。

  1. A同じシードを使えば同じ入力の並びを再現でき、見つかった不具合を何度でも調べ直せるから
  2. Bシードを記録すると、乱数がより速く作れるから
  3. Cシードを記録しないと、シミュレーションが始まらないから
答えと解説を見る

正解:A. 同じシードを使えば同じ入力の並びを再現でき、見つかった不具合を何度でも調べ直せるから

シミュレーションの乱数は、シードから決まった手順で作られる擬似乱数なので、同じシードなら同じ並びになります。ランダムなテストで不具合が見つかっても、シードが分からなければ同じ状況を作り直せず、原因を調べたり、修正後に直ったかを確かめたりできません。毎回違うシードで多くのテストを回し、失敗したときのシードを記録しておくのが基本です。

  • A. 正しい。再現できない不具合は直すのが難しくなります。
  • B. 速さとは関係ありません。
  • C. 記録しなくても始まります。
この分野を解く 分野ページへ

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

  1. SystemVerilogの制約付きランダム検証の説明として正しいものはどれか。
  2. 回路の設計で行われる回帰テスト(リグレッションテスト)の説明として正しいものはどれか。
  3. SystemVerilogのlogic型の利点として正しいものはどれか。
  4. SystemVerilogのalways_ffやalways_combを、Verilogのalwaysの代わりに使う利点として正しいものはどれか。
  5. 上のようにparameterを使ってmoduleを書く利点として正しいものはどれか。