Xilinx PAD name to (X,Y) RPM coordinate

Hi there, Is there any way to convert PAD name (package pin name) to (X,Y) RPM coordinate used in Xilinx FPGA editor. TIA HT

Reply to
CyberFunk
Loading thread data ...

Try running "partgen -v partname"

where partname is, e.g. cx2v1000-fg456-4

then open up the partname.pkg file. For example, from xc2v1000-fg456-4.pkg: (watch the wrap)

pin PAD1 B4 0 IO_L01N_0 X1Y79 0S 0 pin PAD2 A4 0 IO_L01P_0 X1Y79 0M 0 pin PAD3 C4 0 IO_L02N_0 X1Y79 1S 0

Thus pin B4 is located at slice X1Y79, and so on..

You could look at the part in FPGA editor to confirm.

Regards,

John

Reply to
John Williams

Reply to
CyberFunk

The coordinate in column six of the partgen pkg file is the location of the nearest slice site in terms of the slice coordinate system. This functionality was probably spec'd before the RPM Grid was available and there was no coordinate available to describe an IOB. It also likely predates the support of IOBs in RPMs. I'll log an enhancement for partgen asking that an RPM Grid coordinate be used instead.

I can recommend a semi-automatic solution using FPGA Editor. As you've noted, the RPM Grid coordinate is printed when an IOB site is selected. This information is written to a file named design_name_fpga_editor.out which later becomes design_name_fpga_editor.log after the editing session is finished. A perl script could be written to extract the site name and corresponding RPM Grid coordinate from this file. I was hoping that an FPGA Editor script could be used to automate the selects, but unfortunately the coordinate only gets printed when there is a manual select.

BTW, keep in mind that the placer can not currently auto-place RPMs containing IOBs. You'll need to locate the RPMs with an RLOC_ORIGIN constraint.

Regards, Bret

Reply to
Bret Wade

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.