Answers Database


Foundation Express 2.0.x: multiple modules in Foundation schematic can cause RLOC error:x4kma:312 in MAP


Record #1972

Product Family: Software

Product Line: Synopsys

Product Part: FPGA Express

Product Version: 2.0.3

Problem Title:
Foundation Express 2.0.x: multiple modules in Foundation schematic can cause RLOC error:x4kma:312 in MAP



Problem Description:
Urgency: Standard

General Description:
Express has the ability to create modules (click the "Do Not Insert I/O"
button). The modules can be brought into Foundation (or any other schematic
entry tool) to be used in a top-level schematic. See (Xilinx Solution 3301)
for information on how this is done in Foundation.

However, if the Express module contains arithmetic functions or other functions that use relative location constraints (RLOCs), a problem may occur. If
multiple calls to the same Express macro are done in a single design, then MAP
will issue an error similar to the following:


ERROR:x4kma:312 - The following symbols could not be constrained to a single
   CLB:
      CY4 symbol "U2/C4_C0_C1" (output signal=U2/C4_N2)
         CY4_20 symbol "U2/C4_C0_C2" (output signal=U2/C4_C0_N7)
         DFF symbol "U2/q_reg<0>" (output signal=&__A__16)
         FMAP symbol "U2/FMAP_0" (output signal=U2/N54)
         CY4 symbol "U1/C4_C0_C1" (output signal=U1/C4_N2)
         CY4_20 symbol "U1/C4_C0_C2" (output signal=U1/C4_C0_N7)
   There is more than one carry logic symbol associated with this CLB. These
   symbols share the same RLOC attribute value, which requires them to be mapped
   to the same CLB.


The issue here is that Express uses U_SETs instead of HU_SETs. Express groups
RLOC sets by giving them all the same U_SET name. This is required to isolate
multiple RLOC sets in one XNF file.

However, if multiple macros are used in a single design, the U_SET parameters
will link RLOC sets across multiple XNF files, and RLOC conflicts will occur.
There is nothing to uniquify the different calls to the same module.


Solution 1:

The solution is to edit the XNF file. Open the XNF created by Express in your
favorite text editor. Globally search for "U_SET" and replace each instance
with "HU_SET".

The HU_SET parameter will isolate the RLOC group within the single XNF file,
and will not attempt to combine sets with the same names across hierarchical
boundaries.

For more information about RLOCs and set parameters (H_SET, U_SET, and HU_SET), please consult pages 4-79 through 4-97 of the Xilinx Libraries Guide.




End of Record #1972 - Last Modified: 07/14/98 16:23

For the latest news, design tips, and patch information on the Xilinx design environment, check out the Technical Tips!