| Author |
Message |
pbs681
Joined: 19 Aug 2004 Posts: 156 Helped: 11
|
17 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
|
18 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
|
20 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
|
21 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
|
21 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
|
21 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
|
21 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
|
23 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
|
23 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
|
23 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
|
27 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
|
27 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
|
27 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
|
28 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
|
28 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
So, in any solution, you need to flatten your GDS before any processing or consider cells location and add coordinates ... good luck
|
|
| Back to top |
|
 |
Hughes
Joined: 10 Jun 2003 Posts: 715 Helped: 85
|
28 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
|
28 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
|
09 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
|
09 Oct 2004 15:09 Re: automate pad location coordinate using cadence |
|
|
|
|
Not hard, but RISKY
... when the number of pads exceed 100
|
|
| Back to top |
|
 |
pbs681
Joined: 19 Aug 2004 Posts: 156 Helped: 11
|
11 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 |
|
 |