Vivado关联Modelsim进行仿真_vivado和modelsim联合仿真-CSDN博客
首先要下载好modelsim,把vivado和modelsim连起来,具体可以参照上面这篇
因为实在受够了鼠标点来点去的,决定编.bat来实现编译和仿真的自动化
好在第一次用vivado和modelsim联合仿真之后,在原来工程的.sim\sim_1\behav\modelsim目录下已经有了compile.bat和simulate.bat,所以每次更改代码后直接运行这两个文件就好了
为了更方便操作,modelsim的gui开了一次之后不想关上,便可以只运行compile.bat,直接在modelsim那边restart还有run就好了,这部分也可以在modelsim里的transcript输入命令
另外modelsim的波形配置添加后是可以保存的,这样下次打开modelsim也还在。比如命名为wave.do,然后再修改simulate.bat调用到的tb_xxx_simulate.do,把这个文件里面do {tb_xxx_wave.do}改成刚刚保存的wave.do就好了
同时,由于sim里面可能有行为仿真、前后综合仿真、前后实现仿真,又可能有各个不同子模块的仿真,如果每次都在vivado重新置顶、重新点开始仿真,那么compile.bat、simulate.bat会一次次被不同的编译和仿真要求覆盖,所以我将已经做好的模块的compile.bat, simulate.bat改名,在原来工程的.sim目录下编了新的.bat
@echo off
rem Change directory to the specified path
cd /d D:\project\project.sim\sim_1\behav\modelsim
rem Run compile.bat
start call compile_beh_TbPadTop.bat
rem Check if the script was invoked with the option to run simulate.bat
if /i "%1"=="open_modelsim" (
start simulate_beh_TbPadTop.bat
echo Simulation completed successfully
) else (
echo Simulation skipped
)
rem Optional: Display a message or pause
pause
这样当我打开windows powershell,我 运行.\sim_beh_tb_pad_top.bat就是单纯编译,运行 .\sim_beh_tb_pad_top.bat open_modelsim就是编译加打开modelsim。一般我只有第一次是需要打开modelsim,后面都是单纯编译,在modelsim里头restart和run就好了
救了老命了,简直解放双手