学习记录19(sv覆盖率类型)

covergroupe可以定在接口、模块、程序、包、类、检查器中
覆盖率是用来检查设计和验证的完备性的,设计的完备性角代码覆盖率,验证的完备性叫功能覆盖率和断言覆盖率,也用于衡量测试的进行程度。
三分层次ip验证(新人)---子系统验证(一定资历)---系统验证(资深)
image
代码覆盖率是rtl设计工程师写的,验证工程师主要进行功能和覆盖率以及漏洞率代码
在芯片验证中,三种主要的覆盖率分别指:

  1. 代码覆盖率 (用于衡量设计代码是否完备)
  • 定义:由EDA工具(如VCS)自动收集,衡量设计代码(RTL)被测试用例执行的程度。
  • 特点:反映设计代码的运行情况,包括行覆盖率(line coverage)、分支覆盖率(branch coverage)、条件覆盖率(condition coverage)、翻转覆盖率(toggle coverage)和状态机覆盖率(FSM coverage)等。
  • 注意:代码覆盖率是验证完备的必要条件而非充分条件,达到100%不代表验证结束。
    条件覆盖率就是指的条件的逻辑操作数被覆盖的情况,满足或者不满足执行情况
    翻转覆盖率就是每个数据位都要有0-1或者1-0的翻转
    状态机覆盖率指的是你仿真时进入某一状态的次数,以及状态之间的跳转情况,被设计的每一种状态都有要有。
  1. 功能覆盖率 (衡量设计的各项功能是否都实现了,并于预设的行为一致)
  • 定义:由验证工程师根据验证计划手动编写(使用 covergroup),衡量设计功能是否被充分验证。
  • 特点:关注设计在实际环境中的行为正确性,例如FIFO是否经历了从空到满再到空的状态。
  • 注意:若功能覆盖率高但代码覆盖率低,说明验证计划不完整,未执行所有设计代码。
    image
    关注设计输入、输出以及内部状态
    image

功能覆盖率是要阅读功能描述文档,设计应该如何激励验证以及测量,也就是说你要设计激励产生,去迭代覆盖了规格书中定义的所有关键场景。功能覆盖率主要看功能是否实现,代码覆盖率检测不到。

代码和功能的侧重点
代码:工具自动算的,告诉你 “RTL 代码里那些 if-else、case 分支、状态机有没有实际被跑过”,它只管代码有没有被激活,不关心逻辑算得对不对。
功能:验证工程师自己手写的,它只管你设计的功能或者场景有没有被实现,不关心代码写得漂不漂亮。这是工程师根据对芯片规格spec理解手动定义的,如果理解有无或者遗漏,即使报告覆盖率是百分之百,实际未被验证的功能依然存在

  1. 断言覆盖率 (Assertion Coverage)
  • 定义:衡量断言(Assert/Assume/Cover Property)被触发或检查的频率。
  • 特点:主要用于检查信号之间的时序关系或逻辑约束,分为立即断言和并行(时序)断言。
  • 作用:帮助快速定位错误,当断言失败时可立即停止仿真或记录错误。
    image
    用于声明性的代码,具体点就是一次性(立即断言)或者一段时间内(并行断言)两个设计信号之间关系的声明性代码。
    可以看某个断言触发多少次,前面的那两种也能看,但是不太关注
    SVA是在SV的基础上重新写的一种语言,更专注于断言,所以比较简洁
    断言用于查找错误,判断是否满足,可以设定检查出多少个error才停止仿真,也可以检查一个错误就停止仿真,uvm里可以设定。
    image
    要写断言,且vcs加上检查覆盖率的选项才能生成断言覆盖率数据。

也就是说验证时给若干激励,这些激励会不断进入dut跑,覆盖率就是看这些激励是否能覆盖rtl代码所有的情况,如果代码覆盖率较低就说明产生的激励没有完全覆盖rtl设计的情况或者rtl代码本身是冗余的,最后就是条件本身很难达到的情况。

工作流程是什么样的?
覆盖率会在仿真过程中收集信息(注意不要收集TB的覆盖率,收集RTL的),然后进行后续处理得到覆盖率报告,通过覆盖率报告修改现有的test或者创建新的test填补未覆盖的盲区,一直迭代直到达到KPI要求。

面试官问:“你验证做到什么程度算完?”
标准回答:“代码覆盖率达到 95% 以上,且人工审查了未覆盖的 5% 是可接受的,同时功能覆盖率闭合,断言无失败。”

4.漏洞率
项目开始时漏洞较多每周都能检测到一定的漏洞,有些漏洞通过观察加经验就能判断,随着设计逐渐稳定,这个时候需要自动化检查的方法发现可能的漏洞,即使在设计邻近流片时,漏洞率会下降,甚至为0,但这并不代表验证结束。此外需要在每次漏洞率下降时找不同的办法测试可能的边界情况,这是因为影响漏洞率的因素有很多。
image

posted on 2026-08-03 17:31  tuck0603  阅读(40)  评论(0)    收藏  举报

导航