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