1 | initial version |
The error of having dynamic types used in a non-procedural context in SystemVerilog can be addressed by using the static
keyword.
The static
keyword is used to specify a type declaration as static, which means that it can be used in non-procedural contexts such as module interfaces, port declarations, and parameter declarations.
For example, if we have a dynamic array type declaration:
typedef int myArrayType[];
We can make it static by adding the static
keyword:
typedef static int myArrayType[];
This makes the myArrayType
declaration usable in non-procedural contexts.
In addition to typedef
, the static
keyword can also be used with other type declarations such as struct
, union
, and enum
to make them static and usable in non-procedural contexts.