static variables declared locally to a procedural block that contain an initializer require that the
static keyword be explicitly provided (and not just inferred from context) to clarify that the
initialization happens only once.
Most tools do not enforce this rule but doing so keep your code portable.
module fly;
initial begin
int i = 1;
end
endmodule
module fly;
initial begin
static int i = 1;
end
endmodule