vivado 和 modelsim联合仿真

1)随便打开一个vivado工程,

2)配置3rd party,
设置install path,
D:\modeltech64_10.6e\win64,
设置default compiled library location,
D:/Xilinx/xilinxsimlib,

3)tools->compile simulate library,
compiled library location选择一个新建的所需要放置的位置,
例如:
D:/Xilinx/xilinxsimlib,
如果勾选compile IP,那么xilinxIP也会被编译进去。
建议不勾选,

编译完成后,可以找到一堆文件夹,以及一个modelsim.ini.
ini文件,是调用modelsim的核心。
在console里检查,不能有error.
如果有error,说明版本不适配。

注意:2017.4可以适配10.6e,但是不能适配10.7.
2019.1也可以适配10.6e,但是不能适配10.7.

4)配置simulator,
setting->general->simulation,
切换成modelsim,

5)run simulation

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

题外:
vivado调用modelsim的过程,
都是基于do文件进行的。

首先是执行
# do {realfft_rtl_tb_compile.do}
来看看这个do文件,做了哪些事情,
用vlib命令,创建了一系列的库文件夹,
用vmap命令,映射了文件系统上的库文件夹,并命名,成为library视图中的逻辑库。
用vlog命令,编译verilog文件,到指定的库中,参数-work,指定编译输出文件存放的逻辑库名称。
用vcom命令,编译vhdl文件,到指定的库中,参数-work,指定编译输出文件存放的逻辑库名称。
用quit -force命令,退出do的执行。

从中可以看出,vivado使用的默认库,已经不再是传统的work库,而是xil_defaultlib库了。

退出之后,就是launch modelsim了。

接着,modelsim被启动,进入modelsim的界面,
# do {realfft_rtl_tb_simulate.do}
来看看这个do文件,做了哪些事情。
用vsim,加载了simulator,并指定了所使用的逻辑库,参数-L用来指定逻辑库。
set NumericStdNoWarnings 1
set StdArithNoWarnings 1
设置了两个环境变量,

接着,在vsim环境下,执行了do文件,
do {realfft_rtl_tb_wave.do}

来看看这个do文件,做了哪些事情,
add wave *
add wave /glbl/GSR
用add wave命令,添加了需要观察的信号,到wave窗口中。
执行完毕后,回到vsim环境下,继续执行之前的do文件。
view wave
view structure
view signals
查看wave,structure,signals。
打开这几个视图。

然后,执行一个udo文件。
do {realfft_rtl_tb.udo}
来看看这个udo文件,做了哪些事情,
并没有指定什么udo的操作。

然后,执行run
run 1000ns
这里,执行了1000ns,如果要执行所需要的时间,修改这里就可以了。

执行完run后,modelsim在vsim环境下standby,

vivado在生成do文件时,参考的参数依据,就是project settings->simulation中的各个选项,
其中,
simulation窗口中的,modelsim.simulate.runtime这个参数项,设定的是1000ns,可以修改这个值。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
modelsim.ini分析,
来看看之前编译的D:\Xilinx\xilinxsimlib\modelsim.ini
modelsim.ini文件,是modelsim用来管理参数的文件,其中设置了一些键值对,用来设置参数。

在安装目录下,有一个只读的modelsim.ini,如果要修改,需要先取消其中的只读属性。
来看看这个文件,
D:\modeltech64_10.6e\modelsim.ini
[Library]
verilog = $MODEL_TECH/…/verilog
modelsim_lib = $MODEL_TECH/…/modelsim_lib
。。。
这里,定义了启动modelsim时,要加载进的库,左边是逻辑库,右边是库文件夹。
如果要添加更多的库,修改这个文件,或者在启动后,再用do文件添加。
[vsim]
VoptFlow = 0
这里默认是1,但是建议修改为0,
Resolution = ps
这里默认是ns,建议修改为ps,

Veriuser = novas.dll
这个选项,设置veriuser PLI 的DLL,这里,通常是debussy。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如果希望modelsim仿真时,调用debussy的API,生成fsdb文件来看波形,那么需要在modelsim.ini中,需要设置veriuser,
然后,把debussy的novase.dll,复制,并放到modelsim的win64文件夹下。
例如:
C:\Novas\Debussy\share\PLI\modelsim_pli\WINNT中的novas.dll或者
C:\Novas\Debussy\share\PLI下的modelsim_pli54\WINNT\novas.dll

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值