我產生在0之間的Verilog一個號碼10000這樣的循環中:生成隨機數 - 種子的改變只有一次
wire rand;
integer i, seed;
initial
begin
i=1;
seed=0;
while (i<10)
begin
force rand = $random(seed) % 10000;
end
end
的問題種子的變化只有一次,在迭代的其餘部分保持相同。 (我在ModelSim中看到了這些值)。
因此,您將種子設置爲零,不對其進行任何更改並想知道爲什麼它不會更改? – peroija
我知道$ random與$ dist_uniform(seed,0,1000)是一樣的,並且這樣種子每次迭代都會改變。我用force rand = $ dist_uniform(seed,0,1000)嘗試了相同的代碼,結果是一樣的。真正的問題是rand在循環的每次迭代中保持不變。 – LiorZ
rand只有1位寬 – Morgan