AR# 52257


What is the function of the Vivado Synthesis -flatten_hierarchy switch, and what are its various options?


This AR describes the Vivado Synthesis -flatten_hierarchy switch option, which can be applied both in project and non-project mode.


Project Mode:

In the project mode, the -flatten_hierarchy switch option can be set using the Synthesis Settings button within the Vivado Integrated Design Environment. This is used to control the manner in which the Vivado synthesis tool can synthesize a design hierarchy. The following are the various -flatten_hierarchy options:

  • -flatten_hierarchy : none - This option instructs the synthesis tool to never flatten the hierarchy. The output of synthesis will have the exact same hierarchy as the original RTL.
  • -flatten_hierarchy : full - This option instructs the tool to fully flatten the hierarchy leaving only the top level.
  • -flatten_hierarchy : rebuilt - This is the default flatten_hierarchy option. When set, rebuilt allows the synthesis tool to flatten the hierarchy, perform synthesis, and then rebuild the hierarchy based on the original RTL. This value allows the QoR benefit of cross-boundary optimizations, with a final hierarchy that is similar to the RTL for ease of analysis.

Non-Project Mode:

In the non-project mode, -flatten_hierarchy switch along with one of the options for-flatten_hierarchy (none, full, rebuilt)can be passed to synth_design Tcl command. Here is a sample example:

synth_design -top bft -part xc7k70tfbg484-2 -flatten_hierarchy none

AR# 52257
Date 10/05/2012
Status Active
Type General Article
People Also Viewed