Knowledge Base Article

Why are the contents of my VHDL array constant reversed?

Description

Due to a problem in the Quartus® II software version, you may see the contents of your VHDL array constant reversed when you initialize the constant in a package body.

Resolution

To work around this problem, initialize the constant in the package declaration rather than in the package body.

The following example shows the constant initialized in the package declaration.

package example is

  constant example_constant_package_declaration : integer_vector(11 downto 0) := (11,10,9,8,7,6,5,4,3,2,1,0);

end package example;

The following example shows the constant initialized in the package body.

package body example is

  constant example_constant_package_body : integer_vector(11 downto 0) := (11,10,9,8,7,6,5,4,3,2,1,0);

end package body example;

This problem is fixed beginning with the Quartus II software version 12.1.

Updated 3 months ago
Version 2.0
No CommentsBe the first to comment