赞
踩
rand[7:0] y;
y会在0~255之间随机生成。
randc[1:0] y;
y会在0~3之间随机生成,并且必定以四个为循环生成互不相同的数字,只能对bit 或enum类型使用这个关键词。
随机变量的约束都包含在constraint函数模块当中:
如上图所示,constraint为关键字,range1是约束集的名字,大括号内是约束模块。
每一句约束只能含有一个操作符,多个约束必须要写多句程序。
mode == small -> len<10;
mode == large -> len>100;
但是判定的瞬间是同时进行的,不会受语句先后的影响。
solve…before
会先约束solve和before之间的变量,并且会对随机结果产生不同的影响。
例子:
注意两种情况的概率差别
Iterative constraint迭代约束
给数组添加约束时,可以用foreach语句迭代约束
function constraint函数约束
用函数关系表示约束
class B;
rand int x,y;
constraint C{x<=F(y);}
constraint D{y inside {2,4,8};}
此时y会被强制在x之前判定。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。