Why is this an issue?

Instantiation by name improves readability as there is no need to look to the entity definition to know the connection between port and signal. It reduces risks of inconsistency between the entity definition and the component instantiation in case of entity modification.

How to fix it

Code examples

Noncompliant code example

mux1 : Mux
  port map (i_Mux_Input1, i_Mux_Input2, i_Sel, o_Mux_Output);

Compliant solution

mux1 : Mux
  port map (
    i_A => i_Mux_Input1,
    i_B => i_Mux_Input2,
    i_S => i_Sel,
    o_O => o_Mux_Output
  );