我試圖在verilog中的verilog中生成隨機數字。 但問題是當我重新運行模擬時,隨機值是固定的。 所以以前的仿真值和當前的仿真隨機值是一樣的。在verilog問題中隨機生成相同的數字
reg [20:0] temp;
integer seed;
reg [31:0] rand;
initial fork
seed = $random;
for (i=0; i<10; i=i+1)begin
temp = $random(seed) %10 ;
end
wait(verif_fcnt == 3) begin
temp = $random(seed) %10 ;
task1(temp[0],temp[7:0]);
end
wait(verif_fcnt == 3) begin
temp = $random(seed) %10;
task2(temp[0],temp[7:0]);
end
wait(verif_fcnt == 3) begin
temp = $random(seed) %10;
task3(temp[0],temp[7:0]);
end
join
當我重新運行時,種子值總是相同 – grander3
在你的模擬命令中,可以定義一個種子,例如在NCsim中使用「$ NUMBER」命令行選項。此種子將自動約束您模擬中的隨機呼叫。 – Krouitch
是否有任何選項可以在verilog not tool中處理? – grander3