могу ли я использовать $ random (seed) для генерации того же значения для переменной в системном verilog?
module test();
logic[1:0] a,b:
integer seed;
initial begin
repeat (3)
begin
seed = 20;
a = $random(seed);
b=$random;
$display("a=%h,b=%h",a,b):
end
end
endmodule
Для приведенного выше кода я всегда получаю значение 'a' как '0' , Не можем ли мы использовать $ random с seed? Потому что, когда я изменил его на $ urandom (seed), он работает как положено. Я читаю во многих местах, что могу использовать $ random с аргументом seed. Может ли кто-нибудь, пожалуйста, помочь в этом
Также для $ urandom (seed) в приведенном ниже коде
module test();
logic[1:0] a,b:
integer seed,seed1;
initial begin
repeat (3)
begin
seed = 20;
seed1 = 55;
a = $urandom(seed);
$display("a first random=%h",a);
a = $urandom(seed1);
$display("a second random =%h",a);
b=$random;
$display("a=%h,b=%h",a,b);
end
end
endmodule
для приведенного выше кода, даже если я даю seed1 и seed2 в качестве аргумента для $ urandom в при другой рандомизации она принимает одно и то же значение, даже если внутри модуля изменяется число семян? Ожидается ли это, или если в качестве аргумента $ urandom мы приводим разные начальные значения, нужно ли это значение зависать или нет?