一、联合仿真
这种情况下会出现库缺失的情况,需要将modelsim安装目录下面的modelsim.ini文件设置去掉只读模式,这样每次联合仿真的时候,modelsim安装目录下面的ini文件会被重新写,这也许会导致一些新的工程有库缺失的情况
认为的解决方法:将缺失的库添加到vivado生成的的仿真文件simulation.do里面去,还没有测试,遇到了再试
二、独立仿真
1、完全独立仿真
新建文件夹,建立一个ip文件夹,将用到的ip里面的netlist.v或者netlist.vhd文件放进去,然后将所有的设计。仿真文件都放入到一个import文件夹,在modelsim里面新建一个新工程,将所有文件加入进去,compile all,等到所有文件编译通过
输入vsim -L unisims_ver -L unisim -L unifast_ver -L unimacro_ver -L secureip -L simprims_ver work.board glbl -voptargs=+acc
// note:unisim -L 放在第一个会出错
但是也遇到了complie的时候用导入的默认编译库编译不过的情况
这时候,将默认库改为当前工程vivado生成的仿真文件里面的对应库路径就可以编译通过
补充:
关于用tcl脚本进行仿真
用vivado 独立仿真的时候,可以通过添加 命令
add wave -divider {axi_pcie_x8_i}
add wave board/EP/axi_pcie_x8_inst/*
来进行仿真
用modelsim联合仿真的时候,可以在设置好的界面通过导出wave.do文件,来生成tcl脚本,
如果有很多个界面,在不同的wave.do文件之间添加view -new wave即可,此命令为打开新的波形窗口