Why is this an issue?

A static variable's initializer expression refers to an uninitialized variable, a net, a port, or a modport member, which won't have a value assigned by the time the initializer runs. The variable therefore will always be initialized to the default value.

How to fix it

Code examples

Noncompliant code example

module fly(input i);
  logic j = i; // Noncompliant: Initializer for static variable 'j' refers to 'i' which will not have a value at initialization time
endmodule