Verdi学习,持续更新


原文链接1:verdi看波形快捷操作_赤橙黄绿蓝_新浪博客
原文链接2:https://blog.csdn.net/weixin_36345456/article/details/112743910(https://blog.csdn.net/weixin_36345456/article/details/112743910)
原文链接3:https://blog.csdn.net/cfhsin/article/details/118542696

1.快捷键

在代码窗口,单击选中信号,此时处于高亮状态,按Ctrl+w,可以将信号发送到波形窗口;

快捷键:(大写字母=Shift+小写)

g get, signlas添加信号,显示波形

n next, Search Forward选定信号按指定的值(上升沿,下降沿,both,指定Value)向前跳转

N 与n功能相同,方向向后

y Keep Cursor at Centor(开关)移至中央并保持居中,再按取消固定居中

c color,调整所选信号的波形显示颜色,线的粗细和类型,非常方便Debug

f full, Zoom All波形全部显示

z Zoom Out波形缩小,一般配合鼠标放大非常方便

Z Zoom In 波形放大

l last view,上次波形位置,相当于Vim里的``或’’

L 重新加载波形或设计文件,这个很方便,在新一次仿真完成之后Roload即可

b begin移动Cursor到波形开头

e end移动Cursor到波形结尾

r restore signals 保存波形信号列表

h hierarchy显示信号的绝对路径

H Highlight(开关)是否高亮显示所选信号

m move将信号移动到黄线位置

Delete 删除所选信号

Ctrl+Right Arrow 向右移动半屏

Ctrl+Left Arrow 向左移动半屏

鼠标:

左键:用于选择信号

右键:调出菜单

中间:单击移动黄线,拖动信号可移动位置排列顺序

滑轮:上下滚屏

左键圈定波形范围:按选定缩放

双击信号波形: 跳转到代码,并用绿色高亮该信号

双击信号:按位展开(expand),Struct展开下一层。再双击折叠(collapse)

右键信号名->Bus Operations->Expand as Sub-bus->可以按指定位宽展开,比如512bits的信号分成4个128的,方便查看

菜单栏中的By:可以选择Search不同的值:Any Change, Rising Edge, Falling Edge, Bus Value等

信号可以分组,组合信号都可以Rename

右键 Add Blank 可以让信号分组看起来更清晰

2.搜索查找功能

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

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

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

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

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

2. 搜索源代码

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

1) Find scope

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

A) Source –> find scope

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

Filter内填要找module关键字

Instance list 里面选择一个,点Go To,source code就会打开该module
在这里插入图片描述

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

  1. Find Signal/Instance/instport

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

操作方法如下:

source –> Find Signal/Instance/instport

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

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

点击某个信号,就会到达source code 里面对应的信号
在这里插入图片描述

3)find string

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

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

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

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

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

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

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

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

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

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

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

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

然后放开,就会显示你要找的信号了
在这里插入图片描述

3.波形对应FSM信号的切换

1.在verdi的顶层菜单窗口,tools–>Extract Interactive FSM
选择First State或者All Stages皆可,区别是First State仅展开目前的所指定的FSM state,All Stages将展开所有的FSM states。

使用快捷键x可以标注信号的值(在源代码中)Active Annotation
那么通过使用光标移动,就可以在源代码下看到状态的切换

2.或者在waveform窗口中选择waveform菜单 --> Signal Value Radix --> Edit Alias… 编辑alias即可以达到我们的目的,但前者更简洁。

会不断学习更新的!

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值