・Vivado2018.02
・Modelsim10.5b(Intel FPGA Starter Edition)
【手順】
[ModelSim用ライブラリをコンパイル(初回のみ)]
①Vivado実行用Tclファイルを作成(simlib_compile.tcl)
compile_simlib \
-directory {simlib} \
-family kintex7 \
-language all \
-library unisim \
-simulator modelsim \
-simulator_exec_path {c:\Tool\Intel\18.1\modelsim_ase\win32aloem} \
-32bit \
-verbose
②Vivado"TclConsole"にてコンパイル実行$source simlib_compile.tcl※コンパイル時間は上記で約1時間
※コンパイルしたVivadoライブラリを移動させた場合、"modelsim.ini"内のパスも移動先パスに変更すること。
[コンパイル&シミュレーション実行例]
③ModelSim実行用Tcl作成(run.tcl)
# Path Setting
# ===============================================================================
set PROJECT_NAME "TEST"
set VIVADO_INSTALL "c:/Tool/Xilinx/Vivado/2018.2"
set VIVADO_LIBRARY "c:/vivado/compile_simlib/modelsim"
append IP "../" $PROJECT_NAME ".srcs/sources_1/ip"
append IPSTATIC "../" $PROJECT_NAME ".ip_user_files/ipstatic"
# Library
# ===============================================================================
vlib work
vmap work work
vmap unisims_ver $VIVADO_LIBRARY/unisims_ver
vmap unisim $VIVADO_LIBRARY/unisim
vmap unimacro_ver $VIVADO_LIBRARY/unimacro_ver
vmap unimacro $VIVADO_LIBRARY/unimacro
vmap secureip $VIVADO_LIBRARY/secureip
set VSIM_LIB "-L work -L unisims_ver -L unisim -L unimacro_ver -L unimacro "
append VSIM_LIB "-L secureip "
# Compile
# ===============================================================================
vlog -work work $VIVADO_INSTALL/data/verilog/src/glbl.v
# MMCM(IP)
vlog -work work -sv $VIVADO_INSTALL/data/ip/xpm/xpm_cdc/hdl/xpm_cdc.sv
vcom -work work -93 $VIVADO_INSTALL/data/ip/xpm/xpm_VCOMP.vhd
vlog -work work $IP/MMCM_GEN/MMCM_GEN_clk_wiz.v
vlog -work work $IP/MMCM_GEN/MMCM_GEN.v
# User RTL
vlog -work work -lint ../HDL/test.v
vlog -work work ./TB.v
# vsim
# ===============================================================================
set EXEC_VSIM "work.TB work.glbl "
append EXEC_VSIM "-t ps "
append EXEC_VSIM "-l vsim.log "
append EXEC_VSIM "-novopt "
append EXEC_VSIM "-wlf vsim.wlf "
append EXEC_VSIM $VSIM_LIB
append EXEC_VSIM " -do " {"add wave -r *; run -all; quit"}
eval vsim $EXEC_VSIM
④ModelSim"Transcript"にてシミュレーション実行
$vsim -c -do run.tcl
【参考】
①[AR# 64083]サードパーティ シミュレータ用に Vivado シミュレーション ライブラリをコンパイルする方法
②ModelSim Command Reference Manual
③3ステップで実行-ModelSimコマンドライン(Verilog)