2. Verdi基础操作:界面布局详解、加载设计文件与波形文件、常用快捷键与鼠标操作

好,咱们正式开始动手操作Verdi。说实话,很多工程师用了好几年Verdi,也就停留在「打开波形、看信号、加个标记」这个层面。但Verdi真正的威力,藏在它的界面布局和操作习惯里。今天我就带你把这些基础打扎实。

2.1 界面布局详解:别被密密麻麻的窗口吓到

第一次打开Verdi的人,十有八九会懵——这窗口也太多了吧?别急,我帮你拆解一下。

Verdi的界面其实就三大块:

  • nWave(波形窗口):看波形的地方,默认在右下角。我个人习惯把它拖到右侧,这样看代码和波形能左右对照。
  • nTrace(源代码窗口):显示RTL或网表代码,默认在左上角。这里可以高亮、追踪信号驱动关系。
  • Console(控制台):底部那一小条,别小看它。所有命令、报错信息都在这里。我每次加载完文件,第一件事就是扫一眼Console有没有红色报错。

嗯,还有一个容易被忽略的——Signal List(信号列表)。它通常和nWave叠在一起,点一下标签就能切换。你可以在里面搜索、排序、分组信号。

我的小技巧:Ctrl+Shift+D 可以一键恢复默认布局。如果你把窗口拖乱了,别慌,按这个组合键就能回到初始状态。

2.2 加载设计文件(RTL / Netlist)

Verdi不是直接读你的.v文件就完事了。它需要先编译,生成一个叫 KDB 的数据库。说白了,就是Verdi自己的「索引文件」。

加载设计文件有两种方式:

方式一:命令行加载(推荐)

我个人最常用这种方式,因为可以写脚本自动化。命令如下:

verdi -f filelist.f -top top_module -ssf waveform.fsdb &

解释一下:

  • -f filelist.f:指定文件列表,里面是所有RTL文件的路径。
  • -top top_module:指定顶层模块。如果不指定,Verdi会自己猜,但有时候会猜错。
  • -ssf waveform.fsdb:直接加载波形文件。省得进去再手动点。
  • &:后台运行,不占用终端。
注意: 如果你加载的是综合后的网表(Netlist),记得加上 -ssy-ssz 参数。我曾经因为忘了加这两个参数,导致网表里的门级单元全部显示为黑盒,排查了半天才发现是加载方式不对。

方式二:GUI界面加载

如果你已经打开了Verdi,可以通过菜单栏操作:

  1. 点击 File → Import Design
  2. 选择 RTLNetlist
  3. 指定文件列表或单个文件
  4. 点击 OK 等待编译完成

这种方式适合临时看个小模块。如果是大项目,我建议还是用命令行,因为GUI加载大设计时容易卡死。

2.3 加载FSDB / VCD波形文件

波形文件是调试的核心。Verdi支持两种主流格式:FSDB(自家格式,压缩率高)和 VCD(通用格式,但文件巨大)。

加载波形的方法也很简单:

  • 命令行方式:启动时加 -ssf your_waveform.fsdb
  • GUI方式:在nWave窗口中,点击 File → Open Signal,选择你的波形文件

这里有个坑——FSDB文件必须和设计文件匹配。什么意思呢?就是你的RTL代码版本和生成FSDB时的仿真版本要一致。如果不一致,Verdi会报「Signal not found」的错误。我遇到过好几次,都是因为仿真完又改了代码,忘了重新跑仿真。

避坑指南: 每次修改RTL后,记得重新编译仿真,生成新的FSDB。别问我怎么知道的——我曾经拿着旧波形调了三天,最后发现是代码版本对不上。

2.4 常用快捷键与鼠标操作

快捷键是提升效率的关键。我整理了一份最常用的清单,你直接背下来就行:

操作 快捷键 说明
放大波形 z 鼠标滚轮也可以,但z更精准
缩小波形 Z(Shift+z) 配合z使用,快速缩放
全屏显示波形 f 一键显示所有波形范围
添加标记 m 在光标位置添加书签
跳转到下一个标记 Ctrl+n 配合m使用,快速导航
搜索信号 Ctrl+s 在Signal List中搜索
添加信号到波形 Ctrl+w 选中信号后按此组合键
追踪信号驱动源 Ctrl+鼠标左键 点击信号,跳转到驱动它的代码行
显示信号值 v 在波形上显示当前值

鼠标操作方面,有几个技巧:

  • 左键拖拽:在波形区域拖拽,可以选中一段区域,Verdi会自动放大到该区域。
  • 中键滚轮:上下滚动是垂直移动,按住 Ctrl 再滚轮是水平移动。
  • 右键菜单:在信号上右键,可以快速添加、删除、修改信号属性。
我的习惯: 调试时我左手永远放在键盘左侧(z、f、m这几个键附近),右手握鼠标。这样左手控制缩放和标记,右手选择信号和区域,效率最高。

好了,基础操作就这些。你可能会觉得「就这?」,但相信我——把这些快捷键练成肌肉记忆,你的调试速度至少能快一倍。下一章我们讲信号追踪和波形对比,那才是Verdi真正发力的地方。