脚本仿真+do+Xilinx ip +

 

 

脚本每条的意思是可以参考b站 

modelsim脚本独立仿真VIVADO的IP核

 https://www.bilibili.com/video/BV1HVJNzmE8V/?spm_id_from=333.337.search-card.all.click&vd_source=ac9167e61e0c909658ec9e3b6350cd4e

 

# 退出当前仿真
quit -sim
# 清除命令和信息
.main clear
#创建一个库目录 modelsim_lib
vlib ./modelsim_lib
#创建一个库的子目录 modelsim_lib/user
vlib ./modelsim_lib/user
#user库名称与库的路径对应
vmap user ./modelsim_lib/user
#将仿真文件编译进指定的库中
#vlog -incr -work user "D:/usms/do_sim_test_example/rtl/counter.v"
#vlog -incr -work user "D:/usms/do_sim_test_example/rtl/tb_counter.v"

vlog -incr -work user "D:/usms/do_sim_test_example_ip/rtl/*.v"

#--------------fifo_ip中comile.do------------------------------
vlib modelsim_lib/work
vlib modelsim_lib/msim

vlib modelsim_lib/msim/xil_defaultlib
vlib modelsim_lib/msim/xpm
vlib modelsim_lib/msim/fifo_generator_v13_2_4

vmap xil_defaultlib modelsim_lib/msim/xil_defaultlib
vmap xpm modelsim_lib/msim/xpm
vmap fifo_generator_v13_2_4 modelsim_lib/msim/fifo_generator_v13_2_4

vlog -work xil_defaultlib -64 -incr -sv \
"D:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_cdc/hdl/xpm_cdc.sv" \
"D:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv" \

vcom -work xpm -64 -93 \
"D:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd" \

vlog -work fifo_generator_v13_2_4 -64 -incr \
"../top.ip_user_files/ipstatic/simulation/fifo_generator_vlog_beh.v" \

vcom -work fifo_generator_v13_2_4 -64 -93 \
"../top.ip_user_files/ipstatic/hdl/fifo_generator_v13_2_rfs.vhd" \

vlog -work fifo_generator_v13_2_4 -64 -incr \
"../top.ip_user_files/ipstatic/hdl/fifo_generator_v13_2_rfs.v" \

vlog -work xil_defaultlib -64 -incr \
"../top.srcs/sources_1/ip/flash_fifo/sim/flash_fifo.v" \

#启动仿真,并指定优化选项,翻转包含的全部库,以及顶层文件
vsim -voptargs="+acc"  \
-L user \
-L xil_defaultlib          \
-L xpm                     \
-L fifo_generator_v13_2_4  \
-L unisims_ver             \
-L unimacro_ver            \
-L secureip                \
-lib user top_tb glbl

#Add signal into wave window
do wave.do
############################## 运行#############################
run 4ms
sim.do

 

image

 

image

image

 

image

 

vlib modelsim_lib/work
vlib modelsim_lib/msim

vlib modelsim_lib/msim/xil_defaultlib
vlib modelsim_lib/msim/xpm
vlib modelsim_lib/msim/fifo_generator_v13_2_4

vmap xil_defaultlib modelsim_lib/msim/xil_defaultlib
vmap xpm modelsim_lib/msim/xpm
vmap fifo_generator_v13_2_4 modelsim_lib/msim/fifo_generator_v13_2_4

vlog -work xil_defaultlib -64 -incr -sv \
"D:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_cdc/hdl/xpm_cdc.sv" \
"D:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_memory/hdl/xpm_memory.sv" \

vcom -work xpm -64 -93 \
"D:/Xilinx/Vivado/2019.1/data/ip/xpm/xpm_VCOMP.vhd" \

vlog -work fifo_generator_v13_2_4 -64 -incr \
"../../../ipstatic/simulation/fifo_generator_vlog_beh.v" \

vcom -work fifo_generator_v13_2_4 -64 -93 \
"../../../ipstatic/hdl/fifo_generator_v13_2_rfs.vhd" \

vlog -work fifo_generator_v13_2_4 -64 -incr \
"../../../ipstatic/hdl/fifo_generator_v13_2_rfs.v" \

vlog -work xil_defaultlib -64 -incr \
"../../../../top.srcs/sources_1/ip/flash_fifo/sim/flash_fifo.v" \

vlog -work xil_defaultlib \
"glbl.v"
compile.do

 

onbreak {quit -f}
onerror {quit -f}

vsim -voptargs="+acc" -t 1ps -L xil_defaultlib -L xpm -L fifo_generator_v13_2_4 -L unisims_ver -L unimacro_ver -L secureip -lib xil_defaultlib xil_defaultlib.flash_fifo xil_defaultlib.glbl

do {wave.do}

view wave
view structure
view signals

do {flash_fifo.udo}

run -all

quit -force
simulate.do

 

simulate.do中只需要参考vsim 那一条,库,

 

这里的工程使用了fifo ip,可从工程中的top.ip_user_files\sim_scripts\flash_fifo文件夹下找到compile.do与simulate.do文件作为参考

融合到自己写的sim.do文件中,

 

 

注意点是:

1.从compile.do复制到sim.do,路径需要修改;从sim.do起始去找那个对应的文件,../表示向上一层目录

2.glbl,如果提示报错,将glbl作为顶级模块仿真,如:-lib user top_tb glbl

3.最好把xilinx仿真库文件添加上我们仿真工程的modelsim.ini文件中,(下文有参考)

使用do文件进行仿真时出现“failed tofind ‘glbl’in hierarchical name ‘/glbl/GSR‘“的解决办法

https://blog.csdn.net/qq_40195195/article/details/126796866

方法:将glbl作为顶级模块仿真

在ModelSIM error "Failed to find 'glbl' in hierarchical n | Forum for Electronics (edaboard.com)网业中,有人提到:

 

image

 

所以在do文件里加一句:vsim [options] work.my_design work.glbl即可。

注意:my_design就是工程的激励文件名。

 

使用modelsim仿真调用Xilinx IP核的通用方法

 https://blog.csdn.net/weixin_39789553/article/details/108595621

一、编译生成xilinx仿真库文件
1、按照下图操作

image

 2、选择仿真库文件存放的路径

image

 二、将xilinx仿真库文件映射到modelsim库
1、 在仿真库文件存放的路径下找到modelsim.ini文件。

image

 2、在modelsim.ini文件中搜索“mvc_lib = $MODEL_TECH/…/mvc_lib”关键词,将其下方的库文件复制粘贴到modelsim安装目录下的modelsim.ini启动文件中。

image

 3、搜索“modelsim_lib = $MODEL_TECH/…/modelsim_lib”关键词,库文件粘贴的位置如下图所示。

image

 4、按照上面步骤操作后,重新打开modelsim可以看到界面左侧多了很多库文件。

image

 

posted on 2025-11-28 14:34  taylorrrrrrrrrr  阅读(3)  评论(0)    收藏  举报