verdi仿真中看波形经常犯的错误

本文讲述了在观察和分析数字波形时常见的误解,如未将波形缩放到100%导致的错误判断,以及波形读写延迟的理解误区。作者通过实例指出,X态的出现可能源于RTL设计、测试平台TB中的赋值问题或忘记切换FSDB。同时,列举了出现X态的三种情况:RTL中赋值为X、TB中多次赋值和TB未对变量initial赋值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)如果波形出现X态,可能并不是波形错了,而是自己“看”错了

如何理解这个问题呢,首先第一点可能的原因是自己没有把波形缩小到100%,
像当然的看着,说的确是全是x态,缩小到100%发现波形的结果藏在了最后。
哈哈哈,我刚开就是会犯这个错误,我说咋可能是x态呢,所以,仿真加入波形
之后第一步就是缩小到100%,看看波形的全貌,观察观察,别着急。

(2)如果波形读写不一致,咋输出比输入滞后了一个时钟,可能还是自己“看”错了。

我们经常会遇到数据的读写,一放大发现我的天,这输出是和输入对上了,
怎么会延后一拍呢,哈哈哈,其实这已经是第二个周期输入,
把波形缩小到100%会发现输出的是延迟后第一个周期的输入。

(3)如果波形出现X态,哈哈哈,还是自己“看”错了?

如何理解呢,其实有时候我们再观察一个小模块A的时候,波形验证完成了,
直接切到小模块B,比如我们验证完dcache,然后去验证icache,发现,
卧槽怎么读写都是x态,其实是自己忘记切换fsdb了,细节虽小,切勿再犯。

(4)那么说了这么多,什么情况下会出现x态呢?

1)rtl中本身赋值就是x态
(2)tb中对一个变量进行了多次赋值
(3)tb没有对变量initial
### 如何在 Verdi 工具中保存和加载波形文件 在 Verdi 工具中,可以通过特定的快捷键或者菜单选项来实现波形文件的保存与加载。以下是具体方法: #### 保存波形文件 为了便于后续查看已提取的信号,在 Verdi 中可以将当前显示波形保存为 `.rc` 格式的文件。通过按下 `Shift + S` 组合键即可触发保存操作[^2]。此过程会弹出一个对话框,允许用户指定保存路径以及文件名。 #### 加载波形文件 当需要重新调用之前保存过的波形配置时,可利用快捷键 `r` 来开启加载界面。在此界面上,浏览并选取目标 `.rc` 文件之后确认选择,先前定义好的波形布局便会恢复到工作区中。 另外一种方式是从命令行启动 Verdi 并直接关联至所需的波形数据源。例如使用 `-ssf fsdb_file` 参数可以直接指向某个波形文件(支持多种格式而不仅限于 FSDB),这样就不必再手动挑选波形文件了[^4]。 对于特别庞大的波形记录文件(如 FSDB 类型),如果遇到性能瓶颈问题,还可以考虑先对其进行时间片段上的切割处理后再导入分析环境之中。比如采用如下指令来进行分割: ```bash fsdbextract source.fsdb -bt 10000ns -et 20000ns -o output.fsdb ``` 上述脚本的作用是从原始的大规模波形文件里截取时间段介于 10,000 纳秒到 20,000 纳秒之间的部分,并将其另存为新的较小尺寸的波形文件以便更高效地查阅[^5]。 最后值得注意的是,除了这些基本的功能之外,Verdi 的图形化界面也提供了丰富的自定义选项供使用者调整以适应个人偏好,像字体大小这样的细节都可以按照需求修改。例如可以在 waveform 设置面板里面把默认字型由 Courier 12 调整增大至 Courier 18 提升阅读舒适度[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

马志高

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值