0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

454398 来源:CSDN博主 作者:逸璞丷昊 2020-12-24 11:19 次阅读

如何存储关键数据的方法,属于规模测试验证的手段,但对于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文件即可恢复上一次的仿真结果

总结
时序仿真波形的保存与读取在大工程的功能仿真、时序仿真、以及问题分析中,可以为开发者节约很多时间。当一个项目比较复杂时,跑一次仿真耗时会非常长,尤其是需要进行后仿时,耗时比综合和布局布线更长,所以我们最好是将时序波形保存下来进行分析,可以避免浪费许多不必要的时间。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593195
  • Vivado
    +关注

    关注

    18

    文章

    790

    浏览量

    65101
  • 时序仿真
    +关注

    关注

    0

    文章

    14

    浏览量

    7360
收藏 人收藏

    评论

    相关推荐

    深入探索Vivado非工程模式FPGA设计流程

    在设计过程的每个阶段,设计者均可以打开Vivado集成开发环境,对存储器中保存的当前设计进行分析和操作。
    发表于 04-03 09:36 105次阅读
    深入探索<b class='flag-5'>Vivado</b>非工程模式<b class='flag-5'>FPGA</b>设计流程

    Vivado时序问题分析

    有些时候在写完代码之后呢,Vivado时序报红,Timing一栏有很多时序问题。
    的头像 发表于 01-05 10:18 398次阅读

    LabVIEW绘制带有多个不同标尺的波形图

    LabVIEW绘制带有多个不同标尺的波形图 通过在同一波形图上使用多个轴,可以使用不同的标尺绘制数据。请按照以下步骤操作。 将波形图或图表控件放在前面板上。 1. 右键点击您要创建多个标尺的轴,然后
    发表于 11-24 19:20

    LabVIEW如何获取波形图上游标所在位置的数值

    LabVIEW如何获取波形图上游标所在位置的数值 获取游标所在位置数值的一种方法是利用波形图的游标列表属性。 在VI的程序框图中,右键单击波形图并选择创建»引用 ,然后将创建的引用节点放在程序框图
    发表于 11-20 20:25

    FPGA时序约束--基础理论篇

    时序约束可以让VIvado和Quartus等FPGA开发软件,在布线时检测综合出来的逻辑电路是否满足这个时序要求,并生成
    发表于 11-15 17:41

    关于labview波形图表的导出数据至EXCEL的保存问题

    使用波形图标调用节点或者直接右键保存数据至EXCEL可以实现功能,但是先生成图表再保存,每次还得手动保存到指定位置。能不能直接指定一个保存
    发表于 09-16 15:45

    基于 FPGA Vivado 信号发生器设计(附源工程)

    今天给大侠带来基于 FPGA Vivado 信号发生器设计,开发板实现使用的是Digilent basys 3。话不多说,上货。 需要源工程可以在以下资料获取里获取。 资料汇总|FPGA
    发表于 08-15 19:57

    如何读懂FPGA开发过程中的Vivado时序报告?

    FPGA开发过程中,vivado和quartus等开发软件都会提供时序报告,以方便开发者判断自己
    发表于 06-26 15:29 573次阅读
    如何读懂<b class='flag-5'>FPGA</b><b class='flag-5'>开发</b>过程中的<b class='flag-5'>Vivado</b><b class='flag-5'>时序</b>报告?

    如何在Vivado中添加时序约束呢?

    今天介绍一下,如何在Vivado中添加时序约束,Vivado添加约束的方法有3种:xdc文件、时序约束向导(Constraints Wizard)、
    的头像 发表于 06-26 15:21 2234次阅读
    如何在<b class='flag-5'>Vivado</b>中添加<b class='flag-5'>时序</b>约束呢?

    如何在Vivado中添加时序约束

    前面几篇文章已经详细介绍了FPGA时序约束基础知识以及常用的时序约束命令,相信大家已经基本掌握了时序约束的方法。
    的头像 发表于 06-23 17:44 1392次阅读
    如何在<b class='flag-5'>Vivado</b>中添加<b class='flag-5'>时序</b>约束

    如何读懂Vivado时序报告

    FPGA开发过程中,vivado和quartus等开发软件都会提供时序报告,以方便开发者判断自己
    的头像 发表于 06-23 17:44 612次阅读
    如何读懂<b class='flag-5'>Vivado</b><b class='flag-5'>时序</b>报告

    FPGA的数字信号处理:重写FIR逻辑以满足时序要求

    当在目标 FPGA 芯片中布局和布线时,首先在 Vivado 中确定时序要求.
    发表于 06-20 17:31 420次阅读
    <b class='flag-5'>FPGA</b>的数字信号处理:重写FIR逻辑以满足<b class='flag-5'>时序</b>要求

    FPGA主时钟约束详解 Vivado添加时序约束方法

    FPGA设计中,时序约束的设置对于电路性能和可靠性都至关重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的基础知识。
    发表于 06-06 18:27 7050次阅读
    <b class='flag-5'>FPGA</b>主时钟约束详解 <b class='flag-5'>Vivado</b>添加<b class='flag-5'>时序</b>约束方法

    使用PlantUml绘制逻辑时序图/波形图

    使用PlantUml绘制时序图,波形图的简单说明如下。
    的头像 发表于 05-14 09:28 1296次阅读
    使用PlantUml绘制逻辑<b class='flag-5'>时序</b>图/<b class='flag-5'>波形图</b>

    Labview如何创建波形图的X轴的局部变量。

    本帖最后由 jf_94210865 于 2023-5-9 12:11 编辑 一个很简单的问题,如何创建波形图X轴的局部变量? 我正在编写一个列车模拟运行程序,用到了波形图,现在需要导入一段线路
    发表于 05-09 12:06