AR# 52861: Hierarchical Design - Vivado Reuse error when GTX component placed in Unbonded GT site during OOC
Hierarchical Design - Vivado Reuse error when GTX component placed in Unbonded GT site during OOC
When implementing an out-of-context (OOC) module which contains a GTX component, the GTX is placed at a site with un-bonded I/O. This can occur if the OOC module does not contain the dedicated I/O buffers associated with the GTX.
When the OOC implementation results are read into the top-level, and the placement is fixed with lock_design, the dedicated I/O buffers cannot be placed at an un-bonded site. This results in the following error message.
ERROR: [Vivado 12-1406] Cannot mark the 'site' location of instances fixed, Site IPAD_X1Y18 is not bonded. Place terminal rxn and connected instances in a site with a PAD
The solution here is, if the OOC implementation results are going to be reused/imported into a top-level design:
1. Make sure that the GTX component is LOCed during an OOC implementation. 2. Instantiate the necessary I/O buffers inside of the OOC module so that the entire shape can be built.