麦肯锡MECE原则与功能覆盖率

功能覆盖率开发可能非常复杂并且容易出错,因为这是一个手动地将设计需求(High-level)描述翻译成一组可收集coverpoint(Low-level)的过程。同一个模块的功能覆盖率根据不同的业务使用场景也需要做相应的修改。

麦肯锡Mutually Exclusive, Collectively Exhaustive(MECE)思维方式可以用来帮助我们高效清晰地规划功能覆盖率。MECE,简单来说就是相互独立、完全穷尽,即所谓的“无重复、无遗漏”

根据上面的这张图,我们可以将设计需求分解成一个个独立的coverpoint(definition1,definition2,definition3),最终使得coverpoint彼此互斥独立,同时所有的coverpoint的集合能够覆盖所有设计需求测试场景。

 

上面是一个非常理想的功能覆盖率建模结构,实际上可能无法做到完全的互斥独立(binsillegal_bins之间肯定是需要完全互斥的),但是我们必须要做到“完全穷尽”。

 

如果没有做到完全穷尽,就存在漏测的风险,在功能覆盖率检视的时候,必须要检查功能覆盖率的完备性,即所有coverpoint集合能够覆盖所有场景。

 

下面是基于MECE原则进行的AXI总线功能覆盖率建模示例:

在上面的例子中,我们可以很容易地按独立的事务类型进行分组,然后根据该事务中的各个域段进行分解并且对必要的域段进行cross

 

在进行AXI功能覆盖率建模时,视野无需太广,只要在总线级别进行覆盖。例如,对于RESP域段就不用进一步考虑收集系统上生成不同RESP的原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值