大家好,欢迎来到IT知识分享网。
-
使用技巧:
verdi实用技巧-腾讯云开发者社区-腾讯云
- ctrl+w:将鼠标指向需要添加到波形上的信号名,通过该快捷键将该信号添加到波形上;
verdi常用快捷键总结:
shift+l:当鼠标指向波形区时刷新波形,当鼠标指向代码区(src1)时刷新代码;
z:缩小波形,显示更长时间的波形;
Z:放大波形,显示更短时间内的波形;
f:显示全局的波形;
shift+s:将当前存在于到波形区的信号保存为.rc后缀的信号列表;
shift+m:波形区快捷添加标记时刻;
ctrl+d:删除所有信号列表;
x:在代码区快捷查看所有信号的当前状态;
在波形区域固定curson(鼠标左键)和marker(鼠标中键)的距离;
h:在波形区快捷查看信号的全路径;
c:自定义信号的颜色和粗细;
t:按一次切换一次信号颜色;
m:将信号移动到黄线位置;
y:移至中央并保持居中,再按取消固定居中;
n:指针跳到信号的下一个跳变沿;
N:指针跳到信号的上一个跳变沿;
-
查找:
- 查寻模块实例化的位置
- .查寻字符串,配合正则匹配效率更高
- verdi还提供onesearch,支持正则,可以搜索各种类型的信息,速度快
在Instance列找到hierarchy
-
波形信号操作:
-
- 状态机还原:状态机寄存器如何回到原来的数值进制显示,选中信号,然后点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
- urg merge option
指令 含义 -full64/-mode64 以64bit的程序进行merge -parallel 并行merge -dir <dir> 指定要拿到的db的hier -dbname <dir_name> 指定输出的merge后的文件夹 -elfile <file> 忽略掉指定el文件中的覆盖率 -elfilelist <file> 忽略掉指定el文件列表中的覆盖率 -hier <file> 指定文件,该文件包含要排除的module definitions,instances,hierarchies -f <xxx_path/xxx_vdb.fl> 指定filelist,filelist包含多个vdb -report <dir> 输出report -noreport 不输出最终的report,只merge -warn none 忽略warning信息 -matric +[line,cond,fsm,tgl,branch,assert] 提取特定的coverage -line nocasedef line覆盖率包含不考虑default case -show tests 显示覆盖率信息具体对应的用例 -show ratios 显示每种得分下覆盖的数量和总数 -tgl portsonly 仅提取port的toggle覆盖率,不考虑net和variables -map <mod> 提取需要merge coverage的模块名 -grade testfile 在当前目录的urgReport下产生gradedtests.txt文件,显示用例对提升覆盖率的贡献排名 - 打开覆盖率文件:(注意要在自己的路径下打开,他人路径打开会失败,因为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
- 指定生成的覆盖率层级:vcs option: -cm_hier xxx.cfg
*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的统计
生成覆盖率文件:
-
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/133268.html