千家信息网

Linux下VCS覆盖率检查是什么

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本篇文章为大家展示了Linux下VCS覆盖率检查是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在一个芯片验证的工程中,通常以代码覆盖率和功能覆盖率来体现
千家信息网最后更新 2025年02月04日Linux下VCS覆盖率检查是什么

本篇文章为大家展示了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覆盖率检查是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

0