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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2236|回复: 9

[求助] 求各个大神们指导:关于SV约束failed的问题

[复制链接]
发表于 2015-4-30 11:18:15 | 显示全部楼层 |阅读模式

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

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

x
定义了如下一个简单求和运算的transaction,循环若干次assert(tr.randomize())会出现部分failed现象,在c_len_value约束块里面加上len[31:16]<=16'hffff,结果就成功了~~百思不得其解~~~

class  tr ;  rand bit[31:0]  sum ;
  rand bit[31:0]  len[] ;
  rand bit[5:0]    num ;

  constraint c_len{
     len.sum == sum ;
     len.size  == num ;
     num inside {[2:10]};
  }
  costraint c_len_value{
     foreach(len){
        len[31:16] == 0 ;
     }
   }
   constraint c_sum{
      sum<32'hffff ;
   }
endclass :tr
发表于 2015-4-30 12:02:18 | 显示全部楼层
有冲突,自然fail
 楼主| 发表于 2015-4-30 14:48:38 | 显示全部楼层
回复 2# A1985
上面那段代码冲突没能看出来,求指导~~~
发表于 2015-4-30 16:29:28 | 显示全部楼层
回复 3# VPN_chip_design
fail的原因很多,肯定受到了冲突,软件也可问题。。
发表于 2015-4-30 16:58:30 | 显示全部楼层
solve sum before len
solve num before len
加这两个约束试试看出错的那个行不
发表于 2015-5-2 13:10:18 | 显示全部楼层
没有定义unsigned,所以会出现负数,于是就冲突了
发表于 2015-5-4 16:25:45 | 显示全部楼层
bit本来就是无符号的
发表于 2015-5-4 22:39:57 | 显示全部楼层
建议看下LRM 有种写法比这个简洁有效,另外每次fail都会报出Error,直接看下就应该明白原因了
发表于 2015-5-6 09:57:52 | 显示全部楼层
试了好像是存在楼主说的问题~不过不知道怎么解释
”c_len_value约束块里面加上len[31:16]<=16'hffff,结果就成功了“
发表于 2015-5-6 15:09:46 | 显示全部楼层
我随机没有问题呀,随了100次,另外,楼主的语法不对,ies编译不过
foreach(len[i]){
   len[i][31:16] == 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-15 01:27 , Processed in 0.022029 second(s), 8 queries , Gzip On, Redis On.

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