跳转到指定行号
其实日常的频繁、快速地查看 verilog 源代码,一般是在独立的文本编辑器中完成的。比如,vcs 编译产生的 log 文件中,对应的 warning、error 的后面会跟着相关源文件的路径、行号。如果用的编辑器是版本比较新的 vim,那么简单的 gf 指令就可以迅速的从 log 文件跳转到对应源文件,而且光标会体贴的定位在出错行。如果是仍未默认支持的旧版 vim,那么自己可以添加一个函数。
这种方式在门级仿真的场景中会不太灵光。因为门级网表通常都非常巨大,用 vim 类的编辑器打开一次会非常缓慢,频繁跳转造成的等待就更难以接受了。
浏览门级网表诸如此类的超大文件,用 verdi 是个不错的选择。在 verdi 的 source 窗口中,如何快速跳转到指定的行呢?
用鼠标拖动当然是种办法。但更快捷的是,在 source 窗口下,按 g 键。会弹出一个小窗口,输入行号,点击确定即可。
源文件之间或不同逻辑层次的切换有时候在 verdi 中需要频繁的在两个 verilog module 之间做切换,做一些对比的工作。如果这两个 module 所处的层次距离比较远,那么快捷的切换就显得特别重要了。这里介绍两个小技巧。
第一个是利用 verdi 支持多 source tab 的功能。在两个不同的 source tab 中分别打开不同的 module,通过鼠标切换 source tab 来实现源文件或者逻辑层次的切换。
打开新的 source tab 的比较方便的方法是,在感兴趣的 instance 上点击右键,然后在右键菜单上点击 display source code in new tab.
效果类似下图。
第二个技巧是利用 vc apps 中的 find instance with module def name。
首先打开 tools 菜单中的 vc apps toolbox。
在 design exploration 目录中找到上述名字的 app,然后双击执行。
在出现的对话框中输入感兴趣的 module 名字,支持通配符。然后点击确定。
在 verdi 下部的调试窗口中会出现一个新的大概叫做 smartlog 的页面,其中列出了按照 module 名字搜索出来的所有 instance。单击某个 instance,source 页面就会跳转到对应的地方。
重复执行上述过程,但搜索不同的 module name,会形成独立的 smartlog 页面。这样通过切换 smartlog 页面,也可以很方便的在多个设计中切换。
统计之 grid option我们之前介绍过用 verdi 提供的signal event report来统计一些信号的变化。最近学习到了一种新方法。详情可以阅读次条转载的这篇来自公众号数字icer的文章。
这里简单描述一下操作步骤。
选中一个要统计的信号点击菜单 view - grid option如下图,勾选 grid on,按需选择统计依据的信号沿,如上升沿勾选 grid count with start number,默认是0,也可以按需设置
绘出的 grid 效果如下图,可以很方便的来数数了。
索尼全新耳机上市 20级主动降噪续航达30小时
锤子新机最新消息汇总:锤子T3和锤子坚果Pro即将来临,颜值有点令人眩晕!配置呢?
京东方斥资1395亿元建三条第6代AMOLED生产线
高精度电流传感器微电流检测突破进展
杜邦全新Crastin PBT解决方案,提升激光焊接效果
使用Verdi的小技巧
如何让new操作符不分配内存,只构造
SQL优化技巧分享
新iPad Pro从Lightning接口改为USB-C接口
晶振在通信设备模块中的作用
Linux防火墙配置(iptables和firewalld)
采用TB62734FMG的白光LED驱动器项目
I²C总线与SMBus的比较指南
0-100km/h仅需5秒,深度解析保时捷卡宴E-Hybrid技术
从Tesla与BMW看无人工厂 连Musk都坦承的错误
涨价潮的背后,剖析硅片市场的供需结构
中国大陆手机品牌降价促销 被动元件厂有望迎急单
您的无线选择:Wi-Fi、蓝牙,还是两者兼而有之?
石墨烯增强——未来的材料
各国人工智能战略谁更加强