Verdi使用小技巧(三)

使用 Verdi 的过程中,难免会碰到表示某种变化量的多位宽数字信号,我们关心的是它的变化趋势。今天主要聊聊数字信号的模拟化呈现。
数字信号的模拟化呈现
Verdi 提供了既简单又直观的操作,去绘制数字信号的模拟变化趋势。尤其是在观察周期性计数的数字信号时,例如调制频率的变化,还有 FIFO 读写地址的变化,这种方式基本是可以做到一目了然的。
操作方式:nWave 窗口菜单 - Waveform - Analog Waveform

对于 Verdi 这个工具来说,它对于数字信号本身的含义目前还没有智能到可以自动识别。所以我们需要指定特定数字信号的表示方式(Notation),是无符号、二补码还是补码等等。
操作方式:nWave 窗口菜单 - Waveform - Set Notation

模拟波形的显示范围
还有一个可能遇到的局限性就是,Verdi 在绘制数字信号的模拟波形时,默认会按照整个波形的动态范围来绘图。如果一个数字信号的初始值和工作时实际的动态范围差别很大,那么观察实际工作时的模拟波形时,波形变化的幅度相比整个动态范围就会太小,无法明了的看到小动态范围的变化趋势。
手动调节显示范围
还好 Verdi 提供了手动调节显示范围的功能。
操作方式:nWave 窗口菜单 - Analog - Zoom Value…

根据需要调节上限和下限,调节过程中波形是实时更新的。

对比效果如下图,第一个信号是默认范围的,动态变化缩成一条直线了,没有观察价值。第二个信号是调整了范围的,可以清楚的看到变化趋势。第三个是原始的数字信号。

自动调节:切换 FSDB 文件
还有一个比较笨的解决方法是,写出 FSDB 文件时,根据特定信号,从数字信号开始动态变化的时候,做一个文件切换。这样就把数字信号初始化部分的波形分离出去。当我们着重分析动态变化的部分时,就不需要加载初始化部分的波形。Verdi 在绘制模拟波形的时候,只会看到小动态范围的数值,绘制出来的变化趋势就足够清楚了。

$fsdbDumpfile("tb_000.fsdb");
$fsdbDumpvars(0, tb);
@(posedge some_trigger_signal);
$fsdbSwitchDumpfile("tb_001.fsdb");

自动调节:加载特定时间范围
当然作为团队项目的螺丝钉,有时候不方便控制 FSDB 文件的产生方式,那么在加载 FSDB 文件的时候,可以选择指定一个时间范围。感谢读者 @Erik Li 提供的这个技巧。
操作方式:nWave窗口菜单 - Open,选择 FSDB 文件到 Target Name 后,点击左下方的 Options… 按钮。

在弹出的对话框中选中 Open File By Time Range,然后点击 OK 按钮。

再点击 OK 按钮,在弹出的对话框中就可以选择感兴趣的时间起止范围了。

最后再分享一个最近才发现的 Verdi 调用参数。
verdi -preTitle “some text”
螺丝钉做久了,需要同时打开的 Verdi 窗口数量与日俱增。怎么从密密麻麻的任务栏图标中找到要找的那个,是个麻烦但不紧急的问题。除了贯彻断舍离、及时关闭短期内不需要的窗口之外,用上面的选项为每一个 Verdi 窗口做个简洁唯一的命名,也是一个不那么有效的解决之道。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Verdi是一款用于图形化仿真的工具,可以用于调试和观察变量情况。要使用Verdi的图形界面进行动态仿真,可以按照以下步骤操作: 1. 在启动Verdi时,使用以下命令来执行启动: ``` verdi -play <command_file_name> ``` 这里的`command_file_name`是一个TCL文件,用于执行Verdi的命令和设置。 2. 在vcs的编译选项中加入`-kdb`的选项进行编译。 3. 在执行`simv`的选项中加入`-gui=verdi`或者`-verdi`选项,这样就可以启动Verdi进行图形界面的动态仿真。 使用Verdi的图形界面可以方便地添加断点和观察变量的情况,以便进行调试和分析。请注意,这里只是简要介绍了Verdi的使用方法,具体的操作和功能可以参考相关的文档和教程。\[1\]\[2\] #### 引用[.reference_title] - *1* *3* [Verdi - GUI技能操作 Before you start (未完)](https://blog.csdn.net/ciscomonkey/article/details/111239840)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [verdi简单使用方法](https://blog.csdn.net/muyiwushui/article/details/119911977)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值