虽然VCD波形用得很少了,但还是有极少数情况需要。比如给模拟电路做vector,fsdb版本过新打不开,或者单纯没有verdi,或者是为了与开源工具交互……下面介绍了用verdi自带的工具fsdb2vcd来转换VCD的方法。
转换整个fsdb
代码语言:javascript复制fsdb2vcd TOP.fsdb -o TOP.vcd
指定模块
代码语言:javascript复制fsdb2vcd TOP.fsdb -s /tb/dut/u_digital -level 0 -o digital.vcd
-level 0 : digital及下面子模块的所有信号 -level 1 : digital不包括子模块的所有信号,注:不仅是模块端口,也包括内部信号
指定时间段
代码语言:javascript复制fsdb2vcd TOP.fsdb -bt 152385684 -et 163383432 -o TOP_partial.vcd
注:时间可以带单位(s|ms|us|ns|ps|fs),默认是ns。
指定多个信号
代码语言:javascript复制fsdb2vcd TOP.fsdb
-s /tb/dut/u_digital/ADDR
/tb/dut/u_digital/WEN
/tb/dut/u_digital/WDATA
/tb/dut/u_digital/RDATA
-bt 152385684 -et 163383432 -o source.vcd
降低fsdb的版本
代码语言:javascript复制/tools/verdi2018/bin/fsdb2vcd ...
/tools/verdi2014/bin/vcd2fsdb ...
用新版本的Verdi转成VCD,再用老版本的Verdi转回fsdb。