The following warning occurs in XST when I target Virtex-6 or Spartan-6 devices, but I do not have any issues when targeting older devices. Why?
WARNING:HDLCompiler:871 - "<file>.vhd" Line xx: Using initial value -2147483647 for tmp since it is never assigned
entity ex_0013 is
port(res: out integer
architecture bhv of ex_0013 is
signal tmp: integer; -- Note: Warning points here
res <= tmp;
XST takes into account initial values of VHDL types in the synthesis process. According to VHDL LRM, the initial value of type integer or float is the left-most value.
XST for Virtex-6 and Spartan-6 families follows VHDL LRM rules and takes the left-most value for non-initialized integer or float type, resulting in the warning message in the case of integer type.
In 11.2, XST introduced a new VHDL/Verilog parser for Virtex-6 and Spartan-6 families. For more information on this change, see (Xilinx Answer 32927).