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!

Showing results for 
Search instead for 
Did you mean: 
Observer penlaebruno
Registered: ‎04-19-2018

Sub-optimal placement for an MMCM-BUFG component pair

Hi all,

I have a design that runs on 2 asynchronous clocks.

One is the system clock, it comes from an external oscillator, goes in a MCMM to generate a clock propagated to all the "control" part of the design. 

The other clock is the data clock. It comes from an external ADC LVDS interface, and is synchronous with the data received. It is used to clock all the datapath.

Each clock enters the chips is a different half from a clocking point of view (one on the top half, one in the bottom half). Since these clocks are completely independant and mutually exclusive in the design, I had no problem until now.


I am now adding a feature to my design, which is to be able to test datapath without ADC running. So it means that the datapath input should receive a clock and data mux to select between the 2 possible sources: ADC or internal data/clock for test. For the clock mux, I added a glitch free BUFG mux, to select then between ADC clock  and control clock.

This creates an Error Place30-150: Sub-optimal placement for an MMCM-BUFG component pair. It makes sense since the BUFGMUX is expected to mux 2 clocks that enter the chip from different halves (clock wise).

The question I have at the moment is more : Is there a way to do what I try to achieve without using a set_property CLOCK_DEDICATED_ROUTE FALSE constraint? (knowing that I dont care about the relative skew between the clock network clocking the datapath and the clock network clocking the control since these 2 parts are originally working on asynchrnous clocks).

Best regards.


0 Kudos
1 Reply
Xilinx Employee
Xilinx Employee
Registered: ‎07-16-2008

回复: Sub-optimal placement for an MMCM-BUFG component pair

Without setting the property, you won't be able to proceed implementation. 

The purpose of the property is to let tool know you're aware of the non-optimal connection and fine with the possible extra skew, so that the error is demoted to warning. 

Don't forget to reply, kudo, and accept as solution.