Why is this an issue?

A constant function contains a system task invocation which will be skipped during constant evaluation. This could yield unintuitive results.

How to fix it

Code examples

Noncompliant code example

localparam string foo = func();
function string func;
  automatic string s;
  $swrite(s, "asdf %d", 3); // Noncompliant
  return s;
endfunction