Rules | Recent posts | topic RSS | Search | Register  | Log in

automate pad location coordinate using cadence

 
Post new topic  Reply to topic    EDAboard.com Forum Index -> Analog IC Design & Layout
Author Message
pbs681



Joined: 19 Aug 2004
Posts: 156
Helped: 11


Post17 Sep 2004 16:05   automate pad location coordinate using cadence

Hi,
Is there any automated method to get the pad coordinate (center location).
Thanks
Back to top
Hughes



Joined: 10 Jun 2003
Posts: 715
Helped: 85


Post18 Sep 2004 15:03   automate pad location coordinate using cadence

The pad coordinates can be calculated by skill program.
Back to top
pbs681



Joined: 19 Aug 2004
Posts: 156
Helped: 11


Post20 Sep 2004 4:04   Re: automate pad location coordinate using cadence

Thanks Hughes,
Do you have any reference or maybe give me some hint becoz I am still new to this field.
Back to top
Hughes



Joined: 10 Jun 2003
Posts: 715
Helped: 85


Post21 Sep 2004 4:19   automate pad location coordinate using cadence

Hi pbs681,

It is not so easy to discuss how to write a skill program to get the pad location of a hierarchy layout. But we can do it in different way:

First we can create a new cell to put PAD shapes. Open the original layout view and set only PAD layer visible. Copy the PAD shape from the original layout view to the new cell view using yank and paste (do not use copy function). Now we will get a FLAT cell view only containing PAD shape data. Move the origin to keep the PAD shapes in the same positions as the original layout view.

Then we can write a skill program to get the pad location. For example:
foreach(shape cv~>shapes
bBox=shape~>bBox
printf("%10.2f %10.2f\n" (caar(bBox)+caadr(bBox))/2 (cadar(bBox)+cadadr(bBox))/2)
)
Back to top
sudhirtj



Joined: 12 Aug 2004
Posts: 27
Helped: 1


Post21 Sep 2004 4:27   Re: automate pad location coordinate using cadence

Hi pbs681,

you can also use perl/awk/sed scripting for getting the pad coordinates. dump the pads file and go on adding or reducing the pad coordinates depending the side.

-sudhir
Back to top
okguy



Joined: 01 Mar 2002
Posts: 563
Helped: 6


Post21 Sep 2004 12:49   Re: automate pad location coordinate using cadence

I often look at the ~/CDS.log to write skill pgm.
Back to top
Hughes



Joined: 10 Jun 2003
Posts: 715
Helped: 85


Post21 Sep 2004 13:09   automate pad location coordinate using cadence

CDS.log provides many clues for SKILL programming, sometimes a SKILL program can be constructed just by copy and paste from CDS.log.
But SKILL programs written in this way can only access cadence interactive function calls.
Back to top
pbs681



Joined: 19 Aug 2004
Posts: 156
Helped: 11


Post23 Sep 2004 9:12   Re: automate pad location coordinate using cadence

Hi Hughes,
I try your SKILL code. I found that line "printf("%10.2f %10.2f\n" (caar(bBox)+caadr(bBox))/2 (cadar(bBox)+cadadr(bBox))/2) " got a prob. I suspected caused by "caar" command. Need your advise
Back to top
Hughes



Joined: 10 Jun 2003
Posts: 715
Helped: 85


Post23 Sep 2004 12:55   Re: automate pad location coordinate using cadence

Hi pbs681,

Please change the statement:
Code:
printf("%10.2f %10.2f\n" (caar(bBox)+caadr(bBox))/2 (cadar(bBox)+cadadr(bBox))/2)


To:
Code:

x1=caar(bBox)
x2=caadr(bBox)
y1=cadar(bBox)
y2=cadadr(bBox)
xc=(x1+x2)/2
yc=(y1+y2)/2
printf("%10.2f %10.2f\n" xc yc)


You may enter the statements line by line. If any problem exists, please post the error message here.
Back to top
okguy



Joined: 01 Mar 2002
Posts: 563
Helped: 6


Post23 Sep 2004 15:54   Re: automate pad location coordinate using cadence

Another method if you don't like skill is to save your GDS as a text.
Use PERL or any language to find the pad layer opening, then, with some text processing your can get the pad location.
If your GDS-text only include the pad opening layer, it is even easier.

OkGuy
Back to top
pbs681



Joined: 19 Aug 2004
Posts: 156
Helped: 11


Post27 Sep 2004 5:58   Re: automate pad location coordinate using cadence

Hi Hughes and okguy,
thanks for your reply. I've tried the SKILL code that you gave, everything looks fine, but I can't view the output. I tried to use redirect command, but it doesn't work. Need your help.
Now I am working on suggestion that made by okguy.
thanks again
Back to top
Hughes



Joined: 10 Jun 2003
Posts: 715
Helped: 85


Post27 Sep 2004 6:26   automate pad location coordinate using cadence

Hi pbs681,

You may open CDS.log to find out the outputs of the above posted codes. Replacing printf with fprintf will output the results to a file.

Code:

fp=outfile("PADLOC.txt")
foreach(shape cv~>shapes
  bBox=shape~>bBox
  x1=caar(bBox)
  x2=caadr(bBox)
  y1=cadar(bBox)
  y2=cadadr(bBox)
  xc=(x1+x2)/2
  yc=(y1+y2)/2
  fprintf(fp "%10.2f %10.2f\n" xc yc)
)
fclose(fp)
Back to top
pbs681



Joined: 19 Aug 2004
Posts: 156
Helped: 11


Post27 Sep 2004 10:16   Re: automate pad location coordinate using cadence

Hughes,
There is nothing inside the file.
Thanks.
Back to top
Hughes



Joined: 10 Jun 2003
Posts: 715
Helped: 85


Post28 Sep 2004 0:24   Re: automate pad location coordinate using cadence

pbs681 wrote:
Hughes,
There is nothing inside the file.
Thanks.

Hi pbs681,

I have tested the codes in my system, there ARE pad locations in the file. Before running these codes, cv should be set to the dbId of the cellview which contains rectangle shapes of PAD layers.
Back to top
okguy



Joined: 01 Mar 2002
Posts: 563
Helped: 6


Post28 Sep 2004 1:58   Re: automate pad location coordinate using cadence

Hei pbs681, my guess is what you need is pad location for some bomding, isn'it Question
So, in any solution, you need to flatten your GDS before any processing or consider cells location and add coordinates ... good luck Cool
Back to top
Hughes



Joined: 10 Jun 2003
Posts: 715
Helped: 85


Post28 Sep 2004 5:42   Re: automate pad location coordinate using cadence

pbs681 wrote:
Hi,
Is there any automated method to get the pad coordinate (center location).
Thanks


Another method: Flatten the design; select all PAD shapes; the select menu 'Window/Show Selected Set'. A window is poped up to show the informations for all selected shapes, which contain bounding boxes information. Save the window contains to a file and use other tools such awk, perl and C to process the data to get the center locations.
Back to top
pbs681



Joined: 19 Aug 2004
Posts: 156
Helped: 11


Post28 Sep 2004 6:46   Re: automate pad location coordinate using cadence

Hi Hughes and OkGuy,
Your suggestion help me solve my prob. Found that method 'Window/Show Selected Set' plus the awk/sed/perl suit me. May be I not good enough in SKILL coding(this is first time I use SKILL). Again, thanks.

Shahrul
Back to top
layes



Joined: 27 Sep 2004
Posts: 57
Helped: 2


Post09 Oct 2004 5:38   Re: automate pad location coordinate using cadence

why not mannually?
it is not hard
Back to top
okguy



Joined: 01 Mar 2002
Posts: 563
Helped: 6


Post09 Oct 2004 15:09   Re: automate pad location coordinate using cadence

Not hard, but RISKY Arrow
... when the number of pads exceed 100 Twisted Evil
Back to top
pbs681



Joined: 19 Aug 2004
Posts: 156
Helped: 11


Post11 Oct 2004 6:00   Re: automate pad location coordinate using cadence

Agree with okguy....
It is not hard to do it manually but to be on the safe side, better use the script or even better use both.
Back to top
Post new topic  Reply to topic    EDAboard.com Forum Index -> Analog IC Design & Layout
Page 1 of 1 All times are GMT + 1 Hour


Abuse
Administrator
Moderators
topic RSS 
sitemap