Keyword: error, ngdbuild, 753, instance, ucf
Why do I receive the following error from NGDBuild?
"ERROR:NGDBuild:753 - Line %i in '%s': Could not find instance(s) '%s' in the design."
This error is caused by a mismatch between the design and NCF/UCF constraints. One reason can be that the core files for this design are located in a different directory. Use the "macro search path" to point to the location of these files.
Another reason for this error is that the location of the I/O or component is defined in the NCF/UCF, but is not defined in the source code. Either comment out the constraint or define the I/O or component in the source code.
When using the ISE-XST flow, sometimes NGDBuild merges IBUFs into DDR register macros. It loses the instance names in constraints and applies constraints to instance names. The simplest solution is to change the UCF statements from "INST <netname> ..." to "NET <netname> ...," because the net names are always preserved. This works for TNM constraints but not for the IOB constraints, because IOB constraints must be attached to an instance and not a net.
The solution for the IOB constraint is to change it to the correct hierarchical constraint:
INST left_6x12_1/<netname> IOB = FALSE;
Alternatively, the IOB constraint may be attached to the registers whose implementation is affected. For example:
INST left_6x12_1/ddr/* IOB = FALSE;
If you created an RPM (Relational Placed Macro) with a distributed RAM instance, from Floorplanner, you will need to remove the RLOC on the top level instance of the RPM.
Also, see (Xilinx Answer 20295).