Verdi的环境搭建(配合VCS)

记录Verdi环境搭建过程中遇到的问题,以及解决方法

参考资料包含但不限于:

1、https://www.cnblogs.com/Eudemonia8023/p/17562060.html

2、新手教程03:通过makefile脚本使用VCS+Verdi进行联合仿真-CSDN博客

3、https://blog.csdn.net/m0_51691711/article/details/132141764

1、定义的Logic无法观察


verdi -f filelist.f -ssf  *.fsdb -nologo &

修改为:verdi -sverilog -v2k -sv -f filelist.f -ssf  *.fsdb -nologo &

原因:logic是Systemverilog在后续的版本中添加

2、FSDB

        FSDB(Fast Signal Database)是一种二进制格式的文件,用来存储硬件设计中的波形和时序信息。

        使用Verdi有三个步骤:生成fsdb波形、查看fsdb波形、追踪RTL代码进行debug。

        2.1、FSDB的生成

1.Verilog系统函数
在testbench中添加:

initial begin 
    `ifdef DUMP_FSDB 
        $fsdbDumpfile("top_tb.fsdb"); //产生fsdb文件 
        $fsdbDumpvars(0,counter_tb); //第一个参数为0,表示Dump所有层次,非0表示最大层次;第二个参数Dump模块名 
        $fsdbDumpMDA();
    `endif 
end

        $fsdbDumpfile(XXX.fsdb); : 用于定义 .fsdb 波形文件;
        $fsdbDumpvars; : 用于定义Dump 的变量;这里再详细介绍一下这一条命令,完整的格式应该是 $fsdbDumpvar(depth, instance, parameter);
        depth=0 表示dump instance下所有层次的信号,depth=1 表示只dump instance的信号;
        instance 可以指定dump 的 hierarchy;
        parameter 表示dump时可以选择的一些选项,"+mda" 表示dump memory 和 多维数组的数据;"+all" 表示 dump 所有信号;
$fsdbDumpMDA; : 添加这一句可以用于查看寄存器变量,配合vcs命令使用。
当需要查看多维数组的数据的时候,可以参考如下所示的方法:

initial begin 
    `ifdef DUMP_FSDB 
        $fsdbDumpfile("top_tb.fsdb"); //产生fsdb文件 
        $fsdbDumpvars(0,counter_tb,"+mda","+all"); //第一个参数为0,表示Dump所有层次,非0表示最大层次;第二个参数Dump模块名 
        $fsdbDumpMDA();
    `endif 
end
 

        2.2、FSDB在make file中需要使用的位置,以及定义

3、Makefile的基本格式

3.1 编译:

comp:

3.2 elab:

3.3 运行verdi

加载Verdi须在makefile脚本中添加:

  1. verdi 表示启动 Verdi 工具的命令;
  2. -nologo 表示启动 Verdi 时不加载欢迎界面;
  3. -ssf  $(TEST_NAME).fsdb 表示指定 Verdi 可识别的波形文件$(TEST_NAME).fsdb,可自动加载波形;
  4. & 表示 Verdi 启动时新打开一个进程,不占用当前的 shell 环境进程。

4、Verdi的参数

参数作用
-f文件列表
-ssf指定fsdb的路径
-l设置仿真日志的输出级别,如"none"、“errors”、“info”、“debug”
-top指定顶层设计
-nologo用于禁用Verdi启动时的Logo显示,加快启动速度。
-autoalias自动为未定义的信号和模块别名

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值