Keyword: partitions, block RAM, LOC
When using the DCC (Design Closure Cockpit) flow, and a partition is created from a module and a LOC constraint is put on a RAMB16, MAP errors out with the following message:
"FATAL_ERROR:MapHelpers:mhcv2devpkg.c:51:1.18 - rcToSite() called for a non-logic
category site type RAMB16. Process will terminate. To resolve this error,
please consult the Answers Database and other online resources at
http://support.xilinx.com. If you need further assistance, please open a
Webcase by clicking on the "WebCase" link at http://support.xilinx.com"
This problem will be fixed in ISE version 9.1i, currently scheduled for January, 2007.
Meanwhile, you can work around this issue by creating an AREA_GROUP range for the module that includes only the required site for the BRAM, for example:
INST "MODULE" AREA_GROUP = "RAM_GRP";
AREA_GROUP "RAM_GRP" RANGE = "RAMB16_X0Y11:RAMB16_X0Y11";
NOTE: The key to this work around is that the BRAM is constrained without actually applying a constraint to the BRAM itself. If more than one BRAM exists in the module, a larger range would need to be specified.