UPGRADE YOUR BROWSER

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

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

Description

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

Solution

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 Created 10/05/2012
Last Updated 10/05/2012
Status Active
Type General Article
Tools
  • Vivado