Diary/2012-1-25
ISimでのシミュレーションの時間
シミュレーション時間ではなくて,
シミュレーション"の"時間を測定したくなったので,
いろいろ考えてみたのだけど,
Tclスクリプトでやるのが簡単そうだ,という結論に.
proc test { } { restart; set a [clock clicks -milliseconds]; run -all; set b [clock clicks -milliseconds]; expr $b - $a; }
と関数を定義して(実際には1行で入力した)おいて,
test
とすることで計測可能.
特定のシミュレーション時間ということであれば,
run 1000000ns;
とかにする.
Tclスクリプト,はじめて書いてみたのだけど,
[]が,シェルスクリプトの``だと思えば馴染めないこともない,かな.
ちなみに,GUIで波形表示だと,その分のオーバヘッドもあるので,
それがいやな場合は,
コマンドラインからシミュレーションを実行すればいい.
まず
restart; set a [clock clicks -milliseconds]; run -all; set b [clock clicks -milliseconds]; puts [expr $b - $a]; quit;
とかTclなスクリプトをtest.tclに保存して,
ISEのプロジェクトディレクトリで,
hoge.exe -tclbatch test.tcl
とか実行すればよい.