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

Vivado IDE - NGC netlist which is a submodule within another NGC is treated as an unreferenced source


The NGC netlist which is a submodule within another NGC is treated as an unreferenced source and is not included in the design hierarchy. 

The following critical warning appears when opening the synthesized design:

Critical Warning:[Project 1-485] Could not resolve non-primitive black box cell 'yyyyyy' instantiated as 'xxxxxx'.

At the same time, an "Undefined Modules Found" dialog box pops up with the following message:

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.
Module name: yyyyy


This is expected behavior as the Vivado tool does not read the content that the NGC netlist sources when creating the design hierarchy, so it does not try to find the nested netlists.

To resolve this issue, you can use one of the following solutions:

  • Run ngcbuild or ngc2edif to merge the nested netlists into its parent netlist before adding it to the Vivado project.
  • Set the nested NGC netlist as global included: select the .ngc file in the sources window -> in the source files properties window, check "IS_GLOBAL_INCLUDED" in the Properties tab.
  • Set the "EDIF_EXTRA_SEARCH_PATHS" property to the directory where the nested NGC is located:
    set_property EDIF_EXTRA_SEARCH_PATHS <path_of_directory> [current_fileset]
AR# 59006
Date 01/14/2014
Status Active
Type General Article
  • Vivado Design Suite