- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!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
とか実行すればよい.