我们知道,Verdi横空出世,大大加速了数字设计验证的debug的效率,verdi波形格式是fsdb,压缩率高,逐步取代了VCD波形,但是有些芯片设计环节仍然需要VCD。比如功耗分析需要fsdb转换成VCD,比如模拟仿真需要数字的VCD激励波形。
VCD是不压缩的文本格式,兼容性好,缺点是文件太大。后仿先写出高压缩比的FSDB文件,再转成VCD。可指定转换起止时间、结束时间。接下来介绍怎么转。
1. 转换全部信号
%fsdb2vcd verilog.fsdb -o output.vcd
2. 转换指定模块内的信号(命令需要指定-s),并指定转换时间,时间默认是ns,也可以带单位s|ms|us|ns|ps|fs。-level 1是/system/i_cpu不包括子模块的所有信号,如果想得到/system/i_cpu及其子模块的所有信号,则需要-level 0
%fsdb2vcd verilog.fsdb -s /system/i_cpu -level 1 -bt 10 -et 100
3. 生成fsdb的summary,如下命令并没转换。
%fsdb2vcd verilog.fsdb -summary
除了Redhwak、Voltus看功耗外,使用PTPX工具也可以进行代码级功耗评估。PTPX工具需要使用SAIF对翻转率进行标定,以得到相对准确功耗。SAIF文件从仿真波形中提取时较为稳妥,并且具有接近实际工作场景的翻转率。fsdb2saif提取波形文件中信号翻转率
1.转换FSDB为SAIF
%fsdb2saif verilog.fsdb -o verilog.fsdb.saif
2. 指定时间转换FSDB为SAIF
%fsdb2saif verilog.fsdb -bt 10ps -et 1000ps -o verilog.fsdb.saif
3. 指定转换范围
%fsdb2saif rtl.fsdb -s "/system/i_cpu" -o rtl.fsdb.saif
通常,$fsdbDumpvars(0, top)可以dump全部波形。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !