使用Verdi的小技巧

电子说

1.2w人已加入

描述

跳转到指定行号

其实日常的频繁、快速地查看 Verilog 源代码,一般是在独立的文本编辑器中完成的。比如,VCS 编译产生的 log 文件中,对应的 Warning、Error 的后面会跟着相关源文件的路径、行号。如果用的编辑器是版本比较新的 Vim,那么简单的 gF 指令就可以迅速的从 log 文件跳转到对应源文件,而且光标会体贴的定位在出错行。如果是仍未默认支持的旧版 Vim,那么自己可以添加一个函数。

这种方式在门级仿真的场景中会不太灵光。因为门级网表通常都非常巨大,用 Vim 类的编辑器打开一次会非常缓慢,频繁跳转造成的等待就更难以接受了。

浏览门级网表诸如此类的超大文件,用 Verdi 是个不错的选择。在 Verdi 的 Source 窗口中,如何快速跳转到指定的行呢?

用鼠标拖动当然是种办法。但更快捷的是,在 Source 窗口下,按 g 键。会弹出一个小窗口,输入行号,点击确定即可。

Verdi

源文件之间或不同逻辑层次的切换

有时候在 Verdi 中需要频繁的在两个 Verilog module 之间做切换,做一些对比的工作。如果这两个 module 所处的层次距离比较远,那么快捷的切换就显得特别重要了。这里介绍两个小技巧。

第一个是利用 Verdi 支持多 Source Tab 的功能。在两个不同的 Source Tab 中分别打开不同的 module,通过鼠标切换 Source Tab 来实现源文件或者逻辑层次的切换。

打开新的 Source Tab 的比较方便的方法是,在感兴趣的 Instance 上点击右键,然后在右键菜单上点击 Display Source Code in New Tab.

Verdi

效果类似下图。

Verdi

第二个技巧是利用 VC Apps 中的 Find Instance with Module Def Name。

首先打开 Tools 菜单中的 VC Apps Toolbox。

Verdi

在 Design Exploration 目录中找到上述名字的 App,然后双击执行。

Verdi

Verdi

在出现的对话框中输入感兴趣的 module 名字,支持通配符。然后点击确定。

Verdi

在 Verdi 下部的调试窗口中会出现一个新的大概叫做 SmartLog 的页面,其中列出了按照 module 名字搜索出来的所有 Instance。单击某个 Instance,Source 页面就会跳转到对应的地方。

Verdi

重复执行上述过程,但搜索不同的 module name,会形成独立的 SmartLog 页面。这样通过切换 SmartLog 页面,也可以很方便的在多个设计中切换。

统计之 Grid Option

我们之前介绍过用 Verdi 提供的Signal Event Report来统计一些信号的变化。最近学习到了一种新方法。详情可以阅读次条转载的这篇来自公众号数字ICer的文章。

这里简单描述一下操作步骤。

  1. 选中一个要统计的信号
  2. 点击菜单 View - Grid Option
  3. 如下图,勾选 Grid on,按需选择统计依据的信号沿,如上升沿
  4. 勾选 Grid Count with Start Number,默认是0,也可以按需设置
    Verdi
    绘出的 grid 效果如下图,可以很方便的来数数了。
    Verdi
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分