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

Vivado Implementation - CLKFBIN of MMCM is grounded when COMPENSATION = INTERNAL in Synthesized design


I am using MMCM internal compensation via a direct connection (wire) from the CLKFBOUT to the CLKFBIN port in the instantiation.

However, in the synthesized design, the CLKFBIN port is grounded and the CLKFBOUT is left unconnected.

Is this expected behavior? Why does the tool trim the net?


Yes, this is expected behavior introduced in Vivado 2015.3. This affects MMCME3*, MMCME4*, PLLE3*, PLLE4* primitives.

When COMPENSATION = INTERNAL, the MMCM uses its own internal feedback path and the CLKFBIN is not used.

When opening the Synthesized design or running opt_design, the connection between CLKFBOUT and CLKFBIN will be optimized away if the compensation of the MMCM is set to internal, so that it does not waste routing resources.

You will see the following message in the synthesis report in Vivado 2016.1 and later versions:

INFO: [Opt 31-326] The CLKFBOUT to CLKFBIN net for instance MMCME3_ADV_inst with COMPENSATION=INTERNAL is optimized away to aid design routability

This is the correct representation for internal feedback. It is also documented on Page 48 of (UG572) v1.3.

The direct source code connection (wire) from CLKFBOUT to CLKFBIN is optimized away by logic optimization.

AR# 67766
日期 11/03/2016
状态 Active
Type 综合文章
  • Kintex UltraScale
  • Kintex UltraScale+
  • Virtex UltraScale
  • Virtex UltraScale+
  • Vivado Design Suite - 2016.2
  • Vivado Design Suite - 2016.1
  • Vivado Design Suite - 2015.4.2
  • More
  • Vivado Design Suite - 2015.4.1
  • Vivado Design Suite - 2015.4
  • Vivado Design Suite - 2015.3
  • Less