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,可以通过菜单栏操作:
- 点击
File → Import Design - 选择
RTL或Netlist - 指定文件列表或单个文件
- 点击
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真正发力的地方。