如何利用SystemVerilog仿真生成随机数

描述

采用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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分