浅析后仿波形处理

描述

我们知道,Verdi横空出世,大大加速了数字设计验证的debug的效率,verdi波形格式是fsdb,压缩率高,逐步取代了VCD波形,但是有些芯片设计环节仍然需要VCD。比如功耗分析需要fsdb转换成VCD,比如模拟仿真需要数字的VCD激励波形。

Verilog语言

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全部波形。






审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分