Hello verilog experts,
In the verilog code below, can I be 100% that top.test.p
will be systematically initialized to 200?
Or will I have a race between the variable initialization and the initial statement? In other words, some simulators will give me top.test.p == 100
and others top.test.p == 200
?
Thanks
module test;
parameter real P = 1e3;
real P=p;
endmodule
module top;
test #(100) test();
initial
begin
// override the variable initialization (race condition????)
test.p = 200;
end
endmodule