Why is this an issue?

Internal tristates should not be used.

By default, tristate usage is only allowed in top-level entity. Also, a whitelist of allowed usage can be set through the allowedEntities parameter.

How to fix it

Code examples

Noncompliant code example

architecture a of e is
begin
  x <= a when (en = '0') else '1';
  y <= b when (en = '0') else 'Z'; -- Noncompliant
  z <= c when (en = '0') else "ZZZZ"; -- Noncompliant
end;