Why is this an issue?

Use different range direction in array definitions makes the code harder to read and understand. By default, using increasing index with to keyword is recommended.

How to fix it

Code examples

Noncompliant code example

With default useTo parameter value: true

architecture a of e is
  type my_type is array (3 downto 0) of std_logic;
begin
end;

Compliant solution

With default useTo parameter value: true

architecture a of e is
  type my_type is array (0 to 3) of std_logic;
begin
end;