UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 15762

5.1i Floorplanner - Using "Write RPM to NCF" (macro builder) cores more than once leads to "Error:PACK:697 - Unable to obey design constraints (MACRONAME = ...)"

Description

Keywords: Floorplanner, macro builder, Write RPM to NCF, MAP, error, pack, 697

Urgency: Standard

General Description:
When I use the "Write RPM to NCF" function to create RPMs and instantiate the RPM more than once in the design, the following MAP error is reported:

"Section 1 - Errors
----------------------------
ERROR:Pack:679 - Unable to obey design constraints (MACRONAME=corerpm, RLOC=X0Y0), which require the combination of the following symbols into a single SLICE component."

Solution

1

This error occurs when Floorplanner assigns RPM components a unique U_SET name. Four work-arounds are available.

Solution 1

1. Remove or comment out lines that contain the assignment of the component to U_SET in the NCF file.
2. Normalize each level in the hierarchy by adding RLOC constraints to the NCF file.

For example:

If the original NCF file constrains the following RLOC constraints:
INST "U0/U1/flop1" RLOC = "X5Y10";
INST "U2/U3/flop2" RLOC = "X4Y5";

Add the following lines to the NCF file to normalize the RPM:
INST "U0" RLOC = "X0Y0";
INST "U1" RLOC = "X0Y0";
INST "U0/U1" RLOC = "X0Y0";
INST "U2/U3" RLOC = "X0Y0";

3. Re-implement the design with the modified NCF file.

Advantages of this method:
- Each RPM is treated individually
- It works on an RPM with a hierarchical structure

Disadvantages of this method:
- The RPM shape is not retained if only one component is under the hierarchical node

2

Solution 2

1. Duplicate the RPM netlist and NCF files, and be sure the duplicated file names match each other.
2. Modify the NCF file, giving it a different U_SET name.
3. Instantiate the duplicated RPM file.

Advantages of this method:
- Each RPM is treated individually.
- It works on RPMs with hierarchical and flattened structure.

Disadvantages of this method:
- More instantiation may cause the project size to increase.
- The work of duplicating RPM files can be tedious.

3

Solution 3

1. Remove or comment out lines that contain the assignment of the component to U_SET in the NCF file.
2. Re-implement the design with the modified NCF file.

Advantages of this method:
Each RPM is treated individually.

Disadvantages of this method:
It only works on RPMs that have flattened netlists.

4

Solution 4

1. Edit the UCF file associated with the top-level source code to re-RLOC each RPM instantiation.

For example:

INST "U1" RLOC = X0Y0;
INST "U2/U0" RLOC = X5Y5;

2. Be sure the RPMs do not overlap each other.
3. Re-implement the design using the modified NCF file.

Advantages of this method:
Minimum modification is necessary.

Disadvantages of this method:
All RPM instantiations are bound into one RPM.
AR# 15762
Date Created 10/04/2002
Last Updated 03/06/2005
Status Archive
Type General Article