Verdi常用指令

  1. 使用技巧:

    verdi实用技巧-腾讯云开发者社区-腾讯云
  2. verdi常用快捷键总结:

    ctrl+w:将鼠标指向需要添加到波形上的信号名,通过该快捷键将该信号添加到波形上;

    shift+l:当鼠标指向波形区时刷新波形,当鼠标指向代码区(src1)时刷新代码;

    z:缩小波形,显示更长时间的波形;

    Z:放大波形,显示更短时间内的波形;

    f:显示全局的波形;

    shift+s:将当前存在于到波形区的信号保存为.rc后缀的信号列表;

    shift+m:波形区快捷添加标记时刻;

    ctrl+d:删除所有信号列表;

    x:在代码区快捷查看所有信号的当前状态;

    在波形区域固定curson(鼠标左键)和marker(鼠标中键)的距离;

    h:在波形区快捷查看信号的全路径;

    c:自定义信号的颜色和粗细;

    t:按一次切换一次信号颜色;

    m:将信号移动到黄线位置;

    y:移至中央并保持居中,再按取消固定居中;

    n:指针跳到信号的下一个跳变沿;

    N:指针跳到信号的上一个跳变沿;

  3. 查找:

    1. 在Instance列找到hierarchy81f7282f4a994037b81b1843faa15444.png

    2. 查寻模块实例化的位置cd2c4bd2aa6344e8a677c9e6237b7804.png

    3. .查寻字符串,配合正则匹配效率更高aea3c84ab3734f739ecec9d822639d4b.png

    4. verdi还提供onesearch,支持正则,可以搜索各种类型的信息,速度快4e8ca41b0a1d4aac98d2fd55f3ba7ac2.png

  4. 波形信号操作:

    1. 显示状态机名称(注意要求是原始的状态机信号)

      8dfc73f847264bd0971f0a437d1a5541.png
    2. 状态机还原:状态机寄存器如何回到原来的数值进制显示,选中信号,然后点remove alias0fa595cd2e134cc5b769741618893104.png
    3. 显示上升沿/下降沿数量:选择信号->选择要选定的时间范围e5a93f0a1b074c0aa8e35e07baef8cac.png
    4. 显示信号的数量:选择信号->右键->Add/Remove->Add counter signal97521fdcfe114a5b9fc540cbed4eb4a1.png
    5. 通过逻辑表达式重新生成新的信号波形:选择信号->右键2df8ecc4f6d448b2ba991642267035d1.png
    6. 查找某信号某值坐在位置:点击by旁边的下拉小箭头,选择bus value,然后在框中填写查找值,点击右箭头4f578f5e6aaa45a080b8648d6211b2d2.png
    7. 信号拆分方法:右键信号->填写位数fcc824506ead4ed2a900cf9c2477c240.png5d425183f6b94b13bbe7b5de96f67936.png

    8. 信号合并:右键信号24497dba6d4048debaec228c743bc1ea.png

    9. 波形里glich的调试方法:view->expand delta  怎么在fsdb波形中构造一个0ps的毛刺

  5. 工具使用:

    1. 调整字体大小方法:Tools -> Preference,然后搜索fontbf650215942c4be8a5921a899546eb12.png
  6. Verdi打开波形文件指令

    1. verdi -dbdir simv.daidir/ 打开仿真器数据库(database)文件夹,其中存放的是包含了编译信息的中间数据
    2. verdi -ssf xxx.fsdb 打开fsdb波形文件,或vf文件(virtual fsdb)
    3. verdi -simflow 打开VCS产生的KDB(knowledge databse)
  7. Verdi收集覆盖率指令

    1. 生成覆盖率文件:

      urg -full64 -dir cov/*.vdb -dbname xxx_cov_date
      -full64:以64bit的程序进行merge
      -dir:指定要拿到的db的hier
      -dbname:指定输出的merge后的文件夹
      其他选项:
      -f xxx_path/xxx_vdb.fl:指定filelist,filelist包含多个vdb
      -report:输出report
      -noreport:不输出最终的report,只merge
      -warn none:忽略warning信息
      -matric +[line,cond,fsm,tgl,branch,assert]:提取特定的coverage
      -parallel:并行merge
      -show tests:显示覆盖率信息具体对应的用例
      -grade testfile:在当前目录的urgReport下产生gradedtests.txt文件,显示用例对提升覆盖率的贡献排名
      -map:后面跟的是需要merge coverage的模块名
    2. 打开覆盖率文件:(注意要在自己的路径下打开,他人路径打开会失败,因为verdi需要缓存一些环境变量等)

      verdi -cov -cov_dir simv.vdb
      dve -cov -dir simv.vdb //无license时可用
    3. 打开带exclude文件的覆盖率:

      verdi -cov -covdir xxx.vdb -elfile xxx.el    //指定el文件
      verdi -cov -covdir xxx.vdb -elfilelist xxx.el//指定el list
    4. exclude掉层级及层级以下的选项:

    5. exclude信号及信号全部路径:

      1. 选择File->Manage Verdi ELAB database,导入simv.daidir文件

      2. 对于要exclude的信号,右键信号->Exclude Connected Signals  

    6. 指定生成的覆盖率层级:
      *************cm_hier.list************
      -tree xxx_hier 0
      +tree xxx_hier 1
      //参数含义:
      数字:0代表全部层级;1代表当前层级;2代表当前及往下一个层级
      +/-tree hier_name:对/不对指定层级统计coverage
      +/-module module_name:对/不对指定模块统计coverage
      +/-file file_name:只对file_name文件里面指定的模块的t统计coverage
      +/-moduletree module_name:对/不对指定的模块以及该模块下的模块,统计coverage
      +/-node 信号绝对路径:包括/去除对指定信号toggle coverage的统计
      
  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值