ランダムテストについて

ランダムテストについていろいろ調査するにあたって、出来るかどうかは別として考えをまとめます。

ランダムテストというのはやったことがないのですが、使用する乱数は一様分布じゃなくてある程度分布が制御できるといいのではないかなと思います。例えば、poor man's ruby(長!)でFloatのチェックをするときは、0..±1 と指数部を6bit一杯に使う数とかそういうところにバグが潜んでいそうです。
そういう数を優先的に出せるように、どういう数が出やすくなるかを制御出来る、または生成されたもののフィルタリングがあるといいのではないかと思います。かといって、そういう数だけしか出ないと、ランダムテストとはいえなくなってしまいます。
そういえばVerilogだと確かテストベンチを書くためにいろいろな分布(正規分布とかポアソン分布とか)に従う乱数を得る関数が用意されていたような気がします。

Rushcheckを少し見たのですが、データ型に応じて個々に生成処理を作らなければならないのだなと気づきました。考えてみれば当たり前なんですが、ちゃんとやると膨大なシステムになりそうです。

おまけ
Verilog機械語より高級なんだろうか?低級なんだろうか?フルセットでは高級なんでしょうが、例えばRTLレベルだけに限っちゃうと?