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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 21076|回复: 32

[求助] SystemVerilog随机化约束的问题

[复制链接]
发表于 2011-7-26 20:54:18 | 显示全部楼层 |阅读模式

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

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

x
class rand_addr;
rand bit [31:0] addr[4];

constraint c_addr {               }

endclass


如上例子中要随机产生4个地址,
要求:
1> 4个地址不相等;
2> 4个地址的bit[31:10]要相等;

请教满足上面两个条件的约束应该怎么写?
发表于 2011-7-27 11:30:39 | 显示全部楼层
{
(addr[0][31:10]  == addr[1][31:10] )&&
(addr[1][31:10]  == addr[2][31:10] ) &&
(addr[2][31:10]  == addr[3][31:10] )&&
(addr[0][31:0]  !== addr[1][31:0] )&&
(addr[0][31:0]  !== addr[2][31:0] ) &&
(addr[0][31:0]  !== addr[3][31:0] )&&
(addr[1][31:0]  !== addr[2][31:0] )&&
(addr[1][31:0]  !== addr[3][31:0] ) &&
(addr[2][31:0]  !== addr[3][31:0] )
}       应该可以吧
发表于 2011-7-27 16:32:38 | 显示全部楼层
constraint c_addr {
                             foreach(addr[i])
                                   foreach(addr[j])
                                          if(i != j)
                                                 {
                                                       addr[i][31:10] == addr[j][31:10];  
                                                       addr[i][9:0]     != addr[j][9:0];
                                                 }
                         }
发表于 2011-7-28 07:30:32 | 显示全部楼层
upup!
发表于 2011-8-3 10:13:33 | 显示全部楼层
牛人啊,顶一个
发表于 2011-8-3 18:08:18 | 显示全部楼层
i don't know
发表于 2011-8-8 12:26:39 | 显示全部楼层
upupup
发表于 2011-8-8 16:15:19 | 显示全部楼层
foreach语句嵌套可能会出现问题,用for语句应该会安全很多。ps:初学者,见解如有错误轻拍~
发表于 2011-8-29 21:45:54 | 显示全部楼层
发表于 2011-8-30 11:41:19 | 显示全部楼层
2#和3#都是正解!
2#的比较直观,不具有通用性,如果我的数组变大了或者干脆是个动态数组,2#的就不行了;
3#比较好;
systemverilog的constraint可以非常复杂,这些简单的约束很easy,书上说constraint的可以约束到求出8皇后问题,其实constraint有了对foreach和if else结构的支持,基本上99%的约束都可以满足!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-22 17:52 , Processed in 0.027711 second(s), 9 queries , Gzip On, Redis On.

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