module lvl3; reg [1:0] m[1:0]; initial begin fork: my_fork repeat (1) begin m[0] = 2'b0; end repeat (1) begin m[1] = 2'b1; end join end endmodule module lvl2_0; reg r; initial r = $random; lvl3 lvl3(); endmodule module lvl1_0; reg r; function f_foo; input bar; begin f_foo = bar; end endfunction initial r = f_foo(r); lvl2_0 lvl2(); endmodule module top0; reg r; task t_bar; r = 1'b0; endtask initial begin: my_init r = $random; t_bar; end lvl1_0 lvl1(); endmodule module lvl2_1; integer i; initial i = $random; lvl3 lvl3(); endmodule module lvl1_1; integer i; initial i = $random; lvl2_1 lvl2(); endmodule module top1; integer i; initial i = $random; lvl1_1 lvl1(); endmodule module top2; initial $test; endmodule