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