Error “Compilation Failed Due to Resource Overmapping”

Updated Oct 5, 2018

Reported In

Hardware

  • PXIe-7962
  • PXIe-7965

Software

  • LabVIEW FPGA Module

Issue Details

There is an issue with LabVIEW FPGA where certain NI FlexRIO FPGA VIs will fail to compile. A LabVIEW FPGA VI will fail to compile when it meets ALL of the following criteria:
  • Compiled using LabVIEW FPGA 2010
  • NI-RIO 3.5.1
  • PXIe NI FlexRIO FPGA Module – NI PXIe-7962R or NI PXIe-7965R
  • DRAM – The project must have one or more DRAM banks enabled using either the DRAM CLIP cores or DRAM memory items.
  • One of the following NI FlexRIO adapter modules or CLIP cores – NI 5751, NI 5752, NI 5761, NI 5762, NI 5781 System Synchronous CLIP, NI 6587

    When all of the criteria are met, the FPGA VI will fail to compile with the following LabVIEW FPGA error message:

    Compilation failed due to resource overmapping.

    The FPGA VI does not fit on the FPGA target because the VI requires more resources
    than are available.

    Suggestions for eliminating the problem:
    * Reduce the amount of logic in the VI
    * Reduce the number of multiplications, FIFOs, and/or amount of memory on the block diagram
    * Reduce the number of objects on the front panel
    * Change arbitration settings
    * Use Timed Loops instead of other loops
    * Use Timed Loops for resource-intensive sections of the block diagram that do not require any looping

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.
 
  1. After your compile fails, Select Xilinx Log from the Reports dropdown box in the Compilation Status window.
  2. 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.

  1. Close LabVIEW
  2. Download the attached file: Patch.zip
  3. 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.
  4. 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.

Attachments

WAS THIS ARTICLE HELPFUL?

Not Helpful