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

Vivado 2015.1 : Change in behavior for empty hierarchies results in messages referring to “black box” and “undefined cell was found”.


When opening an implemented design, I see the following messages.

I did not see this in Vivado 2014.4 from same sources.

While importing this netlist, 1 undefined cell was found and converted to a black box.
Make sure you have loaded all intended module definitions before proceeding.
Black boxes can be populated by using the Add Sources operation and re-running Synthesis

INFO: [Opt 31-120] Instance xyz has been optimized to an empty box cell during sweep but it has constraints that prevent its removal. Empty box cells do not impact the implementation flow but they have no functional relevance.
Resolution: If this is not expected, please check for DONT_TOUCH properties or timing constraint set on the empty box cell or on nets connected to the cell. If found, remove the relevant DONT_TOUCH property or timing constraint and re-run opt_design.


This is known issue in Vivado 2015.1.

In previous releases, hierarchies that had become empty due to trimming and optimization, but could not be removed due to dont_touch properties would lead to errors.

In Vivado 2015.1 the empty hierarchies are now allowed but this results in invalid black box messages.

These invalid messages will be corrected for Vivado 2015.2.

Until then, the issue is harmless and can be ignored, or the dont_touch property can be removed to allow the empty hierarchy to be removed.
AR# 64515
Date 06/09/2015
Status Active
Type General Article
  • Vivado Design Suite - 2015.1
Page Bookmarked