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# 25269

LogiCORE XAUI - Modifying GT11 LOC constraints for Virtex-4 causes error: "Place:651"


After changing the MGT LOC constraints in the XAUI UCF file, PAR returns the following error during implementation:

"ERROR:Place:651 - Placer was unable to create RPM for the GT11 component

xaui_block/rocketio_wrapper_i/MGT3 and GT11component

xaui_block/rocketio_wrapper_i/MGT2 connected by the

COMBUSIN[0-15], COMBUSOUT[0-15] bus for the following reason.

The reason for this issue:

All of the logic associated with this structure is locked and the relative

placement of the logic violates the structure. The problem was found between

the relative placement of GT11

xaui_block/rocketio_wrapper_i/MGT2 at site GT11_X1Y5 and GT11

xaui_block/rocketio_wrapper_i/MGT3 at site GT11_X1Y4.

The following components are part of this structure:

GT11 xaui_block/rocketio_wrapper_i/MGT2

GT11 xaui_block/rocketio_wrapper_i/MGT3"


In the Virtex-4 device, each RocketIO block consists of two tiles with one MGT per tile. The instantiation of the MGT in the code is assigned a tile by setting the GT11_MODE attribute to either "A" or "B". This error is generated if you change the pin-out so that it tries to force an MGT instantiated in the code with a particular GT11_MODE setting to the wrong tile on the device.

For a given MGT tile, GT11_XnYeven is associated with MGT B and GT11_XnYeven+1 is associated with MGT A. This means that the B transceivers are on the even Y coordinate and the A transceivers are on the odd Y coordinate. See the "Virtex-4 RocketIO MGT User Guide" for more information:


To remedy this error, the GT11_MODE setting and MGT_ID for the calibration block must be changed in the <core_name>_block.vhd file for VHDL designs and the rocketio_wrapper.v file for Verilog designs.

In VHDL, the settings are passed as generics for the component rocketio_wrapper in <core_name>_block.vhd:

MGT0_GT11_MODE_P : string := "B"; -- Default Location

MGT0_MGT_ID_P : integer := 1; -- 0=A, 1=B

MGT1_GT11_MODE_P : string := "A"; -- Default Location

MGT1_MGT_ID_P : integer := 0; -- 0=A, 1=B

MGT2_GT11_MODE_P : string := "B"; -- Default Location

MGT2_MGT_ID_P : integer := 1; -- 0=A, 1=B

MGT3_GT11_MODE_P : string := "A"; -- Default Location

MGT3_MGT_ID_P : integer := 0 -- 0=A, 1=B

In Verilog, these settings are set in rocketio_wrapper.v with the following parameters:

parameter MGT0_GT11_MODE_P = "B"; // Default Location

parameter MGT0_MGT_ID_P = 1; // 0=A, 1=B

parameter MGT1_GT11_MODE_P = "A"; // Default Location

parameter MGT1_MGT_ID_P = 0; // 0=A, 1=B

parameter MGT2_GT11_MODE_P = "B"; // Default Location

parameter MGT2_MGT_ID_P = 1; // 0=A, 1=B

parameter MGT3_GT11_MODE_P = "A"; // Default Location

parameter MGT3_MGT_ID_P = 0; // 0=A, 1=B

AR# 25269
Date 12/15/2012
Status Active
Type General Article