Solution
This issue is caused by the overmapping of a specific Xilinx component called an IODelayCtrl. When the above criteria are met, the Xilinx compile tools replicate too many IODelayCtrl components and attempt to map them to the FPGA. Because of the over-replication, the Xilinx tools run out of FPGA locations to place this component.
Follow the steps below to confirm you are affected by this issue and correct this issue by installing software updates.
Confirm you are affected:Use the following steps to confirm that your application is affected by this issue.
- After your compile fails, Select Xilinx Log from the Reports dropdown box in the Compilation Status window.
- Scroll to the end of the Xilinx Log. You should see errors similar to the following:
The following error (or one similar) will be reported:
ERROR:Place:543 - This design does not fit into the number of slices available in this device due to the complexity of the design and/or constraints.
Unplaced instances by type: IDELAYCTRL 21 (48.8)
Please evaluate the following:
- If there are user-defined constraints or area groups:
Please look at the "User-defined constraints" section below to determine
what constraints might be impacting the fitting of this design.
Evaluate if they can be moved, removed or resized to allow for fitting.
Verify that they do not overlap or conflict with clock region restrictions.
See the clock region reports in the MAP log file (*map) for more details
on clock region usage.
- If there is difficulty in placing LUTs:
Try using the MAP LUT Combining Option (map lc area|auto|off).
- If there is difficulty in placing FFs:
Evaluate the number and configuration of the control sets in your design.
The following instances are the last set of instances that failed to place:
0. IDELAYCTRL Puma20Window/theCLIPs/IO_Module_CLIP0/IDelayCtrlx
1. IDELAYCTRL Puma20DramMainx/GenBank0or1Mig.u_ddr2_idelay_ctrl/u_idelayctrl_MapLib_replicate0
...
20. IDELAYCTRL Puma20DramMainx/GenBank0or1Mig.u_ddr2_idelay_ctrl/u_idelayctrl_MapLib_replicate19
ERROR:Place:120 - There were not enough sites to place all selected components.
Some of these failures can be circumvented by using an alternate algorithm (though it may take longer run time).
If you would like to enable this algorithm please set the environment variable XIL_PAR_ENABLE_LEGALIZER to 1 and try again
ERROR:Place:418 - Failed to execute IOB Placement
Install Software Updates :
If you see the above errors, use the following steps to correct this issue.
- Close LabVIEW
- Download the attached file: Patch.zip
- Extract the contents of this file and copy the Targets directory into the LabVIEW 2010 program files directory. For example the directory is located C:\Program Files\National Instruments\LabVIEW 2010 for Windows XP and C:\Program Files (x86)\National Instruments\LabVIEW 2010 for Windows 7 x64.
- Click Yes to replace any conflicting files. This will replace the affected files in the LabVIEW 2010 program files directory.
In order to ensure maximum compatibility, you must upgrade your NI-RIO installation when a version newer than NI-RIO 3.5.1 releases.