When I use high frequency mode on the Spartan-3 DCM, the ISE 6.3 tools allow me to use phase shift. Why do the ISE 7.1 tools now error out?
Phase shift on the Spartan-3 DCMs has never been supported in the DLL high frequency mode. This is documented in the "DC and Switching Characteristics" section of the Spartan-3 Data Sheet, which can be found at:
ISE 6.3 did allow you to use phase shifting in high frequency mode, both in the Architecture Wizard and the implementation tools. This was a bug in the design tools. In the new release of ISE 7.1, the Architecture Wizard was fixed to not allow the option and to provide proper guidance. There was also a design rules check added in the implementation tools that results in an error message if this setup exists. If you are porting a design from 6.3 to 7.1 with a DCM in high frequency mode that is using variable or fixed phase shift, the tools will error out.
A possible way to work around this issue is to divide the input clock by 2 by setting the CLKIN_DIVIDE_BY_2 attribute. This will divide the input clock frequency by 2 and allow you to configure the DCM to be in the low frequency mode which will allow you to use all the DLL outputs in the phase-shifted modes.
The DFS mode does not have this same limitation; however, feedback is needed in order to phase shift. Therefore, the DLL module is needed when phase shifting CLKFX/180, and the input clock frequency will be subjected to the DLL frequency mode limitation mentioned above.