Verdi快速上手技巧大全(更新版)

目录

Verdi完整界面

工具栏图标

常用操作(ntrace窗口)

 查看某个或多个信号波形

显示原理图中的各个信号/端口/模块名

获得波形时刻代码里的数值

获得代码内的参数值

跳转到代码文件中的指定行

重新加载设计文件

修改Verdi中的字体大小

波形窗口nwave

波形全屏显示

定位代码位置

波形放大/缩小

Cursor (黄色)Marker (白色)

数值进制设置

信号窗口

保存/加载波形文件

显示信号层级路径

自动计数

统计信号跳变次数

Waveform Compare比较波形

查找信号的值

在波形中显示状态机状态名称

快捷键

Verdi加载 

通过tb生成波形文件


Verdi完整界面

恢复默认窗口界面:window -> hardware debug mode

工具栏图标

在工具栏右键可以自行添加或删除图标 

:打开设计文件

:打开波形窗口;打开原理图;打开时序图

:打开信号列表

打开信号列表效果:

 :新建源标签;编辑设计文件(快捷键e);

新建源标签:

在代码窗口下方工具栏右键同样可以新建源标签 

 编辑设计文件:

会自动打开编辑窗口,可以直接在Verdi对代码进行修改 

 

查看当前模块如何被例化;查看当前模块如何定义(也可以双击模块例化名)

上一步操作;下一步操作(ctrl+alt+f,ctrl+alt+b)

查看当前信号被那些信号驱动;查看当前信号会驱动那些信号

双击选定信号后跳转到上一处出现位置;跳转到下一处出现位置(快捷键p,n)

:显示上一层;显示下一层

bookmark:标签(快捷键ctrl+F2),在特定的代码处设置标签可以实现快速跳转(shift+F2前一个标签,F2后一个标签)

 :查找当前代码中的特定字符串(快捷键/);向上查找;向下查找

 查找快捷键:

查找范围:shift+S;source -> find scope

查找信号

法一:shift+A;source -> find signal/instance/instport

法二:在instance窗口右键,选择Show Search/filter,可查找某一信号

常用操作(ntrace窗口)

 查看某个或多个信号波形

法一:选中后直接拖到波形窗口

法二:选中后ctrl+w

法三:选中后ctrl+4

显示原理图中的各个信号/端口/模块名

打开原理图,在原理图工具栏中的view窗口

获得波形时刻代码里的数值

Source  -> Active Annotation

获得代码内的参数值

将鼠标放到参数上,自动显示参数值

跳转到代码文件中的指定行

快捷键g

重新加载设计文件

快捷键shift+L

修改Verdi中的字体大小

tools -> prefences -> general -> font and size

可修改工具栏、菜单、波形和控制台等字体大小

波形窗口nwave

波形全屏显示

先点击波形窗口右上角的undock按键,再点maximize,即可实现全屏显示;从全屏恢复则点击dock按键

定位代码位置

双击信号波形,可实现信号在代码窗口中的定位,在波形窗口对信号drag,在代码窗口进行drop,可实现相同功能

波形放大/缩小

按住ctrl键并向上滚动或向下滚动鼠标滚轮,可以对波形进行放大或缩小,对应快捷键为shift+z或Z

点击鼠标左键不放,在任意位置进行横向拖动后释放,会对波形进行局部放大

Cursor (黄色)Marker (白色)

左键是Cursor,中键是Marker,点击鼠标左键可实现黄色光标的时刻定位,点击鼠标滚轮可实现白色光标的时刻定位( mark time)。右键放大黄色光标和白色光标之间波形

工具栏的两个时刻框内会分别显示两个光标对应的时间,紧邻的数字和单位代表两个光标的时间差,可以点击三角符号选择显示时间差还是对应的频率。

在这里插入图片描述

数值进制设置

显示信号的数值大小和变换过程,选中多位位宽信号后,在此窗口点击右键,可出现一些功能选项。
在这里插入图片描述

设置信号的显示格式,可以选择二级制,十进制,ASCII码等,默认为十六进制。
设置信号的符号,可以选择无符号格式,二进制有符号补码格式等。
设置对位位宽信号为数字后模拟波形形式。

信号窗口

在这里插入图片描述

(1)重命名,可对信号或分组进行重命名。
(2)移动信号,点击后可将对应信号移动至黄线位置,对应快捷键为M。
(3)组操作,包含分组展开,折叠展示,新建插入等操作。
(4)drag & drop在信号窗口对信号进行drag与drop,可实现信号在该窗口的复制与粘贴。
(5)显示信号的驱动,负载或连接性等信息,至该窗口内,不常用。
(6)信号的进制格式和符号设置,同数值窗口的相关设置。
(7)信号的剪切,复制和粘贴操作。
(8)多位宽信号的展开或折叠显示。
(9)可对bus(多位宽)信号进行调整显示,或将多个信号进行重组显示等,例如,为了显示一个新的重组信号bus_new = {cnt[3:0],cout,cout},可以将cout信号复制为两个,然后选中这些信号,右键并选择:bus operations - > create bus(对用快捷键K),打开信号重组窗口,进行简单操作,即可完成信号的重组显示。

在这里插入图片描述

(a)添加注释,或空白行等便于熟悉,清晰的显示
(b)对多个信号进行逻辑操作,并生成新的信号,予以显示,便于判断多个条件成立的情况,例如,为了找出“rstn = = 1”,“cnt = = 4’h4”,“cout = = 0”的时刻,可以选中这些信号,右键并选择:logical operation ,打开逻辑操作窗口,expression,框内默认对多个信号进行“&”操作,以双引号为边界,对相关信号进行逻辑重写,生成结果信号,可用于指示重写逻辑有效的时刻,示意图如下:

在这里插入图片描述

保存/加载波形文件

File - > Save Signal,File - > Restore Signal
Save Signal(对应快捷键shift + s),可将波形窗口中的信号以及相关设置保存到后缀名为.rc的文件中,下次打开波形文件后,通过Restore Signal 操作(对应快捷键R)指定.rc文件,可直接恢复上一次添加的相关信号及对应设置至波形图中。

显示信号层级路径

View - > Hierarchical Name ,快捷键H

自动计数

(1)Grid Options 网格计数
可以指定在波形窗口中绘制网格线,选项包括Rising Edge,Falling Edge和Both Edges。
View - > Grid Options

在这里插入图片描述

选中grid和grid counter with start number

在这里插入图片描述

 如图信号下方出现了数字,用于计数,

在这里插入图片描述

 (2)自动计数器
右击PCLK信号,选择Add Counter Signal by ,选择上升沿,下降沿,任意沿中的一个。

在这里插入图片描述

统计信号跳变次数

统计出某个信号在特定时间段内的跳变的次数。
View - > Signal Event Report

在这里插入图片描述

Rising:指的是指定marker时间段内上升沿数。
Falling:指的是指定marker时间段内下降沿数。

在这里插入图片描述

Waveform Compare比较波形

Tool - > Waveform Compare

在这里插入图片描述

查找信号的值

 选择bus value时可以使用通配符*

在波形中显示状态机状态名称

tools ->Extract Interactive FSM

快捷键

c        调整所选波形颜色,线的粗细和类型

C        关闭波形窗口

t        随机改变波形颜色

f        波形全部显示

z        波形缩小

Z        波形放大

l        (last view)跳转到上次波形位置

g        (get signal)添加信号,显示波形

n        (next)search forward选定信号按指定的值向前跳转

N        向后跳转

m        将信号移动到黄线

h        显示信号层级路径

H        是否高亮所选信号

M        添加标记时刻(maker)

y        将黄线移动到中央

ctrl+R+-> 右移半屏

ctrl+R+<- 左移半屏

Verdi加载 

fsdb dump操作命令

在testbench中生成fsdb波形文件
在testbench中生成fsdb波形文件
$fsdbDumpfile(fsdb_name[,limit_size]) 

指定波形文件名,第二个参数可选择用来限制波形的大小(MB)。

$fsdbDumpvars([depth, instance][, “option”]) 

depth表示要加载波形的层次:

0表示当前instance下的所有变量以及其它module实例的波形,1表示当前instance中的变量的波形,不包括当前instance中的其它module实例的波形,2表示包含当前instance以及其中的第一级子instance的波形;以此类推。

instance指定要加载波形的module名。

option加载波形的选项:

+IO_Only – 只加载IO port信号;
+Reg_Only – 只加载reg类型信号;
+mda – 加载memory和MDA信号;
+packedmda – 加载packed MDA;
+struct – 加载structs;
+parameter – 加载parameter;
+fsdbfile+filename – 指定fsdb文件名字。(可覆盖dumpfile操作)

$fsdbAutoSwitchDumpfile(file_size, “fsdb_name”, number_of_files[, “log_file_name”, “+fsdb+no_overwrite”])

当波形的大小达到限制后自动以一个新的波形文件起始加载波形;在所有的波形文件加载完成后,会创建一个virtual FSDB文件,文件后缀.vf。查看波形时只需要加载此文件就可以合并所有的波形文件。


file_size:波形文件大小限制,单位为MB,最小为10M,若值小于10M则默认10M;
file_name:波形文件的名字,在实际加载波形时,文件名为file_name_000.fsdb ile_name_001.fsdb…;
number_of_files:最多可以加载多少个file_size这么大的波形文件,如果写为0,则默认没有限制;
log_file_name:指定log文件的名字,log文件中会记录每段波形的起始和中止时间
+fsdb+no_overwrite—当number_of_files限制的个数达到时停止dump波形;

后续补充...... 


参考博客:

全网最实用的Verdi教程2-电子发烧友网 (elecfans.com)

Verdi操作小结_verdi快捷键_Kanble_X的博客-CSDN博客

http://t.csdnimg.cn/9c0fv

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值