• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

SOC/IP验证工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

vcs仿真中使用系统函数dump fsdb波形常用的命令

SystemVerilog中dump fsdb波形的用法。

initial begin
  void'($valueplugargs("TESTNAME=%s",tag))
  $fsdbAutoSwitchDumpfile(800, tag, 1000);
  $fsdbDumpflush;
  $fsdbDumpMDA(0, top_tb.dut);   //dump 多维数组的数据
  $fsdbDumpMem(top_tb.dut.fifo); //dump memory的数据
  $fsdbDumpvarsToFile("dump.list");
end

命令详解:

1.
$fsdbDumpfile(fsdb_name[, limit_size]);  //指定波形文件名,第二个参数可选择用来限制波形的大小size
$fsdbDumpfile(top_tb.fsdb, 10240); //其中文件名可能被$fsdbDumpvars覆盖
2.
$fsdbDumpvars(depth, instance[, "option"]);
depth表⽰要加载波形的层次;0表⽰当前instance下的所有变量以及其它module实例的波形,1表⽰当前instance中的变量的波形,不包
括当前instance中的其它module实例的波形,2表⽰包含当前instance以及其中的第⼀级⼦instance的波形;以此类推。
instance指定要加载波形的module名。
option加载波形的选项,如:
+IO_Only – 只加载IO port信号;
+Reg_Only – 只加载reg类型信号;
+mda – 加载memory和MDA信号;
+packedmda – 加载packed MDA;
+struct – 加载structs;
+parameter – 加载parameter;
+fsdbfile+filename – 指定fsdb⽂件名字。
3.
$fsdbDumpon和$fsdbDumpoff
$fsdbDumpon/$fsdbDumpoff(["option"]);
控制波形加载的开始和结束。
$fsdbDumpoff之后,将停止记录信号值的变化,直到$fsdbDumpon,从当前时刻开始记录信号值的变化。
option---+fsdbfile+filename,指定将特定文件的波形加载打开与关闭,如果不指定,则默认指当前仿真所有的波形文件。
4.
$fsdbAutoSwitchDumpfile(file_size, “fsdb_name”, number_of_files[, “log_file_name”,“+fsdb+no_overwrite”])
当波形的⼤⼩达到限制后⾃动以⼀个新的波形⽂件起始加载波形;
在所有的波形⽂件加载完成后,会创建⼀个virtual FSDB⽂件,查看波形时只需要加载此⽂件就可以合并所有的波形⽂件。
file_size—波形⽂件⼤⼩限制,单位为MB,最⼩为10M,若值⼩于10M则默认10M;
file_name—波形⽂件的名字,在实际加载波形时,⽂件名为file_name_000.fsdb file_name_001.fsdb…;
number_of_files—最多可以加载多少个file_size这么⼤的波形⽂件,如果写为0,则默认没有限制;
log_file_name—指定log⽂件的名字;
+fsdb+no_overwrite—当number_of_files限制的个数达到时停⽌dump波形;
5.
$fsdbDumpflush();
在仿真过程中,强制将信号值加载到波形中,便于在仿真过程中查看波形。
6.
$fsdbDumpFinish();
在仿真过程中调用,停止dump波形。
7.
$fsdbSwitchDumpfile("new_file_name"[, +fsdbfile+src_file]);
关闭现有的波形文件,以一个新的文件名开始加载波形。
new_file_name---创建一个新的波形文件,将波形加载到这个文件中;
+fsdbfile+src_file---指定要停止加载并关闭的波形文件,这个参数不指定时,将默认使用当前正在加载的波形。
8.
$fsdbDumpvarsByFile("text_file_name"[, "option"]);
类似于$fsdbDumpvars,这个方法支持将需要加载波形的instance写在文件中。
text_file_name---文本文件,指定要dump波形的instance文件写在文件中。
option---同$fsdbDumpvars中的option参数。
9.
$fsdbDumpMDA();
记录多维数组的值,便于在波形中查看。
10.
$fsdbDumpStrength - Dump the strength of signals。
11.
$fsdbDumpvarsToFile - Dump scope/depth from a designated file。

当需要在多个代码之间来回切换,可以使用Verdi的Bookmark功能提升效率。
方法:source -> Bookmark 或者 Ctrl+F2,支持无限个Bookmarks。

posted on 2022-04-09 21:00  SOC验证工程师  阅读(262)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3