When I am making one small design where I use Xilinx coregenlib DISTRIBUTED RAM core of any dimension, implement the design, open post-PAR Floorplanner, and try to create RPM through File->Write RPM to UCF with "Automatically Generate RPM in NGC Format" option checked, the following error occurs:
"ERROR:NgdBuild:753 - Line 4 in 'D:/basheer/Exp1/dpram_rpm/dram_rpm.ucf':
Could not find instance(s) 'INST/BU37' in the design. To suppress this error specify the correct instance name or remove the constraint."
How can I solve this problem?
In the UCF file, Floorplanner is writing out constraints for instances that do not exist in the EDIF.
INST "BU6" RLOC = "X0Y0" ;
INST "BU6/RAM64X1S1" RLOC = "X2Y0" ;
INST "BU6/RAM64X1S0" RLOC = "X3Y0" ;
The instance "BU6" is in the netlist, but not in the lower-level instances ("RAM64X1S1" and "RAM64X1S0"). The NGD file contains these instances, but not the EDIF.
To work around this issue, simply remove the "BU*/RAM64S*" constraints from the UCF and run the NGDBuild command line. This will constrain the position of the RAM. However, it might ignore the RPM of the distributed RAM itself.