I'm just wondering if anyone here has seen the same problem I'm running into. I have a design where I'm playing around a bit with RLOC. The layout of the design should be something like this:
AAAA BBBB AAAA BBBB AAAA BBBB AAAA BBBB
CCCC DDDD CCCC DDDD CCCC DDDD CCCC DDDD
Where A, B, C, D are instantiations of the same module. It contains hierarchical instantiations of other RLOCed modules.
However, when I look in the floorplanner, the modules look something like the following after place & route:
AAAA BBBBB A AAAA BBBBB A AA BBBB AAAA BB
D CCCC DDD CCCCC DDDD CCC C DD DD CCC DDDD
The funny thing is that everything is still one giant RPM according to the floorplanner. I don't think that I've made a mistake in the RLOC placement since I should get the same shape for all of the module instantiations in that case if I've understood things correctly.
So I'm wondering if anyone has an idea of what could be wrong. I've had an issue with ISE 8.2 (SP3) where some RLOCs just disappeared if I instantiated the same module several times so I've gone back to ISE 8.1 (SP3).
Are the tools allowed to move individual parts of an RPM? If so, what can I do to avoid this issue?
One thing which could have an impact is that I'm not defining any hsets, so every component ends up in the default "hset".
(By looking at the intermediate files using ngc2edif and xdl -ncd2xdl I'm prepared to blame par for moving my components.) I've tried to search the answer database on xilinx.com but I haven't found anything which sheds any light on this problem.
/Andreas