温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

code coverage有什么用

发布时间:2021-12-17 16:26:12 来源:亿速云 阅读:242 作者:iii 栏目:互联网科技

这篇文章主要讲解了“code coverage有什么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“code coverage有什么用”吧!

Code coverage起源于软件测试,它可以描述在测试过程中代码覆盖的程度

与functional coverage不同,Code coverage的分析统计是一个自动过程。因此,将Code coverage整合到现有的仿真流程中非常简单,不需要更改当前的设计或测试平台。

regression run期间实现100%的Code coverage意味着测试平台提供了激活RTL代码中所有结构的激励,但是设计上可能有些功能没有经过验证,仍然存在功能上的Bug。

Code coverage指标无法分析功能验证的情况,但是由于Code coverage的自动化方面的优势,其仍然是验证流程中的一个非常重要的验证指标。

Code Coverage类型

Toggle Coverage

Toggle Coverage用于测量register 或者wire的每个bit toggle的次数。

查看Toggle Coverage分析报告比较费力,而且价值不大,通常用于IP之间的连接检查。此外,Toggle Coverage对于one-hot选择等控制信号也很有用。

Line Coverage
Line Coverage用于分析RTL代码中哪些行在仿真期间被执行。

Line Coverage分析通常会发现,由于代码中的bug或者某些IP特定的配置导致某些代码从未被执行。对于无效的代码,可以选择在Line Coverage统计期间过滤掉,仅关注相关代码。

Statement Coverage
Statement Coverage用于分析RTL代码中哪些语句在仿真过程中被执行。Statement Coverage比Line Coverage更有用,因为一条语句(Statement)通常跨越多行(Line)代码-或多条语句可以在一行代码。

Branch Coverage

Branch Coverage(也称为decision coverage)是分析控制结构(例如if,case,while,repeat,forever,for和loop语句)中布尔表达式覆盖率。

Finite-State Machine Coverage

当今的code coverage分析工具能够识别RTL源代码中的有限状态机。因此,工具可以自动提取FSM code coverage指标。例如,进入状态机中每个状态的次数,从一个状态转换(transition)到其它状态的次数

收集和分析code coverage指标的目的是识别RTL代码中在当前的验证环境中未被执行的部分。

从项目的角度来看,通常最好等到RTL实现接近完成的时候才开始收集和分析code coverage,否则,可能会因为RTL代码的修改,浪费大量没有意义的时间。

在开始收集code coverage之前,先运行一些仿真以解决code coverage流程中的其他问题。

感谢各位的阅读,以上就是“code coverage有什么用”的内容了,经过本文的学习后,相信大家对code coverage有什么用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI