If a comparison operator has operands of differing signs, the signed operand will be treated as unsigned, which can lead to unexpected results.
module fly;
int a = -1;
int unsigned b = 1;
initial begin
if (a < b) begin
end
end
endmodule
module fly;
int unsigned a = 0;
int unsigned b = 1;
initial begin
if (a < b) begin
end
end
endmodule