FPGA開発日記

FPGAというより、コンピュータアーキテクチャかもね! カテゴリ別記事インデックス https://sites.google.com/site/fpgadevelopindex/

Vivado Simulatorを使ってシミュレーションを行う環境を立ち上げる(Mingwで挑戦)

以前、CMakeを使ってVerilogシミュレーションの環境を整える準備を行った。趣味でVerilogを書いている中で、Windows上のVivadoでシミュレーションを行う必要が出てきたため、環境を構築しよう。

msyksphinz.hatenablog.com

利用したのは、Cygwinから若干進化して、MingW64上で構築を行っている。

MingW上での必要なパッケージのインストール

Verilogの自動生成のための環境として、rubyと、cmakeのインストールを行った。 これはパッケージインストールをするだけで完了できる。

pacman -S ruby cmake

Vivadoの環境の構築

MingWの環境では、vivado_settingsもちゃんと動作した。

/c/Xilinx/Vivado/2015.4/settings64.sh

あとは、CMakeで必要なVerilogファイルを記述するだけだ。ファイルリストは、以下のようにしたものを利用している。

HW_DIR/mag_core/mag_top/sim/tb_mag_top.v
#include "../rtl/mag_top.f"

シミュレーションベンチと、RTLファイルリストを分けて記述している。 あとは、以前の記事でテンプレートを作成したCMakeLists.txtを移植して、cmakeの実行と、シミュレーションを実行するだけだ。

ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:85]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:93]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:101]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:109]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:117]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:125]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:133]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:141]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:149]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:157]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:165]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:173]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:181]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:189]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:205]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:565]
ERROR: [VRFC 10-1412] syntax error near , [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:573]
ERROR: [VRFC 10-91] IF_INST is not declared [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:53]
ERROR: [VRFC 10-91] IF_INST is not declared [C:/msys64/home/masayuki/work/magnetor-1/hardware/mag_core/mag_idu/rtl/riscv_ctrl.v:61]

いろいろと怒られてしまった。あとで修正しよう。