本篇文章为大家展示了Linux下VCS覆盖率检查是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
在一个芯片验证的工程中,通常以代码覆盖率和功能覆盖率来体现验证是否完备,而代码覆盖率包括:行,状态机,翻转,条件,分支覆盖率。为了保证验证的充分性,我们要尽可能保证这五种类型的代码覆盖率达到100%。行覆盖率 line coverage 要求百分之99-100
状态机覆盖率 FSM coverage
条件覆盖率 conditional coverage
翻转覆盖率 Toggle coverage :0->1 ,1->0
路径覆盖率 Path coverage :initial 和always里的语句
分支覆盖率 branch coverage
-cm line+cond+fsm+branch+tgl为生成什么条件的覆盖率
Makefile文件中覆盖率脚本:

执行vcs

产生的.vdb文件为产生覆盖率的信息

一步步cd进去可以看到coverage文件

下面进行覆盖率查看,输入如下命令 dve -covdir *.vdb &

弹出DVE界面,通过DVE查看覆盖率(方法1)

双击tb_state 进入,可以看到代码会有颜色标注,覆盖到的为绿色,没有覆盖到的为红色


Line coverage

Toggle coverage

FSM coverage

Condition coverage

Branch coverage

通过URG查看覆盖率(方法2),可以以文本格式或者网页格式显示覆盖率

点击run,产生urgReport;


或者在命令栏urg -dir *.vdb &

ls之后可以看到urgReport,cd进去可以看到.html文件和 .xml文件


会显示很详细的覆盖率报告

Tb文件:




Module文件





上述内容就是Linux下VCS覆盖率检查是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注天达云行业资讯频道。