電気回路/HDL/ISim 事始め のバックアップソース(No.1)
更新[[公開メモ]] * Xilinx が ModelSim の無償版&廉価版の配布を中止との情報 [#ta34907b] http://marsee101.blog19.fc2.com/blog-entry-1570.html Xilinx 向けには ModelSim は敷居の高い環境になってしまいました。 そこで、ISim を使ってみることに。 これまでの感触では、ModelSim が使えないのはかなり致命的な 気がしているのですが、食わず嫌いだったと判明することを期待しながら。。。 * コンパイルとGUIの起動 [#qb943146] テストベンチ synchronize_test.v に対して ISE から Simulate Behavioral Model をダブルクリックしたところ、起動プロセスは + まず必要な *.v をコンパイルして synchronize_test_isim_beh.exe というシミュレーション用 実行ファイルを生成 fuse -intstyle ise \ -incremental \ -d simulation \ -lib unisims_ver \ -lib unimacro_ver \ -lib xilinxcorelib_ver \ -o synchronize_test_isim_beh.exe \ -prj synchronize_test_beh.prj \ work.synchronize_test work.glbl + そして、ISim シミュレーションエンジン GUI を起動 synchronize_test_isim_beh.exe \ -gui \ -tclbatch isim.cmd \ -view sdram_arbiter_test.wcfg \ -wdb synchronize_test_isim_beh.wdb あれ?~ ということは、&COLOR(red){ソースを修正したら GUI を一旦落とさないとリコンパイルできない???};~ * コマンドのエイリアス [#t3d16d4a] 一連のコマンドを連続して実行したいような場合、~ 例えば、シミュレーションをリスタートして 10 us 走らせるなら、 Console ウィンドウで ISim> restart ISim> run 10us と打てばいいのですが、こういった処理を毎回手で打つのは面倒なので、 ModelSim では alias というコマンドを使って、rs という新しいコマンドを作って、 rs と2文字打つだけで複雑なコマンドを実行することができました。 ModelSim> alias rs "restart -force; run 10us" ModelSim> rs その他にも、例えば ModelSim> alias re "do {synchronize_test.fdo}" ModelSim> alias sv "write format wave trimac_tx_test_wave.fdo" ModelSim> alias q "quit" としておけば、re だけでソースのリコンパイル&再実行ができますし、 sv でウェーブウィンドウの設定を保存できました。 ISim のマニュアルで Alias の項を探したところ、あるにはあったのですが、 信じられないことに、 ISim> set rs "restart; run 10us" ISim> eval $rs というのが、対応する方法だそうです。 やっているのは、rs という名前の文字列変数に値を入れておいて、 それを eval (evaluate) しているわけですが、、、~ これではタイプ量が減らない(泣 あんまりうれしくないです。
Counter: 19518 (from 2010/06/03),
today: 1,
yesterday: 1