xilinx ip を含む modelsim でのシミュレーション
簡単なのはvivado のプロジェクトを使う方法だが、modelsimのguiを使いたくない場合や、systemverilogを使いたい場合があり、vivadoプロジェクトだとできないことがある。(できるかもしれないけど、とりあえず)
modelsimは自分でdofileまたはmakefileを作ったほうが痛いところに手がとどくし、make なにがしでシミュレーション実行まで出来るようになる。
simlibの作成
vivadoのtclコマンドで作れる
compile_simlib -language all -dir {hoge/simlib} -simulator modelsim -simulator_exec_path {C:/modelsim/win32pe} -library all -family all
simlibをコンパイルしたら、シミュレーションmakefileで下記を追加しておけばOK
vlib $(simlib_dir)/secureip vmap secureip $(simlib_dir)/secureip vlib $(simlib_dir)/unimacro vmap unimacro $(simlib_dir)/unimacro vlib $(simlib_dir)/unifast vmap unifast $(simlib_dir)/unifast vlib $(simlib_dir)/unisim vmap unisim $(simlib_dir)/unisim vlib $(simlib_dir)/unimacro_ver vmap unimacro_ver $(simlib_dir)/unimacro_ver vlib $(simlib_dir)/unifast_ver vmap unifast_ver $(simlib_dir)/unifast_ver vlib $(simlib_dir)/unisims_ver vmap unisims_ver $(simlib_dir)/unisims_ver vlib $(simlib_dir)/simprims_ver vmap simprims_ver $(simlib_dir)/simprims_ver
ip のmodelsimライブラリ化
簡単なのは一回vivadoでmodelsim ターゲットでシミュレーションを行うこと。
それにより、シミュレーション起動のdoファイルが生成サれるため、そのdoファイルからvlib,vcom,vlog,vmapをコマンドを自分のmakefileにコピペしておけばOK
自作コード
自作コードは普通にvlog,vcomで追加。