My design includes a macro containing BLKRAM. In this design, the MULT and slice comps do not work with an RLOC_RANGE constraint. When I use the RLOC_ORIGIN constraint, everything is fine, but with the RLOC_RANGE, the design fails to place. The range constraint passed to the PCF looks good, but PAR rejects it.
INST my_a RLOC_RANGE = X24Y0:X54Y123;
COMPGRP "$macro_my_a/hset" = MACRO "my_a/hset";
COMPGRP "$macro_my_a/hset" LOCATE = SITE "SLICE_X18Y2":"SLICE_X39Y63" LEVEL 4;
Placer fails and reports the following errors:
"ERROR:Ncd - Resolved that macro my_a/hset is unable to be placed due to other
locked logic or prohibited sites."
"ERROR:Par:52 - The physical constraint resolution process is unable to resolve
all placement constraints. Please view the PAR results file ("output.par"
file) for the specifics of the error in the constraints resolution section."
This problem is scheduled to be fixed in version 9.1i. Meanwhile, use the RLOC_ORIGIN to constrain the placement of heterogeneous RPM GRID macros.