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

2015.2 Partial Reconfiguration - Unexpected logic blocking in the first configuration implementation causes place error in the second configuration


My original partial reconfiguration design can complete the full flow without any errors.

After some minor modifications to the source code, I see the following place errors in the second configuration:

ERROR: [Place 30-642] Placement Validity Check : Failed to find legal placement.
Reason: Could not place shape in pblock XX.
The unplaced cells are:
Cell u0_axi_interface/u_xge_txm_ctrl/xge_tx_byte_cnt[0]_i_2 of type LUT2 placed at site SLICE_X0Y0 (A6LUT)
Cell u0_axi_interface/u_xge_txm_ctrl/xge_tx_byte_cnt_reg[1]_i_3_CARRY4 of type CARRY4 placed at site SLICE_X0Y0 (CARRY4)
Cell u0_axi_interface/u_xge_txm_ctrl/xge_tx_byte_cnt_reg[0] of type FDCE placed at site SLICE_X0Y0 (AFF)
Cell u0_axi_interface/u_xge_txm_ctrl/xge_tx_byte_cnt_reg[63] of type FDCE placed at site SLICE_X0Y15 (DFF)
Shape dimensions: Width = 1, Height = 16

ERROR: [Place 30-492] Failed to commit 48 big shapes:
u0_axi_interface/u_xge_txm_ctrl/xge_tx_byte_cnt[0]_i_2 with block Id: 210649
This block belongs to a shape with 93 instances.
Instance no. 0: xge_tx_byte_cnt[0]_i_2
Instance no. 1: xge_tx_byte_cnt[1]_i_2
Instance no. 2: xge_tx_byte_cnt[2]_i_2
Instance no. 3: xge_tx_byte_cnt[3]_i_2
Instance no. 4: xge_tx_byte_cnt_reg[1]_i_3_CARRY4

How can I resolve this issue?


The root cause for the issue is that many SLICE sites are blocked unexpectedly during the first configuration.

You can try the following 2 work-arounds:

1. Avoid using the Explore directive in the route_design of the first configuration and avoid using post-route phys_opt_design.

2. Set the parameter "place.closeImportedSites" to false before route_design with the Explore directive in the first configuration.

For Example:

set_param place.closeImportedSites false

The issue is fixed in Vivado 2015.3.

Linked Answer Records

Associated Answer Records

AR# 64792
Date 06/30/2015
Status Active
Type General Article
  • Vivado Design Suite - 2015.2