在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4457|回复: 7

[求助] 如何提高交叉覆盖率

[复制链接]
发表于 2014-2-14 17:31:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
比如有两个coverpoint A,B,再假设A与B都是均匀分布的。假设A有20个值,B有30个值,如果将A与B进行cross的话,理论上A与B应当有600种组合。但是test即便跑600次,也是无法达到100%的交叉覆盖率。那么只有提高regression的次数才能提高cross的交叉覆盖率嘛?此外,我个人觉得,由于每一次仿真器在做随机的时候,A与B都是同时进行均匀化随机的,所以感觉即便提升10倍的regression次数,也无法将交叉覆盖率达到100%。

求问各位大神如何解决这个问题。
发表于 2014-2-14 21:06:30 | 显示全部楼层
同求!!!!
发表于 2014-2-14 23:04:46 | 显示全部楼层
那就把cross后的coverpoint划分小点,直接cross的话可能有些coverpoint的功能重复了。
否则就是跑regression直到100%。
发表于 2014-2-17 12:38:53 | 显示全部楼层
我覺得首先應該檢討分這麼多bin 是不是必要的. 若真的必要, 是不是改採用 direct test 的方式, 而不要用 contraint random verification, 因為 verification methodology 是因 case 而異的, 若 direct test 能達到 100% coverage, 又比較有效率, 為何一定要 random
 楼主| 发表于 2014-2-18 16:37:20 | 显示全部楼层
回复 4# kuolifeng


   这里是个举例。实际上的情况是有三个bin,每个bin内的数据都分别要random,需要把他们的交叉组合都测试到。如果用directed_test来测试的话工作量十分庞大。
 楼主| 发表于 2014-2-18 16:38:00 | 显示全部楼层




   哎,确实伤脑经啊。每一种cross的结果都是需要验证的。
发表于 2014-2-19 13:07:51 | 显示全部楼层
可以试试这样,假设A的值是0-19,B的值是0-29.可以定义一个randc bit[9:0] C的member.
class random_cross ;
randc bit [9:0] C;
rand bit [4:0] A;
rand bit [4:0] B;
constraint con_AB{
   A==C[4:0];
   B== C[9:5];
}

endclass
只要C的值完全随机到了 ,那么A和B的Cross肯定可以达到100%的

粗见  勿喷
 楼主| 发表于 2014-2-19 22:45:21 | 显示全部楼层


可以试试这样,假设A的值是0-19,B的值是0-29.可以定义一个randc bit[9:0] C的member.
class random_cross ...
qiushulin0000 发表于 2014-2-19 13:07




   恩,我觉得这个思路很好。谢谢LS。但是LS的这个constraint应该不够,因为A/B/C是同时random的,所以只会抽取其中相等的结果。可能加上solve before结果更好。灰常感谢这个思路。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-15 12:35 , Processed in 0.020821 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表