对fsdb波形文件的操作
在仿真过程中,波形文件对我们debug至关重要。但默认导出的波形可能存在size太大!时间太长!结构层次太多!等等问题。
我们经常需要导出特定hierarchy的波形而不需要其他的部分,一般常见的有几个应用场景:
- 我只关心自己模块的部分,希望减小波形文件的大小.
- 我需要给团队外的人提供波形,不希望别人看到指定hierarchy之外的部分.
- 我的波形太长,只需要截取一段特定时间的波形.(在功耗分析时此需求尤其多)
一般有几种处理方式:
- 最常见的是加入$dumpvars函数(如下example), 但缺点是这时候你需要重新run一次simulation. 如果时间不长那问题不大,如果本身设计很大跑一次要很久就有点麻烦了。
另外如果bench参数化不好的话, 假如需要控制dumpon/dumpoff的时间点还需要改bench的代码, 对Bench形成冲击和额外的工作量。
$dumpvars; // Dump所有层次的信号
$dumpvars(level,module_hierarchy); //

本文介绍了如何在不重新运行仿真的情况下,使用fsdbsxtract命令从fsdb波形文件中提取特定模块或时间范围的数据。这解决了在功耗分析或分享波形时,保护层次结构隐私和减小文件大小的问题。通过指定-hierarchy、-level、-o、-bt和-et等选项,可以灵活地裁剪波形文件,提高工作效率。

6779

被折叠的 条评论
为什么被折叠?



