Does anyone have any idea how i can generate the UCF required for an RPM without manually running the floorplanner? (so i can create the RPM from a makefile) the floorplanner does not apparently have a "batch mode" despite a reference to a in the help - which is apparently not supposed to be there! I've got a hierarchical design builtup of many sub-blocks implemented as RPMs, so for each design change i need to rebuild the RPMs and recreate the full chip. A nightmare if i have to run the floorplanner interactively!
If you know what you want to put in the UCF, you can generate it in a text editor or from scripts. Similarly, you can convert an absolute placement("LOC=SLICE_X0Y0") UCF file to relative placement ("RLOC=X0Y0) in a text editor via global find/replace, and it'll work. Relocating elements should be possible with PERL scripts or similar.
There are bugs in the flow, which should go away in the 7.1 tool release ... meanwhile, it is good to occupy the lower left corner of the rectangle surrounding your RPM with one of its components ( i.e. an "L" or "E" shape is good, "T" or "+" will give unexpected results ), and place RPMs on even X and Y locations (otherwise the mapper may move them around).
Having got an RPM ("RLOC") UCF, you can create the RPM .NGC from the command line with NGCbuild. (An example command line will be found in the .blc report file created when you built the RPM in the floorplanner)
So it is all possible without the floorplanner ... though the floorplanner is probably the easiest way to make some kinds of changes.
Or am I misunderstanding what you are trying to do?
Here's what i'm looking for. i'm using an RPM build strategy, rather than actually creating an RPM. Using a bottom-up flow, i synthesise a block, constrain it to the bottom left hand corner of the chip using area_groups, then run a full place and route. I then want to use the placed design to generate an RPM for the block, which i can use at the next level. So i need a way to extract the placement information from the completed ncd. The floorplanner does this with the Replace Floorplan with Placement option but i have ten's of blocks to do this on each time i performa build.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.