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

Vivado Synthesis - Submodule interface gets modified even with "-flatten_hierarchy none" when there are tricells in the lower level hierarchy.


When there are tricells in the lower level hierarchies, the sub module interfaces can be modified even with "-flatten_hierarchy none".

This article describes the root cause of this issue.


This is expected.

Even though "-flatten_hierarchy" is set to none, Vivado Synthesis automatically enables the rebuilt flow before I/O insertion when there are tri-state buffers/cells in the lower level modules.

This is to move the tri-state logics to top level.

You would see the following message in Synthesis report:

design has tricells in submodule, set to rebuild hierarchy flow

When the hierarchy is re-built, the module interface may not be exactly the same as in RTL. 

If you want to preserve the exact design hierarchy, move the Tri-state buffers from submodules to the top level.

AR# 60092
Date Created 04/02/2014
Last Updated 04/16/2014
Status Active
Type Known Issues
  • Vivado Design Suite