AR# 64175

2014.4 Virtex UltraScale - Clock placement error [Place 30-716] when driving two MMCMs from one port


The following error occurs when driving two MMCMs from a single port.
ERROR: [Place 30-716] Sub-optimal placement for a global clock-capable IO pin-BUFGCE-MMCM pair. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule.
< set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets port_clocking_inst/lopt] >
port_clocking_inst/BUFGCE (BUFGCE.O) is provisionally placed by clockplacer on BUFGCE_X0Y168 (in SLR 1)
port_clocking_inst/sys_mmcm0_inst/inst/mmcme3_adv_inst (MMCME3_ADV.CLKIN1) is provisionally placed by clockplacer on MMCME3_ADV_X0Y6 (in SLR 1)
port_clocking_inst/sys_mmcm1_inst/inst/mmcme3_adv_inst (MMCME3_ADV.CLKIN1) is provisionally placed by clockplacer on MMCME3_ADV_X0Y8 (in SLR 1)


The error occurs because each clock region contains only one MMCM and so it is necessary for one of the MMCMs to be placed in a separate clock region using the following configuration:
1) The IBUFDS should drive one MMCM directly in the same clock region.
2) The IBUFDS should also drive a BUFGCE to drive the other MMCM in another clock region.
3) Set the following property to allow the necessary backbone routing:

set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_nets port_clocking_inst/clk_100m_bufgce]

AR# 64175
Date 04/16/2015
Status Active
Type General Article