各種仿真波形文件
一、仿真波形文件介紹
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格式文件