VERILOG052: Functions and tasks declared outside of a class should have an explicit lifetime
Summary
| Reliability | Security | Maintainability | Code attribute | Effort to fix | Tags |
|---|---|---|---|---|---|
| MEDIUM | - | - | Intentionality | Logical | 5min | synthesis, vscode, linter, simulation |
Description
Noncompliant code example
function logic [2:0] foo( // Noncompliant: No "automatic" or "static" lifetime logic [2:0] a, logic [2:0] b ); return a ^ b; endfunction : foo
Compliant solution
function automatic logic [2:0] foo( logic [2:0] a, logic [2:0] b ); return a ^ b; endfunction : foo
Functions and tasks declared outside of a class should have an explicit lifetime.
Parameters
No parameters.