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

2012.4 - Vivado opt_design rejects the design with "ERROR: [Opt 31-120] Instance has become an empty hierarchy during sweep..."

Description

Design contains certain instances which are not used in certain configurations. These instances are present in the source code, but at least the output signals are not used. So, all the logic inside the instance is optimized away, which results in the error:

ERROR: [Opt 31-120] Instance 'EtherCAT_IPCore_inst/EtherCAT_IPCore_inst/CORE_INST.CORE_INST/PDI_GLOBAL_INST (PDI_GLOBAL_LAYER)' has become an empty hierarchy during sweep, however it has constraints that do not permit its removal.
ERROR: [Opt 31-120] Instance 'EtherCAT_IPCore_inst/EtherCAT_IPCore_inst/CORE_INST.CORE_INST/PHY_LAYER_INST/GEN_PORT[2].RMII_PORT (PHY_PORT_RMII__3)' has become an empty hierarchy during sweep, however it has constraints that do not permit its removal.
ERROR: [Opt 31-120] Instance 'EtherCAT_IPCore_inst/EtherCAT_IPCore_inst/CORE_INST.CORE_INST/PHY_LAYER_INST/GEN_PORT[1].RMII_PORT (PHY_PORT_RMII__2)' has become an empty hierarchy during sweep, however it has constraints that do not permit its removal.
ERROR: [Opt 31-120] Instance 'EtherCAT_IPCore_inst/EtherCAT_IPCore_inst/CORE_INST.CORE_INST/PHY_LAYER_INST/GEN_PORT[0].RMII_PORT (PHY_PORT_RMII__1)' has become an empty hierarchy during sweep, however it has constraints that do not permit its removal.
ERROR: [Opt 31-120] Instance 'EtherCAT_IPCore_inst/EtherCAT_IPCore_inst/CORE_INST.CORE_INST/PHY_LAYER_INST/GEN_PORT[3].RMII_PORT (PHY_PORT_RMII)' has become an empty hierarchy during sweep, however it has constraints that do not permit its removal.

Solution

This error message indicates that the contents of a hierarchy were trimmed as unused but the hierarchy itself could not be removed due to a "dont_touch" property being applied to the hierarchy.

This error can be avoided in several ways:

  • Remove "dont_touch" property from hierarchy to all full removal of the hierarchy.
  • Modify the design so that the logic within the hierarchy is used; and so not subject to trimming.
  • Apply "dont_touch" properties to one or more instances within the hierarchy so that it does not become empty.
AR# 55034
Date Created 03/21/2013
Last Updated 02/04/2014
Status Active
Type General Article
Tools
  • Vivado Design Suite