vivado联合modelsim仿真——脚本操作编译,仿真及保存波形

vivado联合modelsim仿真——脚本操作编译,仿真及保存波形

本文内容均来自个人使用经验,希望可以帮助大家通过脚本节省相关操作的时间,记录在此做分享交流。

确保已经完成vivado和modelsim的联合工作,可参考vivado联合modelsim报错:vsim-19 Failed to access library ‘unisims_ver‘ at ‘unisims_ver‘中小节:添加编译库

仿真路径文件介绍

从vivado中调用modelsim之后,在工程路径:\gtwizard_0_ex\gtwizard_0_ex.sim\sim_1\behav\modelsim下会产生如下文件(这里以gtwizard0_ex工程为例):

image-20210131145256022

其中上述比较重要的文件为:

  • compile.bat——编译快捷脚本;
  • xxxx_simulate.do——仿真脚本文件;
  • xxxx_wave.do——仿真波形属性文件;
  • simulate.bat——仿真快捷脚本文件;

其他的比如xx_log即为对应的log文件,在编译或这仿真时,提示的warinings & errors也会在这里面显示,如果在软件中寻找不方便,可以在这里进行查找。

对应的xxx_rom_init_rx.datxxx_rom_init_tx.dat为初始ROM值,在Source文件中调用;

快捷编译

如果修改过tb文件或这RTL的源码文件,可以直接双击compile.bat进行编译,弹出cmd窗口进行编译(修改过源文件一定要记得编译,再进行仿真)。

如果出错窗口就一直显示,可根据提示内容进行修改。如果不出错,cmd窗口会自动退出。

感兴趣的可以用记事本打开此文件,内部通过modelsim执行了xxxx_compile.do文件,对每个已将加入到xxxx_compile.do的.v文件进行编译。

通过双击compile.bat文件进行编译,比使用vivado GUI进行调用方便。

快捷仿真

如果不打开vivado GUI,可以通过双击simulate.bat进行modelsim仿真。

脚本会自动打开Vsim窗口,并在脚本窗口运行xxxx_simulate.do脚本。

xxxx_simulate.do脚本中,可以修改仿真的时间,波形属性文件等。

######################################################################
#
# File name : gtwizard_0_TB_simulate.do
# Created on: Sun Jan 31 11:27:17 +0800 2021
#
# Auto generated by Vivado for 'behavioral' simulation
#
######################################################################
vsim -voptargs="+acc" -L xil_defaultlib -L unisims_ver -L unimacro_ver -L secureip -lib xil_defaultlib xil_defaultlib.gtwizard_0_TB xil_defaultlib.glbl

set NumericStdNoWarnings 1
set StdArithNoWarnings 1

## 这里修改波形属性文件
do {gtwizard_0_TB_wave.do}

view wave
view structure
view signals

do {gtwizard_0_TB.udo}

## 这里修改仿真时间
run 1000ns

波形保存

如果在仿真时候,对波形进行了调整,比如添加了一系列波形名字,调整了波形的颜色,波形的属性,数值的格式等,可以直接在wave窗口下使用Ctrl + S,将波形保存为xxxx_wave.do文件,并将刚才描述的xxxx_simulator.do文件中修改为:

do {xxxx_wave.do}

这样,在下次使用xxxx_simulate.do的时候就会加载上次保存的波形属性了。

注意 ,如果只保存为wave.do可能造成下次被默认覆盖。

常用的操作

如果通过仿真波形调整到了BUG,需要修改源文件再进行仿真,笔者一般会这么操作:

  • 在波形窗口中保存波形文件;

  • Atom编辑器中修改了Source文件之后,双击compile.bat文件进行编译;

  • 通过之后,在VsimTranscript窗口中,按方向键,找到命令:do xxxxsimulate.do

  • 回车,等待仿真完成,继续查看波形;

这样的方式是笔者使用最流畅的。

结束语

经常操作的话,得通过一些方法进行快捷操作,不能把时间都浪费在操作上。

这样的方式虽然不是最合理的,但是使用后找到的比较便捷的了。

如果读者有什么更好的方法,留言讨论一下哈。

2021-01-31.

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: VivadoModelSim都是常用的数字电路设计工具。Vivado主要用于FPGA设计,而ModelSim则是一款流行的数字电路仿真工具。 如果你想在Vivado中使用ModelSim进行仿真,你需要首先设置仿真选项,选择ModelSim作为仿真器。然后,你需要将设计文件导出到ModelSim中,生成仿真模型和仿真脚本。 在ModelSim中运行仿真时,你需要指定仿真脚本仿真模型。这样,ModelSim就可以加载你的设计,并运行仿真仿真结果将在ModelSim中显示。 总的来说,VivadoModelSim可以很好地配合使用,使得数字电路设计和仿真更加高效和方便。 ### 回答2: VivadoModelsim是数字电路设计中常用的两种仿真软件,其中Vivado是综合开发环境,主要用于设计、综合、实现和验证FPGA,而Modelsim则是一种主流的Verilog和VHDL仿真器,用于验证设计的行为和功能。两种软件的联合使用可以提高设计流程的效率和仿真的准确度。 在实际应用中,VivadoModelsim联合仿真是非常常见的设计流程。首先,我们需要在Vivado环境中完成设计、综合和实现。然后,在Vivado中打开Simulation选项卡,选择“Run Simulation”并选择“Behavioral Simulation”来生成仿真模型文件。接着,我们将生成的模型文件导入到Modelsim中进行仿真。 在Modelsim中进行仿真需要编写仿真脚本,通常包括以下内容:首先,设定仿真时钟周期和仿真时间范围,以确保在仿真过程中所有信号都能够被完整地仿真。其次,需要添加仿真模型和设计源代码,并将其进行综合。最后,启动仿真并查看仿真波形,以验证信号的正确性和时序问题。 值得注意的是,在Vivado中生成的仿真模型文件可能与Modelsim仿真要求略有不同,可能需要进行少量的修改。此外,在使用Modelsim进行仿真时,需要考虑计算机硬件配置的限制,尽可能提高仿真效率和准确度。 总之,VivadoModelsim联合仿真是数字电路设计中不可缺少的环节,可以有效提高设计的效率和准确度,帮助工程师更好地完成FPGA设计任务。 ### 回答3: Vivado是一款强大的FPGA设计工具,而ModelSim则是一个常用的硬件描述语言仿真工具。在进行FPGA设计时,我们通常需要将两者联合使用来进行功能验证和测试。下面是关于vivado联合modelsim仿真的详细介绍。 首先,我们需要在Vivado中进行信号追踪。Vivado中的信号追踪功能可以将设计中的信号轨迹从设计的开始到结束跟踪,并将其导出为.vcd格式的文件。这样,我们就可以将这个文件导入到ModelSim中进行仿真。 接下来,我们需要在ModelSim中创建一个新的仿真工程。在创建工程时,我们需要将.vcd文件添加到仿真库中,并将需要仿真的模块添加到仿真库中。此外,在ModelSim中,我们在编写仿真程序时还需要注意的一点是,需要将仿真的时钟和复位信号设置为和Vivado中设计的时钟和复位信号一致。 然后,在ModelSim中编写模块的仿真代码: 我们需要编写仿真代码来测试我们的模块。模块的仿真代码需要包括仿真时钟和复位信号的处理,测试数据的生成和输入的模拟,以及仿真结果的读取和比对。 在仿真过程中,我们需要对仿真结果进行分析:仿真结果可能出现意料之外的情况,我们需要对仿真结果进行分析,找出问题所在,并对模块代码进行修改和优化,直到最终达到我们想要的仿真结果为止。 最后,我们需要将修改后的模块代码重新导入到Vivado中进行验证。如果验证通过,则成功完成vivadomodelsim仿真联合测试。 总而言之,vivado联合modelsim仿真可以提高FPGA设计的测试和验证效率,减少开发时间和成本,并且可以提高设计的可靠性和稳定性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShareWow丶

前人栽树,分享知识,传播快乐。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值