トップ 一覧 Farm 検索 ヘルプ RSS ログイン

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
とか実行すればよい.