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

Vivado Synthesis - The LUT1 inverter in the feedback loop of the register also gets replicated when Synthesis replicates the register due to the MAX_FANOUT attribute


In RTL code, I add the MAX_FANOUT attribute on a register, which has a LUT1 inverter in the feedback loop.

When the register is replicated, the LUT1 also gets replicated.

Is this expected behavior?


This is expected behavior.

Vivado synthesis intends to keep the LUT-FF pair together for timing.

This ensures that the LUT and Flip-flop (FF) are kept in the same slice which improves timing results.

If you have a reason to not replicate the LUT1 in this situation, you can try to add the keep or dont_touch attribute on the input of the register (output of the LUT1).

AR# 63992
Date Created 03/22/2015
Last Updated 10/13/2016
Status Active
Type Known Issues
  • Vivado Design Suite