采用SystemVerilog进行仿真则更容易生成随机数,而且对随机数具有更强的可控性。对于随机变量,在SystemVerilog中可通过rand或randc加数据类型的方式定义。rand表明该变量为随机变量,且在指定范围内服从均匀分布;randc是在rand的基础上要求当生成的随机数已经在指定范围内完成一次遍历之后,将重复遍历,c为cyclic(循环)。声明随机变量后,需要通过constraint限定随机数需要满足的条件。这些都需要在class中声明。
案例1:用小于号《 大于号 》 小于等于号 《= 大于等于号》=创建限定条件
代码如下图所示。代码第6行限定了a0必须小于3,第7行限定了a1必须大于2且小于7。注意,这4个关系运算符不能连写,如代码第8行是不合法的。代码第16行对class实例化,代码第20行为class对象分配内存空间并完成class对象的初始化。代码第22行用于判定随机数是否成功生成,若成功则返回1,否则返回0。
编辑:jq
全部0条评论
快来发表一下你的评论吧 !