自作RISC-V CPUを何となく趣味でやっているが、Verilatorによるシミュレーションがちょっときつくなってきた。Verilator自体が高性能高機能高速シミュレータであることは間違いないのだけれども、やはり2値しか扱っていないのがつらい。 Verilator以外のシミュレーションツールとして無償で使用できそうなのはVivado Simulatorしか存在しないので、一応環境を構築しておくことにする。
Vivado SimulatorはQuestaSimと似ているのかな?コンパイルしてもバイナリが生成されるわけではなく、Vivado用のシミュレーションコマンドで動作させる。 以下の3ステップで動作させる。詳細なtclの中身とかは省略。そうするとwdbという独自の波形フォーマットを出してくるらしい。
xvlog --sv -i ../src -f filelist.f | tee -a sim.log xelab --timescale 1ns/1ps --mt off -debug all tb | tee -a sim.log xsim -t sim_vivado.tcl "work.tb" | tee -a sim.log
波形を見るときは以下のようにしてGUIを立ち上げる。
xsim -g work.tb --wdb work.tb.wdb&
一応波形が見れるようになったぜ。
しかし冷静に考えてみると、Vivado SimulatorはVCDも出せるわけだが、VCDで出してGTKWaveで見てもいいわけだ。
なるほどね。これでもいいわけだ。まあGTKWaveの使いにくさは解決しないけど...