Verdi使用技巧(三)

描述

前一段时间IC君比较忙,没有更新文章,最近稍微闲下来点,继续更新Verdi相关的文章。

Verdi提供了很强大的搜索查找功能,充分利用好这些功能在IC设计/验证过程中可以大大提高debug效率。 下面我们就结合实际应用来介绍一下Verdi中常用的搜索查找功能以及一些使用技巧。

1 层次浏览器窗格中寻找实例(instance)

在利用 Verdi debug时,首先需要找到我们负责模块的实例(instance),再选择相应的信号来观察它们的行为来debug。 当设计很庞大时,要找到底层的一个小模块,如果用鼠标从top一层一层的往下点,效率会比较低; 又或者我们只负责了一个小模块,对整个设计的层级关系并不清楚的时候,找到我们的底层设计会变得非常困难。

这时,只要我们知道底层模块的实例名,就可以利用Verdi的“Show Navigation Text Field”功能快速查找了。 操作方法如下图,

a) 在Verdi的层次浏览器窗格(Verdi界面的左部)点右键,弹出菜单里选“Show Navigation Text Field”或快捷键“Ctrl+S”

b) 在输入对话框里输入相应的实例名,再点右边的搜索按钮就可以了。

IC设计

IC设计

2. 搜索源代码

源代码窗格里提供了三种搜索指令,功能各不相同,用来应付不同的使用场景。

1) 查找范围

Find scope适用于整个chip里面的查找。 前面提到的应用场景——寻找底层模块,find scope 也可以很轻松的办到,如下:

A) 来源 – >查找范围

B) 在弹出对话框里Scope Type选module

Filter内填要找module关键字

Instance list 里面选择一个,点Go To,source code就会打开该module

IC设计

另外,对话框最下面列出了整个设计中找到的个数,可以知道该module被instance次数。

2) 查找信号/实例/输入端口

这个指令可以查找指定模块内的信号、实例或输入输出端口。 这个指令的好处是可以把要查找的内容都列出来,想看哪一个就用鼠标点一下,就会切换到源代码窗格对应位置。 当模块内要查找的signal(instance or input/output port)比较多时,可以快速的找到想看的signal。

操作方法如下:

源 –> 查找信号/实例/输入端口

选择要查找的类型:signal, instance or instport

输入框里面输入信号名,点Find 按钮,下面会列出所有找到的信号

点击某个信号,就会到达source code 里面对应的信号

IC设计

3)查找字符串

Find string应该是debug 过程中使用频率最高的查找指令了。 只要在输入框里面输入部分或全部要查找的字符串,再点一下find
按钮就可以了。

这个指令可以在当前文档(current File)或者全部文档(All file)里面查找,因为字符串查找匹配得比较多,要根据需要选择在当前文档或全部文档查找,以提高查找效率。

因为使用频率高,Verdi也很贴心的在默认工具栏里放置了Find string的输入窗口,如下:

IC设计

输入栏输入字符串有几种方法

(1)手动输入,好处是可以只输入部分字符,不用全部输入信号名

(2)点击信号,按中键拖入输入栏,然后点向上或向下查找,找同名信号

(3)点击信号,按快捷键”Ctrl+F”,信号名就会自动输入到输入栏。 这个快捷键很好用,大家要善加利用哦。

3. nWave里面的信号追溯源代码

Debug过程中,往nWave 里添加信号后,查看了信号波形,如果看到异常往往要回头看一下源代码。 如果一时找不到了,find string当然可以找得到,但是需要输入一串字符,可能就不那么乐意了。

其实Verdi很贴心,可以直接把nwave里面的波形拖到nTrace里面,可以快速的找到要找的信号。

操作方法:nWave里面选择信号,如out_den

按住中键,直接拖到source code plane,

然后放开,就会显示你要找的信号了

IC设计

上述内容介绍了Verdi常用的几种搜索查找功能和技巧。 希望对大家有帮助,debug效率更上一个档次。 如果你有什么好想法,也欢迎留言一起讨论。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

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

×
20
完善资料,
赚取积分