ASIC_int
Advanced Member level 4

How can the synthesis tool infer the second blocking statement first and then the first blocking statement in the following code?
module code2a (o, a, b, c, d);
output o;
input a, b, c, d;
reg o, temp;
always @(a or b or c or d) begin
o = a & b | temp;
temp = c & d;
end
endmodule
module code2a (o, a, b, c, d);
output o;
input a, b, c, d;
reg o, temp;
always @(a or b or c or d) begin
o = a & b | temp;
temp = c & d;
end
endmodule