0
covergroup xxxx ;
 yyyy : coverpoint (zzzz)
{
bins sequence_1 = {0=>1=>2=>3};
bins sequence_2 = {0=>1=>2=>3=>4};
bins sequence_3 = {0=>1=>2=>3=>4=>5=>6=>7=>8=>9};
bins sequence_4 = {0=>1=>2=>3=>4=>5=>6=>7=>8=>9=>10=>11=>12=>13=>14=>15=>16=>17};
bins sequence_5 = {0=>1=>2=>3=>4=>5=>6=>7=>8=>9=>10=>11=>12=>13=>14=>15=>16=>17=>18};
bins sequence_6 = {0=>1=>2=>3=>4=>5=>6=>7=>8=>9=>10=>11=>12=>13=>14=>15=>16=>17=>18=>19};

}
 endgroup 
  • zzzz 是一个计数器寄存器,根据其输入从 0 计数到 3、4、9、17、18 或 19
  • 在对这个功能覆盖进行编码时,想法是如果发生一系列特定的转换,则命中任一 bin,仅命中一个 bin。

  • 因此,例如,如果像在 sequence_2 中那样从 0 到 4 的转换,那也会命中 sequence_1,因为 0 到 3 序列存在于 sequence_1 中

谢谢

4

1 回答 1

1

是的,如果 sequence_2 被击中,这意味着 sequence_1 也被击中。您真正想要的是涵盖当计数器达到其限制时会发生什么。即它是回到0还是在下一个周期保持在极限?无需详细说明计数器的每个中间值 - 覆盖组不是检查器。它只是记录你的测试中的某个场景已经实现。

于 2016-11-23T06:30:19.593 回答