When I instantiate the XtremeDSP (DSP48) slice, when should I set the LEGACY_MODE attribute?
The LEGACY_MODE setting is used by the timing analysis tools to ensure that you meet timing when using DSP48. The LEGACY_MODE has three settings: NONE, MULT18X18, and MULT18X18S. The NONE option should be used only when you know you will never use the multiplier. If the multiplier is ever used, you must set LEGACY_MODE to either MULT18X18 or MULT18X18S to ensure that the DSP48 will function correctly in hardware.
The LEGACY_MODE attribute should be set whenever the multiply function is going to be used in the XtremeDSP slice. The XtremeDSP slice operates at about 50 MHz slower than the multiplier when it is used without the MREG. Setting the LEGACY_MODE alerts the implementation tools that the multiplier is being used and calculates the timing appropriately.
The tool issues an error if it detects any inconsistencies between the LEGACY_MODE setting and the MREG or OPMODE settings.
For more information on the LEGACY_MODE attribute, refer to the XtremeDSP DSP48A for Spartan-3A DSP FPGAs User Guide: