【仿真】波形dump(vcd,shm,fsdb,saif,...)

 IC研发过程中,可能会涉及到多种工具,过程中也可能需要不同格式的波形文件。从网上搜索情况来看,介绍saif的较少,所以这里着重介绍一下saif的dump。

下面粘贴了两个相关背景知识的帖子,如其中介绍,saif主要用在功耗分析中。

gPTPX功耗分析实战, VCD, SAIF, FSDB的区别_RTL2GDS的博客-CSDN博客PTPX功耗分析实战, VCD, SAIF, FSDB的区别PTPX功耗分析VCD,SAIF,FSDB的区别注:文章转载自微信公众号 RTL2GDS (微信号:rtl2gds)你好,我是老本(Benjamin)。STA系列文章定期会在微信公众号每周日晚8点更新,其它时间就先写点随笔吧,这是一篇PTPX进行功耗分析的实战文章,介绍了主要的命令和选项,以及对反标翻转率的解析,不同波形文件的比较。...https://blog.csdn.net/RTL2GDS/article/details/104957522PTPX功耗分析实战, VCD, SAIF, FSDB的区别PTPX功耗分析VCD,SAIF,FSDB的区别注:文章转载自微信公众号 RTL2GDS (微信号:rtl2gds)你好,我是老本(Benjamin)。STA系列文章定期会在微信公众号每周日晚8点更新,其它时间就先写点随笔吧,这是一篇PTPX进行功耗分析的实战文章,介绍了主要的命令和选项,以及对反标翻转率的解析,不同波形文件的比较。...https://blog.csdn.net/RTL2GDS/article/details/104957522

(二)功耗的分析_沧海一升的博客-CSDN博客_功耗分析前面学习了进行低功耗的目的个功耗的构成,今天就来分享一下功耗的分析。由于是面向数字IC前端设计的学习,所以这里的功耗分析是基于DC中的power compiler工具;更精确的功耗分析可以采用PT,关于PT的功耗分析可以查阅其他资料,这里不涉及使用PT的进行功耗分析。  (1)功耗分析与流程概述  上一个小节中讲解了功耗的构成,并且结合工艺库进行简要地介绍了功耗的计算。但是实际上,我们根本...https://blog.csdn.net/qq_21842097/article/details/88420108

1. 下面介绍一下 vcs 如何 dump saif文件

在 vcs的 user_guide中,有一章节专门介绍saif相关的选项

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc3RtMzJzdHU=,size_12,color_FFFFFF,t_70,g_se,x_16

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc3RtMzJzdHU=,size_20,color_FFFFFF,t_70,g_se,x_16

比较推荐使用ucli的方式进行,不用修改环境。

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc3RtMzJzdHU=,size_20,color_FFFFFF,t_70,g_se,x_16

2. 也可以从波形文件直接转换成 saif

比如 fsdb2saif

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc3RtMzJzdHU=,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc3RtMzJzdHU=,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc3RtMzJzdHU=,size_20,color_FFFFFF,t_70,g_se,x_16


用ucli方式进行dump,举例如下

(run xxx1 ps/ns/us....)                    //可以设置先run一段时间,再dump波形
call $fsdbDumpvars(0, xxx, "+mda")         //设置dump的层次,以及其他选项
call $fsdbDumpon                           //开始dump波形
run xxx2 ps/ns/us.....                     //再run一段时间
power -gate_level on mda                   //saif dump设置
power xxx_scope                            //saif dump 层次
power -enable                              //开始dump saif
run xxx3 ps/ns/us.....                     //再run xxx3
power -disable                             //停止dump saif
power -report xxx.saif xxx_scale xxx_scope //生成saif 报告
run xxx4 ps/ns/us.....                     //再run xxx4
call $fsdbDumpoff                          //暂停dump波形
fsdbDumpFinish                 //如果不调用此函数,那么调用call $fsdbDumpon可以接着dump 波形
run xxx5 ps/ns/us.....         //再run xxx5
exit                           //退出仿真

把以上内容保存成xxx.tcl,vcs仿真选项中加入 -ucli -i xxx.tcl,即可控制波形的dump。

上述内容,会dump  [(xxx1), (xxx1)+xxx2+xxx3+xxx4] 时间段内的fsdb。

会生成 [(xxx1)+xxx2, (xxx1)+xxx2+xxx3] 时间段内的saif。

在(xxx1)+xxx2+xxx3+xxx4+xxx5 仿真结束

针对不同的波形文件,也可以使用ucli进行dump

cb7a58ba6b2d4c2094ee521bfdd57306.jpg

【新思验证小课堂】【Verdi】Verdi基础培训第4节---如何产生verdi kdb和import design

【新思验证小课堂】【Verdi】Verdi基础培训第5节---dump波形常用的task

### 如何在Verilog或SystemVerilog仿真中使用`$dumpfile`函数生成`wave.vcd`文件 在Verilog和SystemVerilog仿真过程中,波形文件通常用于调试目的。为了生成VCD(Value Change Dump)格式的波形文件,可以利用两个重要的系统任务:`$dumpfile` 和 `$dumpvars`。 #### 使用方法 以下是具体实现方式: 1. **指定输出文件名** 需要通过 `$dumpfile` 来定义目标VCD文件的名字。例如,在模块初始化部分调用此命令来设置输出文件名为 `wave.vcd`[^4]。 2. **启用变量跟踪** 接下来,使用 `$dumpvars` 命令告诉仿真器哪些信号的变化应该被记录到之前设定好的VCD文件里。一般情况下会传递当前作用域下的所有变量给它处理[^5]。 下面是一个简单的例子展示如何配置这些功能以创建所需的波形数据文件: ```verilog initial begin $dumpfile("wave.vcd"); // 设置vcd文件名称为"wave.vcd" $dumpvars(0, top); // 开始转储top层次结构中的所有变量变化情况至上述vcd文件 end ``` 在这个代码片段中,“top”代表设计顶层实例化名字;如果整个项目只有一个顶级实体,则可以直接写成这样。注意这里的参数'0', 它表示从指定级别开始向下遍历所有的子级联节点直到叶子结点为止,并将其状态改变事件都加入日志当中去[^6]。 完成以上步骤之后运行模拟程序即可自动生成相应的`.vcd`格式波形文件供后续分析查看之用了。 ### 注意事项 - 不同EDA工具可能对标准支持程度有所差异,请参照实际使用的软件文档确认细节。 - 如果希望更精细控制哪些信号被捕获或者调整其他选项比如时间精度等,还需要查阅对应厂商提供的扩展指令集说明资料[^7]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值