下面是cadence xrun仿真的結果
允許的語法形式如下:
$random;
$random();
$urandom;
$urandom();
$urandom(seed);
仿真結果總結如下:
1)$random,$random():
在同一次仿真中,每次調用可以得到不一樣的隨機值,
但是每次不同的仿真,相同次數的調用會得到相同的隨機值,即使在命令行中添加選項 -seed xxx,改變種子也是這樣。
也就是說,每次不同的仿真,不管你添加什么seed值,初始seed值是確定的!
特別指出的是,$random(seed);的寫法xrun會報error,不知道是不是要添加什么編譯選項?
2)$urandom,$urandom():
命令行中不添加選項 -seed xxx,每次不同的仿真,相同次數的調用會得到相同的隨機值。
在命令行中添加選項 -seed xxx,改變種子,可以得到不同的隨機值,-seed 可以改變初始種子值
3)$urandom(seed):
指定seed值的情況下,在同一次仿真中,不同次數的調用,會得到相同的隨機值!
這樣寫法的話,隨機數發生器是永遠用相同的種子和算式得到隨機值。
而不是,像別的寫法,每次調用,隨機數發生器的種子是會改變的。