SKILL Q: Given a Name, How to Select a Pin in LE?

E

Edward

Guest
Hi All,

I have a (lengthy) list of pins I want to select in the layout
editor. But rather than finding and clicking each one or trying to
find the correct regex with the Search command, I'd like to use some
SKILL to select each layout pin by name.

I imagine it has something to do with the dbFindTermByName command.
But I can't seem to find the magic that leads me to the corresponding
pin-geometry object in layout.

Edward
 
Hi Edward,

Once your cv opened, I would propose the following to get the list of
the shape/instance pins in your layout:

instPinsList = setof(x dbGetq(cv instances) x~>pin)
shapePinsList = setof(x dbGetq(cv shapes) x~>pin)

You can then do whatever you want with this list: Match them with the
list you're looking for and then select ?

Hope it help !
Riad.
 
Riad KACED wrote:
Hi Edward,

Once your cv opened, I would propose the following to get the list of
the shape/instance pins in your layout:

instPinsList = setof(x dbGetq(cv instances) x~>pin)
shapePinsList = setof(x dbGetq(cv shapes) x~>pin)

You can then do whatever you want with this list: Match them with the
list you're looking for and then select ?

Hope it help !
Riad.
Thanks Riad,

That was exactly what I was looking for! I'm assuming the instance-
pins are symbolic pins?

Edward
 
Edward wrote:
Hi All,

I have a (lengthy) list of pins I want to select in the layout
editor. But rather than finding and clicking each one or trying to
find the correct regex with the Search command, I'd like to use some
SKILL to select each layout pin by name.

I imagine it has something to do with the dbFindTermByName command.
But I can't seem to find the magic that leads me to the corresponding
pin-geometry object in layout.

Edward
Edward,
term = dbFindTermByName(cv "AVSS")
pins = term~>pins
figs = term~>pins~>fig

This must be faster than going through every shape in the cellview.

If you want to use regular expression or any other conditional selection
of pins:
terms = setof( term cv~>terminals rexMatchp("PATTERN" term~>name))
foreach(term terms
pins = term~>pins
figs = term~>pins~>fig
; something here
)

Regards,
Suresh
 

Welcome to EDABoard.com

Sponsor

Back
Top