关于芯片验证的感悟5

这一篇主要介绍验证当中功能覆盖率和代码覆盖率。

    一个验证最重要的是验证报告, 其中功能覆盖率反映的是DUT的输入接口(主要是寄存器)能够取到的值是否都一一遍历到了, 特殊情况的寄存器的取值,我们还需要自己手动去造一个CASE来满足这个取值;一般功能覆盖率必须要达到100%覆盖; 代码覆盖率反映DUT的RTL代码的内容设计,是不是每个fsm,toggle都走过一遍,这个要达到比较高的覆盖率需要跑大量的时间,同时也需要验证人员对RTL的内容要有比较深入的了解。

      我们需要设计一个component来具体干收集覆盖率的活, 这个组件(component)可以包含任意个covergroup ,(每个covergroup里面的coverpoint最好是RTL的某一个module的输入寄存器接口,这个便于集中收集这个module的覆盖率信息);在mainphase当中,我们在vif 接口时钟的驱动下, sample各个covergroup的覆盖率信息, 并将这个component加入到UVM env 整个组件连接当中。

     

 

 

     

你可能感兴趣的:(感悟)