module tb;
wire p;
logic q;
assign p = q;
always@(*) $display($time," A pq", p," " ,q);
initial begin
q = 0;
$display($time," i pq", p, " " ,q);
end
endmodule
In this example,
q=0;// is assigned in active region, now the current process can either suspend and trigger update event for assign statement and always procedure or continue executing $display (which is in the initial block), let’s say current process suspends then which one will be executed first, assign/always?
Thanks