Xilinx RPM in Makefile?

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!

Surely there is some wat to do this?

a0-0b

Reply to
a0-0b
Loading thread data ...

Surely someone know how? There are bound to be command line options for those implementing core gen functions?

Reply to
a0-0b

I'm not sure I see what you need.

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?

- Brian

Reply to
Brian Drummond

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.

a0-0b

Reply to
a0-0b

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.