请教如何使用dve查看覆盖率

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教如何使用dve查看覆盖率相关的知识,希望对你有一定的参考价值。

命令行dve -cov & 打开后选择你生成的覆盖率数据库文件夹,默认名字为simv.vdb
或者直接用dve -covdir simv.vdb & 打开该文件即可
如果你没有生成覆盖率文件,那就是另外一个问题了——如何生成覆盖率文件?
普通的代码覆盖率条件覆盖率翻转覆盖率在vcs编译指令加-cm line+cond+fsm+tgl+branch,功能覆盖率是在环境中写covergroup和coverpoint的代码,具体怎么写请查SV的书。
两种覆盖率查看方式都一样,如上文第一个问题的回答。
参考技术A 您好,我来为您解答: DVE是synopsys公司VCS模拟器中的可视化图形调试软件。 DVE是VCS自带(内嵌)的图形化debug工具 如果我的回答没能帮助您,请继续追问。

VCS课时4: 使用VCD文件进行后处理

课程目标

原来是互动的过程,这一节课主要讲的是仿真平台完成任务,用DVE打开打开波形文件

  • 查看波形文件

  • 查看log文件

最早的是VCD文件,在这基础上推出的VCD+文件,文件比较大,读取慢

技术图片

  1. 在仿真代码中,嵌入dump 波形
  2. 产生VCD文件
  3. DVE在仿真后步骤

1 DVE后处理模式

PPT1

  • 仿真的速度(depend on data dump commands 各种开关)

    (设计验证的初期,需要我们把波形保持下来,这个时候bug比较多,但是到后面设计收敛,跑的比较久,这个时候就不需要dump波形)

  • 信号的可见性(查看仿真工具的信息,波形和log文件)

  • 问题的追踪性(可以追踪到问题出在哪儿)

  • 是否方便使用(是否对用户友好,user friendly)(verdi、debussy对应的fsdb文件,debug最好用的工具之一)

PPT2

技术图片

项目里面通过makefile的文件,脚本(批处理)

PPT3

技术图片

DVE目前只支持VCD plus文件,可以用相互的转换工具

PPT4

技术图片

关键是dump波形,$vcdpluson(参数),可以记录部分的波形文件

2 VCD+的系统任务

PPT1

技术图片

层次化的记录波形(0, A)整个模块,以A为top层的

PPT2

技术图片

从memory中写入磁盘,当有任务的时候

PPT3

技术图片

PPT4 例子

技术图片

不带参数:仿真哪个module里面,以及所有的子模块信号

$readmenb display语句

3 VCD+文件的编译

PPT1

技术图片

  • files 编译需要的文件
  • vcdplus_switchs 打开vcd+系统任务

直接的就是 vcs source.v -degugg_all

编译后打开vpd文件,dve -vpd vcdplus.vpd

PPT2

技术图片

  • -debug_all全部开关打开对性能影响比较大,-pp打开关键的开关
  • +vpdfile+filename 指定生成的vpd文件
  • 后面三个用的比较多

4 小技巧

PPT1

技术图片

PPT2

技术图片

PPT3

技术图片

5. 课程实验

Makefile的格式

givm显示行号,命名模式下输入: set nu

学脚本就是一劳永逸,简化操作

开始的几句

技术图片

  • 代码覆盖率和设置输出文件

技术图片

  • VCS的编译命令

技术图片

包括了时序检查

  • 仿真的命令(这里用SIM代替了很多复杂的命令)

技术图片

  • 编译命令,开始仿真命令,清除命令

技术图片

技巧:在GVIM打开新的文件,进入命令行输入tabnew ./打开一个窗口显示了当前文件夹下的所有文件,上下移动光标,按enter进入改文件或者文件夹

技术图片

verilog文件加入命令

技术图片

各种不同的vcdpluson

makefile执行

make clean执行makefile下的清除命令

make con执行编译命令

编译上产生的log文件和终端产生的信息是一样的,语法错误会在这里记录下来

make sim执行仿真

dve打开波形文件

  1. dve & 左上角file找到vpd+文件

选择波形信号,然后加入到波形文件add wave view

  • debug的过程,发现信号哪里错了,鼠标移动到那,双击会跳到源文件中去
  1. dve -vpd ***文件名

只记录顶层信号

更改记录波形的命令$vcdpluson(1, fsm_top)

重新编译,结果只计入top层

技术图片

加载数组并记录

技术图片

.txt文本记录的数据

技术图片

重新编译终端会显示的结果如下:

技术图片

默认情况下是不会记录的数组的,打开开关vcdolusmemon()

波形信号的显示为:

技术图片

加入display语句

第一句加在仿真文件里为:

技术图片

第二句和第三句为,加在设计文件里面

技术图片

开始仿真,终端打出了三个hello verilog,问题是你不知道是哪一个文件的输入。可能是随机执行顺寻

技术图片

重要的宏__file____line__

加入了宏,告诉额外的信息,哪一个文件的哪一行

技术图片

重新执行仿真,不同的是:

技术图片

以上是关于请教如何使用dve查看覆盖率的主要内容,如果未能解决你的问题,请参考以下文章

VCS课时4: 使用VCD文件进行后处理

请教各位老师php二维数组 查找相同的值合并 如何写

请教如何修改svn的端口号

OpenCover - 如何查看每个测试的覆盖率?

请教,firefox如何优雅的查看localStorage

新手:请教Linux下如何查看ROS的版本信息