-
使用技巧:
verdi实用技巧-腾讯云开发者社区-腾讯云 -
verdi常用快捷键总结:
ctrl+w:将鼠标指向需要添加到波形上的信号名,通过该快捷键将该信号添加到波形上;
shift+l:当鼠标指向波形区时刷新波形,当鼠标指向代码区(src1)时刷新代码;
z:缩小波形,显示更长时间的波形;
Z:放大波形,显示更短时间内的波形;
f:显示全局的波形;
shift+s:将当前存在于到波形区的信号保存为.rc后缀的信号列表;
shift+m:波形区快捷添加标记时刻;
ctrl+d:删除所有信号列表;
x:在代码区快捷查看所有信号的当前状态;
在波形区域固定curson(鼠标左键)和marker(鼠标中键)的距离;
h:在波形区快捷查看信号的全路径;
c:自定义信号的颜色和粗细;
t:按一次切换一次信号颜色;
m:将信号移动到黄线位置;
y:移至中央并保持居中,再按取消固定居中;
n:指针跳到信号的下一个跳变沿;
N:指针跳到信号的上一个跳变沿;
-
查找:
-
在Instance列找到hierarchy
-
查寻模块实例化的位置
-
.查寻字符串,配合正则匹配效率更高
-
verdi还提供onesearch,支持正则,可以搜索各种类型的信息,速度快
-
-
波形信号操作:
-
显示状态机名称(注意要求是原始的状态机信号)
- 状态机还原:状态机寄存器如何回到原来的数值进制显示,选中信号,然后点remove alias
- 显示上升沿/下降沿数量:选择信号->选择要选定的时间范围
- 显示信号的数量:选择信号->右键->Add/Remove->Add counter signal
- 通过逻辑表达式重新生成新的信号波形:选择信号->右键
- 查找某信号某值坐在位置:点击by旁边的下拉小箭头,选择bus value,然后在框中填写查找值,点击右箭头
-
信号拆分方法:右键信号->填写位数
-
信号合并:右键信号
-
波形里glich的调试方法:view->expand delta 怎么在fsdb波形中构造一个0ps的毛刺
-
-
工具使用:
- 调整字体大小方法:Tools -> Preference,然后搜索font
- 调整字体大小方法:Tools -> Preference,然后搜索font
-
Verdi打开波形文件指令
- verdi -dbdir simv.daidir/ 打开仿真器数据库(database)文件夹,其中存放的是包含了编译信息的中间数据
- verdi -ssf xxx.fsdb 打开fsdb波形文件,或vf文件(virtual fsdb)
- verdi -simflow 打开VCS产生的KDB(knowledge databse)
-
Verdi收集覆盖率指令
-
生成覆盖率文件:
urg -full64 -dir cov/*.vdb -dbname xxx_cov_date -full64:以64bit的程序进行merge -dir:指定要拿到的db的hier -dbname:指定输出的merge后的文件夹 其他选项: -f xxx_path/xxx_vdb.fl:指定filelist,filelist包含多个vdb -report:输出report -noreport:不输出最终的report,只merge -warn none:忽略warning信息 -matric +[line,cond,fsm,tgl,branch,assert]:提取特定的coverage -parallel:并行merge -show tests:显示覆盖率信息具体对应的用例 -grade testfile:在当前目录的urgReport下产生gradedtests.txt文件,显示用例对提升覆盖率的贡献排名 -map:后面跟的是需要merge coverage的模块名
-
打开覆盖率文件:(注意要在自己的路径下打开,他人路径打开会失败,因为verdi需要缓存一些环境变量等)
verdi -cov -cov_dir simv.vdb dve -cov -dir simv.vdb //无license时可用
-
打开带exclude文件的覆盖率:
verdi -cov -covdir xxx.vdb -elfile xxx.el //指定el文件 verdi -cov -covdir xxx.vdb -elfilelist xxx.el//指定el list
-
exclude掉层级及层级以下的选项:
-
exclude信号及信号全部路径:
-
选择File->Manage Verdi ELAB database,导入simv.daidir文件
-
对于要exclude的信号,右键信号->Exclude Connected Signals
-
- 指定生成的覆盖率层级:
*************cm_hier.list************ -tree xxx_hier 0 +tree xxx_hier 1 //参数含义: 数字:0代表全部层级;1代表当前层级;2代表当前及往下一个层级 +/-tree hier_name:对/不对指定层级统计coverage +/-module module_name:对/不对指定模块统计coverage +/-file file_name:只对file_name文件里面指定的模块的t统计coverage +/-moduletree module_name:对/不对指定的模块以及该模块下的模块,统计coverage +/-node 信号绝对路径:包括/去除对指定信号toggle coverage的统计
-
Verdi常用指令
于 2024-05-07 10:45:12 首次发布