EDIF/NGC file inputs remain unconnected when using the Vivado Synthesis tool.
Why does this happen? How can this be averted?
In the Vivado Synthesis flow, EDIF and NGC files are processed as black boxes in the Synthesis tool.
If the RTL that instantiates these netlists leaves inputs to those instances unconnected, the Synthesis tool has no visibility on the best course of action.
As a result, it will leave those unconnected inputs unconnected. This could cause problems later in the flow when the netlists are read in after synthesis.
Error messages about LUTs with unconnected inputs are common when this happens. Care should be taken with black boxes to ensure that all inputs are driven.
In Vivado 2014.2 and later, an NGC file and its wrapper file will not be found if they have the same base module name and are both enabled for Synthesis and Implementation..
If a project contains both my_mod.ngc and my_mod.v, Vivado synthesis issues the following message:
In the Hierarchy view, the my_mod.v file is unreferenced and the my_mod.ngc file is referenced, and as such is used in Synthesis.
However, Synthesis cannot handle the NGC file so the my_mod file is not found.
There are two ways to work around this issue:
This causes the NGC file to be unreferenced and the HDL file to be referenced, and as a result synthesis will complete.