FPGA开发:Vivado时序波形图保存和读取

如何存储关键数据的方法,属于规模测试验证的手段,但对于verilog的调试过程还不够直观,因为无法确切地了解verilog代码仿真中各个关联信号是如何作用的。verilog的确可以像c/c++一样启动调试模式,针对每行代码进行调试。但请注意,由于verilog是并行执行的,而仿真是采用delta时间逐步并行推进的,采用代码调试较为困难,所以常常需要存储全部或部分仿真数据,这就是波形文件。
在进行fpga开发的过程中,稍微大一点的项目,进行一次编译综合与布线是非常耗时的,所以在开发的过程中一般采取先进行功能仿真,功能仿真结果正确无误以后再进行综合和布局布线。一般来说,先添加好时钟约束,进行综合与布线时无严重警告,此时如果功能仿真(前仿)仍然正确,那么任务就基本完成了。但如果是一个比较完整的项目开发,应该还需要进行布线后的时延仿真(后仿)。这里,主要介绍如何将前仿和后仿的时序波形图保存以及再次打开上一次的仿真结果。
相关文件说明
1. 波形数据库文件(.wdb),其中包含所有的仿真数据。
2. 波形配置文件(.wcfg),其中包含于波形配置文件中的对象相关联的顺序和设置
在保存 .wcfg文件之前,对波形配置的修改(包括创建波形配置或添加hdl对象)不是永久性的,可以通过 file -> save waveform configuration as 将波形配置保存下来。波形数据库文件(.wdb)包含了波形配置文件中所有信号的仿真数据,单个 .wdb可以对应多个 .wcfg文件, 可以通过打开 .wdb文件查看上一次保存下来的仿真波形。
具体的保存与读取
保存
1. 将需要观测的信号拉倒图形窗口界面
2. 设置仿真时间
3. 保存 .wcfg 波形配置文件到指定路径
4. 保存 .wdb 仿真波形。为了能将波形数据保存下来,需要在测试代码中加上如下代码,放在最末端即可。为了下一次仿真不影响已保存的仿真波形,建议将 .wdb 文件拷贝并修改名字。
`define dump_level 10
//module dump_task;
initial begin#1; //延迟1ns记录,方便与其他仿真动作协调
`ifdef vcs_dump //synopsys vcd+格式存储
$display(start recording waveform in vpd format!);
$vcdpluson();
$vcdplustraceon;
`endif
`ifdef fsdb_dump //synopsys fsdb格式存储
$display(start recording waveform in fsdb format!);
$fsdbdumpfile(dump.fsdb);
$fsdbdumpvars('dump_level);
`endif
`ifdef nc_dump//cadence 格式存储
$recordsetup(dump,version=1,run=1,directory=.);
$recordvars(depth=6);
`endif
`ifdef vcd_dump//工业标准vcd格式存储
$display(start recording waveform in vcd format!);
$dumpfile(dump.vcd);
$dumpvars('dump_level);
`endif
end
5. 运行仿真(前后仿的 .wdb 会自动保存到 .sim/sim_1/ 下的三个路径之一,与仿真类型有关)。
读取
1. 点击vivado的菜单栏中的 flow -> open static simulation,然后选中之前保存的 .wdb 文件即可。
2. 点击vivado的菜单栏中的 file -> open waveform configuration,选择我们之前保存的 .wcfg文件即可恢复上一次的仿真结果
总结
时序仿真波形的保存与读取在大工程的功能仿真、时序仿真、以及问题分析中,可以为开发者节约很多时间。当一个项目比较复杂时,跑一次仿真耗时会非常长,尤其是需要进行后仿时,耗时比综合和布局布线更长,所以我们最好是将时序波形保存下来进行分析,可以避免浪费许多不必要的时间。


埃瓦科技荣获专精特新企业称号
存储系统NVMe2.0已发布:重大重组
如何用胶合板制作一个简易的音箱
智能安全的发展趋势分析
手机市场逐渐饱和,零部件厂商创新中求发展
FPGA开发:Vivado时序波形图保存和读取
中芯国际新董事人员名单揭晓
“业界良心”Coinyee交易所,为何深受大家喜爱?
联发科抢占先机 在AI芯片之争中走出了一步好棋
高压钠灯电子镇流器的研制
厚积薄发,展讯移动芯片市场将迎来鼎盛时代!
ATI Mobility Radeon X600显示芯片
厄米拉·马哈德夫:怎么知道量子计算机是否做了量子计算呢?
王秉刚:新能源汽车产业未来三年竞争态势与发展建议
实现智能化升级的健身房,创新智能健身的新玩法
到2020年,美国市场的年度视频游戏消费量可能超过500亿美元
赛晶首款车规级SiC模块进入测试阶段!
2020预测 每一项创新都可能带来电视行业内的巨变
WIFI室内定位的精准度怎么样,室内定位技术精准程度分析
河南移动打造“5G﹢智能无人运输”智能车间