どうも出張が多く出先でSimしたいんだけど、でかいノートPC持ち運ぶのが辛い人向け。コマンドラインを中心にRTL simできる方法を調べたメモ。
ノートPCでVivaoするときの問題点
画面小さい!
最初の一歩
小さい画面でもなんとかSimできるところまで持って行く。僕のVaio S11だとこんな感じ。
ちょっとはまったのは、simのトップの設定。どうも自動的には認識してくれません。topを指定するためには、Sourceの所からSimulation Sources、テストベンチ名へと進み、トップモジュールを選択します。右クリックをして、Set as topを選んでください。図は選択済みなのでメニューがディゼーブルですが、トップが選択されていなければイネーブルになっています。
バッチファイルの実行
Vivadoの作業領域から <プロジェクト名>.sim\sim_1\behavのようなディレクトリにコマンドライン用のバッチファイルが3つあるので、それを順番に実行すればOK。順番はcompile.bat, elaborate.bat, simulation.batの順です。Windowsのコマンドプロンプトで実行すると、実行後コマンドプロンプトが落ちてしまいます。ログはファイルにも出力されるので、なんとなくダブルクリックでも良い雰囲気です。
僕はemacsのeshellから実行していますが、この方法だと落ちません。Vivadoのマニュアルと格闘しかけましたが、当面この方法でなんとかなりそうです。
波形の表示
https://japan.xilinx.com/support/answers/53351.html
ここを参考に、xsimが立ち上がった状態で、
open_vcd log_vcd [get_object "/*/*"] run -all close_vcd
等とすればOKです。これで、dump.vcdができるので、gtkwave等で表示しましょう。
log_vcdに与える階層については、試行錯誤するより/*/*とかでDUTまで全部表示して、gtkwaveの表示見ながら直した方が早いと思います。結構はまるので。
DUTに無事クロック入ってます。よかった