Dump(儲存) FSDB腳本


 

  fsdb(Fast Signal DataBase) 是Spring Soft (Novas)公司 Debussy / Verdi 支持的波形文件,一般較小,使用較為廣泛,其余仿真工具如ncsim,modlesim等等可以通過加載Verdi 的PLI (一般位於安裝目錄下的share/pli 目錄下) 而直接dump fsdb文件。  

  fsdb文件是verdi使用一種專用的數據格式,類似於VCD,但是它是只提出了仿真過程中信號的有用信息,除去了VCD中信息冗余,就像對VCD數據進行了一次huffman編碼。因此fsdb數據量小,而且會提高仿真速度。

  VCD文件使用verilog內置的系統函數來實現的,fsdb是通過verilog的PLI接口來實現的,如$fsdbDumpfile,$fsdbDumpvars等

 

 1 如果要Dump FSDB波形,將以下語句選擇性加在TB中。
 2 
 3 
 4 initial begin 
 5 
 6    $fsdbDumpfile(“dump.fsdb”) ;                 //fsdbDumpfile - 指定FSDB文件名
 7     $fsdbDumpvars (level,start_module) ;        //要記錄的信號,level=0表示記錄所有          
 8     $dumpvars (2, top. u1);                   // Dump實例top. u1及其下一層的信號
 9     $fsdbDumpMDA();                   //fsdb dump波形時會記錄二維數組2D array signal的值,便於在verdi中debug查memory內部信號。
10     $fsdbDumpSingle;                    //Dump指定的信號
11     $fsdbDumpvariable;                //Dump指定的VHDL變量
12     $fsdbSwitchDumpFile(“<new FSDB name>”);  //將dumping切換到另一個FSDB文件
13     $fsdbAutoSwitchDumpfile(<file size>, “<FSDB name>”,< number of file>);            //限制文件大小並在數據量過大時自動創建新的FSDB文件
14     $fsdbDumpMem(<reg name>, [<start addr>, [<size>]]);
15     $fsdbDumpoff;                                         //停止記錄
16     $fsdbDumpon;                                         //重新開始記錄
17     $fsdbDumplimit();                                    //限制VCD文件的大小(以字節為單位)
18     $fsdbDumpall;                                         //記錄所有指定的信號值
19 
20 end

  如下圖所示:

 

 

之后就可以打開verdi查看dump.fsdb文件的波形

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM