When I target the smaller Virtex-4 FX parts, MicroBlaze has a hard time fitting into the device, and PAR generates an error similar to the following:
"ERROR:Pack:12 - The RLOC value of X16Y30 on component
microblaze_0/microblaze_0/MFS_Reg_Sel<0> in RPM microblaze_0 creates a macro
that is too large for the device. Use a bigger device."
To resolve this issue, add the following line to the system.ucf file:
INST "microblaze_0/microblaze_0/*" USE_RLOC=FALSE;
NOTE: Disabling the RLOCs reduces the FMax of MicroBlaze when many features of MicroBlaze are turned on. On a base MicroBlaze with no or very few features turned on, disabling RLOCs can improve performance.