SystemVerilog HVL:功能覆盖率

本文深入探讨SystemVerilog中的功能覆盖率,包括覆盖策略、数据采样、覆盖组、覆盖点、采样触发方式、覆盖选项、仓和覆盖率计算。介绍了如何根据设计规范制定验证计划,使用覆盖组和覆盖点进行数据采样,以及如何通过事件触发和回调函数进行采样。同时,详细讲解了仓的概念和不同类型的仓(如条件仓、翻转仓、非法仓等),以及如何计算覆盖率。

想深耕嵌入式?这个专辑值得收藏

MCU、FPGA、工控、传感器一站式学习,实战项目直接抄

功能覆盖率:表示验证计划覆盖设计功能的百分比

设计spec中描述了设计应具备的功能feature,验证计划就应针对列举的所有功能规划。例如D触发器就包括数据寄存和复位两种功能。

除了功能覆盖率还有其他一些覆盖率可以衡量验证进展情况:

代码覆盖率:简单易行,例如行覆盖率(多少行代码被运行过)、翻转覆盖率(1bit变量的值为0或1)、状态机覆盖率(哪些状态被访问过)

代码覆盖率可以衡量整个设计的实现情况,但是无法衡量是否有代码遗漏或者某些bug。

漏洞率:即bug率,在项目实施期间,保持追踪bug出现的速率,例如每周出现的bug数,做一个统计。

断言覆盖率:即SV代码中断言被触发的速率or频繁程度。

前面提过,断言可用于衡量多个设计信号之间关系是否满足要求,一旦检测到问题就可以立即停止仿真,详见SystemVerilog HVL:断言(System Verilog Assertion, SVA)

本文主要讲功能覆盖率。

systemverilog之覆盖率

想深耕嵌入式?这个专辑值得收藏

MCU、FPGA、工控、传感器一站式学习,实战项目直接抄

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Starry丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值