The following error occurs in XST when I target Virtex-6 or Spartan-6 devices, but I do not have any issues when I target older devices.
Why does this occur?
In the above example code, the my_const constant is declared in two different packages: pack_0017_1 and pack_0017_2.
Both packages are used in the ex_0017 block via use clause.
This is not a VHDL LRM compliant code.
There are two ways this problem can be solved:
In ISE Design Suite 11.2, XST introduced a new VHDL/Verilog parser for Virtex-6 and Spartan-6 families.
For more information on this change please refer to (Xilinx Answer 32927)