Why is this an issue?

Use ieee.std_logic_1164 and ieee.numeric_std libraries instead of Synopsys ieee.std_logic_arith, ieee.std_logic_signed and ieee.std_logic_unsigned libraries to improve portability.

How to fix it

Code examples

Noncompliant code example

library ieee;
use ieee.std_logic_arith.all; -- Noncompliant
use ieee.std_logic_signed.all; -- Noncompliant
use ieee.std_logic_unsigned.all; -- Noncompliant

Compliant solution

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

Resources

Related rules