[Verdi] fsdbreport的妙用

         在支持乱序传输的module验证中,有时在debug的过程中会遇到一类问题,那就是rtl漏包,但是由于rtl是乱序回的,具体很难知道是哪一笔包被漏掉了,当然,理想的环境都是每笔包发出的时候记录一下时间,然后设定一个watchdog时间,超过这个时间rtl还没有回resp就报错提出,并且打印debug信息,但有时watchdog时间太短会挡住正常的case,设的太大,当rtl真正有问题的时候,又需要跑太久才能报错,现在利用fsdbreport把波形上的信息导入到文本中,可以很方便的对比看出遗漏的包是哪笔,具体方法如下:

        

通过以上命令即可将波形中需要查看的信号导入到文本中,需要注意几个点:

1.数据只在跳变的时候写出

2.以上命令没有加限定条件,通常我们使用都会加上限定条件,比如valid和ready都有效,并且是在clk为1的时候,这个时候就需要加上option:-exp "xxx.valid & xxx.ready&xxx.clk" ,比如:

        到处到文本中后,我们就可以利用gvim相关命令简单处理成方便对比的形式,比如文本排序sort等。

参考文章:

如何将 fsdb 波形中的数据提取到文本中 - 知乎 (zhihu.com) 

如何将fsdb波形中信号存到TXT文档中 - SOC验证工程师 - 博客园 (cnblogs.com)

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值