【个人笔记】如何使用Verdi

用verdi / 看波形

启动/使用

  • 启动 verdi 来看波形
  1. verdi [option] & 打开verdi ;

    & 表示后台工作;

    option有这些:

    -f code_file 直接选择code文件;

    -ssf fsdb_file 直接选择波形文件(不限fsdb格式)文件,从而不需要进入verdi后手动选择;

    -simflow 让verdi使用vcs仿真产生的kdb库(默认是simv.daidir/);

    -dbdir daidir_file 手动指定kdb库文件名;

  2. import 入design文件:

    • 003:是 chiron.v和另一个 chiron_lib.v文件;
    • 005:是 ccd_top.v 和 chiron.v;
  3. 打开波形文件(./run以后会自动生成,每生成说明./bld错了).fsdb文件;

  • run文件里生成波形的要点

  • 代码

    • 正确:-fsdb_config vtrace_fsdb +fsdbon:0

    • 不要写这个 :-fsdb_config vtrace_fsdb +fsdbon:0 +fsdboff:10000000 因为 10000000 其实完全不够,看到的信号都是X,你还不知道为什么 (ㄒoㄒ) ... 血与泪的教训啊家人们!

    • 若run里的 fsdboff=1e7,实际上的sim时间是到 1e-5 s,所以可以知道 run内的fsdb的时间单位是 ps( 1 e − 12 1e-12 1e−12) ,不是最小单位fs...

快捷键

(P.S. 大写字母=Shift+小写)

  1. 固定cursor和marker的距离:x
  2. 在代码中按,是所有变量显示当前值:x
  3. 将cursor所在位置显示在屏幕中央:yy
  4. 改变信号和波形颜色:c或者t
  5. 此波形的上一个上升沿或下降沿:n (next)
  6. 此波形的下一个上升沿或下降沿:N (next)
  7. 添加新信号:g (get signals)
  8. 复制信号:ctrl+p
  9. 粘贴信号:Insert
  10. 保存信号列表:S
  11. 恢复信号列表:r
  12. 删除所有信号列表:ctrl+d
  13. 只删除此信号:delete
  14. 撤销选择信号:d
  15. 显示信号全路径:h
  16. 复制信号全路径:ctrl+h
  17. 高亮显示所选信号:H (Highlight)
  18. 将信号移动到黄线位置:m (move)
  19. 添加标记时刻:M
  20. 放大波形:Z (zoom in)
  21. 缩小波形:z (zoom out)
  22. 展示全部波形:f (full, zoom all)
  23. 波形开头:b (begin)
  24. 波形结尾:e (end)
  25. 上一次打开波形的位置:l (last view)
  26. 重新载入波形(重新仿真后):L
  27. 向右移动半屏:ctrl + right
  28. 向左移动半屏:ctrl + left
  29. 把信号变量加入到Wave中,Add Signal to Wave:Ctrl+w
  • 没搞懂干啥的
    • Active Trace:Ctrl+e
    • 保存波形信号列表:r (restore signals ) 和 S 的区别是啥?

菜单栏功能

  • 双击信号波形: 跳转到代码,并用绿色高亮该信号
  • 双击信号:按位展开(expand),Struct展开下一层。再双击折叠(collapse)
  • 右键信号名->Bus Operations->Expand as Sub-bus->可以按指定位宽展开,比如512bits的信号分成4个128的,方便查看
  • 右键 Add Blank 可以让信号分组看起来更清晰
  • 菜单栏中的By:可以选择Search不同的值:Any Change, Rising Edge, Falling Edge, Bus Value等
  • 信号可以分组,组合信号都可以Rename
  • 改变波形进制:十进制,按住ALT,再依次按 W+R+D;二进制,按住ALT,再依次按 W+R+B
  • 改变波形无符号和有符号: 无符号,按住ALT,再依次按W+N+U;有符号2的补码,按住ALT,再按W+N+2
  • 波形其他属性调整:
    https://www.dazhuanlan.com/2019/12/09/5dee5424b012a/

注意事项

  • verdi的几个使用注意点

    • 搜索

      搜信号的时候,是在当前module内搜,子module内的不搜!

    • Set Active

      信号变量为灰色,说明不可见波形 ;要先 右键->set Active Scope 后,变量会变成红色,才可加入 Wave 中。

    • 追波形 和 chx系列的RTL 寄存器变量定位方法(zx的dv信号专用)

      看波形要根据信号去cndebug里面的 debug.m4里 取信号,然后在RTL里搜,然后邮件->set active,然后就可以观察波形了!

  • 【手把手教你】如何trace signal(找谁drive这个signal的,向上追)?

    1. 在hierarchy中直接搜 signal 的string path,定位其位置后,把其实参(不是形参)都拉到wve中(ctrl+w);

    2. 按X (使code中变量可直接显示其值变化,方便debug);

    3. 根据需要,可双击波形中的signal,可以定位其在代码中的位置;

    4. 双击code中的signal,可不断向上trace drive此signal的上级signal;

    5. 找到顶层出问题的signal(如,谁先变成X态),就可以反馈给designer了!

相关推荐
志尊宝5 小时前
Vue3 零基础每日笔记(071):暗黑模式与主题切换——CSS 变量 + Element Plus 暗黑方案
前端·css·笔记·vue·html·前端开发·软件开发
沪上企服通6 小时前
历史账套科目重映射与规则版本重算:旧账梳理的“口径复位”工程
笔记·架构
Go Work10 小时前
2026 Cadence SPB 24.1中文版安装图文详解(附安装包)
经验分享·笔记
ACP广源盛1392462567311 小时前
HDMI2.0 转 DP1.4 桥接方案评估:国产 GSV2125C@ACP 芯片选型笔记
笔记·硬件架构·hdmi·type-c·国产芯片
龙仔72511 小时前
RustDesk 自建服务器 Key 强校验配置笔记
运维·服务器·笔记
悟乙己11 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:赛题解析(一)
笔记·学习·金融
PC2005-cloud12 小时前
MySQL学习笔记:GTID 主从复制,从原理到实践,告别传统 Binlog+Position 的痛点
笔记·学习·mysql
悟乙己14 小时前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:关联技术(二)
笔记·学习·金融
yi01114 小时前
LeetCode 424. 替换后的最长重复字符|不定长滑动窗口:如何判断窗口是否合法?
笔记·python·算法·leetcode·双指针·滑动窗口
杨逢昌工厂6S管理15 小时前
116——杨逢昌:归位三定闭环法的旺季轻量化执行方案与工具清单
经验分享·笔记·职场和发展·学习方法