和大家分享一个小技巧,你在debug问题的时候,是不是也曾经想过将波形中的某些信号转化成txt,然后用txt的值复现某些波形或者与理论值对比。今天这篇文章就教大家怎么用verdi 将fsdb格式的波形转化成txt。
这里用到的工具是verdi的fsdbreport指令。
直接上干货,以下面的波形为例,我想将 ch0_data 有效的data存在txt里面。
根据规格书约定,ch0_data 只有在ch0_ready 和ch0_valid 为高时有效。又因为这是一段时序电路逻辑,所以时钟也要包括在里面。我们采用下面命令转化波形。
最终在产生的debug.txt里面可以到ch0_data 已经被存下来,左边是采样的时间。
上述这段命令中用-exp 指定采样的条件,我指定了clk为1,ch0_ready 和ch0_valid 都为1的时候进行采样。采样的信号用-s 指定,这里指定了ch0_data。-of指定采样信号存储的格式,这里指定为hex格式,-o指定存储到的文件为debug.txt。
fsdbreport的一些应用
1. 指定某段时间将信号报告到txt中用-bt 和-et。
2. 报告到txt中某些信号的部分信息。
3. 以不同的格式报告信号列表里面的信号。
4. 报告一个模块下面的信号,可以指定层级。
5. 指定条件为真时,报告某些信号。
6. 用-find_forces报告某模块下面force,release,deposit的信号。
想了解更多fsdbreport的用法,请在自己的verdi环境用fsdbreport -help继续查看。这是今天文章的主要内容,感谢大家阅读。
领取专属 10元无门槛券
私享最新 技术干货