Xilinx PAD name to (X,Y) RPM coordinate

C

CyberFunk

Guest
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
 
CyberFunk wrote:
Hi there,
Is there any way to convert PAD name (package pin name) to
(X,Y) RPM coordinate used in Xilinx FPGA editor.
TIA
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
 
Thanks for the reply.
But the XY coordinate printed out by partgen doesn't match with
EPIC's RPM grid shown when I click the pad. Is it partgen software bug?
Is there anyone representing Xilinx can answer this question?
Thanks.

"John Williams" <jwilliams@itee.uq.edu.au> wrote in message
news:40222fe9$0$10532$61ce578d@news.syd.swiftdsl.com.au...
CyberFunk wrote:
Hi there,
Is there any way to convert PAD name (package pin name) to
(X,Y) RPM coordinate used in Xilinx FPGA editor.
TIA

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
 
"CyberFunk" <htchang@comcast.net> wrote in message news:<15HUb.189826$nt4.804855@attbi_s51>...
Thanks for the reply.
But the XY coordinate printed out by partgen doesn't match with
EPIC's RPM grid shown when I click the pad. Is it partgen software bug?
Is there anyone representing Xilinx can answer this question?
Thanks.
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

"John Williams" <jwilliams@itee.uq.edu.au> wrote in message
news:40222fe9$0$10532$61ce578d@news.syd.swiftdsl.com.au...
CyberFunk wrote:
Hi there,
Is there any way to convert PAD name (package pin name) to
(X,Y) RPM coordinate used in Xilinx FPGA editor.
TIA

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
 

Welcome to EDABoard.com

Sponsor

Back
Top