各种仿真波形文件
各种仿真波形文件
一、仿真波形文件介绍
1. Wlf文件:WLF波形日志文件,是modelsim的专用文件。
这个wlf文件只能是由modelsim来生成,也只能通过modelsim来显示。
在用modelsim做仿真时,仿真结束都会生成一个*.wlf的文件(默认是vsim.wlf)。
下次就可以通过通过modelsim直接打开这个保存下来的波形。
vsim -view vsim.wlf -do run.do
其中run.do中的内容为要查看的波形信号。要强调的是不是一个通用的文件文件格式。
2.VCD文件:VCD 是一个通用的格式。
VCD文件是IEEE1364标准(Verilog HDL语言标准)中定义的一种ASCII文件。
可以通过Verilog HDL的系统函数 $dumpfile,$dumpvars 等来生成。
我们可以通过$dumpvars的参数来规定我们抽取仿真中某个特定模块和信号的VCD数据。
它主要包含了头信息,变量的预定义和变量值的变化信息。正是因为它包含了信号的变化信息,就相当于记录了整个仿真的信息。
可以用这个文件来再现仿真,也就能够显示波形。
另外我们还可以通过这个文件来估计设计的功耗。
因为VCD是 Verilog HDL语言标准的一部分,因此所有的verilog的仿真器都要能实现这个功能。
因此我们可以在verilog代码中通过系统函数来dump VCD文件。
另外,我们可以通过modelsim 命令来dump VCD文件,这样可以扩展到VHDL中。
具体的命令:
vcd file myfile.vcd vcd add /test/dut/*
这个就生成一个含dut下所有信号的VCD数据信息。我们在使用来进行仿真
vsim -vcdstim myfile.com test;add wave /*;run -all;
注意:WIF:波形中间格式;WLF:波形日志文件。由于在ModelSim下只能打开VCD文件
使用ModelSim行命令vcd2wlf将VCD文件转化为WLF文件 。
VCD文件生成
在testbench中加入:
initial begin $dumpfile("tb.vcd"); $dumpvars(); end
3.FSDB文件:fsdb文件是verdi使用一种专用的数据格式。
类似于VCD,但是它是只提出了仿真过程中信号的有用信息,除去了VCD中信息冗余,就像对VCD数据进行了一次huffman编码。
因此fsdb数据量小,而且会提高仿真速度。
我们知道VCD文件使用verilog内置的系统函数来实现的,fsdb是通过verilog的PLI接口来实现的, $fsdbDumpfile,$fsdbDumpvars 等。
另外,在VCS仿真器中还有一种VCD+的数据格式VPD,详细情况参照VCS的使用。
Testbench中加入:
initial begin $fsdbDumpfile("tb.fsdb"); $fsdbDumpvars(); end
4、shm 是Cadence公司 NC verilog 和Simvision支持的波形文件,实际上 .shm是一个目录,其中包含了.dsn和.trn两个文件。
5、vpd 是Synopsys公司 VCS DVE支持的波形文件,可以用$vcdpluson产生。
二、波形文件的具体生成
4、Vsim(ModelSim)生成VCD波形文件(verilog)
5、vsim(modelsim)仿真VHDL输出fsdb格式文件