ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

[Verilog][FPGA][Vivado] ノートPCでVivado simulatorを動かす。

どうも出張が多く出先で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に無事クロック入ってます。よかった