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