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