ハードウェア記述言語と検証
SystemVerilogの制約付きランダム検証の説明として正しいものはどれか。
- A入力の値を、仕様で許される範囲や組み合わせの条件(制約)の中でランダムに作り、人が思いつかない場合も含めて広く試す
- B入力の値を完全にでたらめに作り、仕様にない値も多く与える
- C入力の値を人がすべて手で書く
答えと解説を見る
正解:A. 入力の値を、仕様で許される範囲や組み合わせの条件(制約)の中でランダムに作り、人が思いつかない場合も含めて広く試す
人が考えたテスト(指定型のテスト)だけでは、設計者が想定しなかった組み合わせの不具合を見逃しがちです。制約付きランダム検証では、例えば「アドレスは4の倍数」「長さは1〜256」のような制約を書き、その中でランダムに入力を作るので、意味のある入力だけで多くの場合を試せます。どの場合を試せたかはカバレッジで測り、足りない部分は制約を変えたり指定型のテストで補ったりします。
- A. 正しい。カバレッジと組み合わせて使います。
- B. 仕様にない入力ばかりでは、意味のある検証になりません。
- C. それは指定型のテストです。