文章目录
- $random —— 系统随机化调用函数,返回32bit有符号数;
- $urandom() —— 系统随机化调用函数,返回32bit无符号数;
- $urandom_range()—— 系统随机化调用函数,返回指定范围内的无符号随机整数;
- srandom() ——
对象和进程
的随机化播种方法,需手动添加种子seed; - randomize() —— 对象随机化方法,可对类成员变量执行专有的随机化操作;
- std::randomize() —— 范围随机函数,能够随机化当前范围内的数据;
一、$random——系统方法,返回32bit的有符号伪随机数
语法如下:
$random(seed)
//种子变量seed是可选的。
$random产生一个32bit的有符号随机数,可以是正数、也可以是负数。其种子变量(必须是reg类型、整型或时间型变量)。
- 用法如下:
$random%b;
b为一个大于0的整数,表达式给出了一个范围在[-b+1 : b-1]之间的随机数;
int randval;
randval = $random % 60; //随机产生一个-59~59之间的有符号数
- 用法如下:{ }化为无符号数
{$random%b};
拼接操作符{ }将$random返回的有符号数转换成了无符号数。
int randval;
randval = {
$random % 60}; //随机产生一个0~59之间的无符号数
二、$urandom——系统方法,返回32bit的无符号伪随机数
语法如下:
function int unsigned $urandom(int seed);
//种子seed是可选参数,决定了生成的随机数值。相同的种子生成的随机数值也相同
示例:
bit[64:1] addr;
bit [3:0] number;
addr[32:1] = $urandom(254