• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. How to make a pin from terminal!

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 145
  • Views 8106
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to make a pin from terminal!

dogman4
dogman4 over 2 years ago

Hi all,

I have a schematic. I want an schematic’s bindkey. it can make a pin which name and direction same with the terminal by select the instance’s terminal and press this bindkey.

Now,I can only find the function:”scheHiCreatePin()” but can’t find the way to get selected terminal’s ID.

Can I get some help? Thank you guys in advance!  

  • Cancel
Parents
  • dogman4
    dogman4 over 2 years ago

    hello,anyone here,help pls

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to dogman4
    dogman4 said:
    hello,anyone here,help pls

    If this was urgent, you should contact customer support. This is not intended to be a substitute of that, and people reply here in their spare time (including those of us from Cadence who respond here). I had no spare time yesterday...

    If you've selected the pin on an instance, then you can retrieve information about it as follows.

    ; assuming just a single object is selected
    obj=car(geGetObjectSelectedSet())
    ; check that there is hierarchy in the selection
    when(cadr(obj)
      shape=car(obj)
      owner=car(cadr(obj))
      inst=car(owner)
      terminal=shape~>pin~>term
      terminalName=terminal~>name
      instTerm=car(setof(instT inst~>instTerms instT~>name==terminalName))
      shapeBBox=dbTransformBBox(shape~>bBox inst~>transform)
      printf("Selected terminal name %L net %L coord %L\n"
        terminalName
        instTerm~>net~>name
        shapeBBox
      )
    )

    Then if you're going to create a pin from SKILL, then using schCreatePin would probably make more sense rather than the "Hi" (Human Interface) version of the function.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to dogman4
    dogman4 said:
    hello,anyone here,help pls

    If this was urgent, you should contact customer support. This is not intended to be a substitute of that, and people reply here in their spare time (including those of us from Cadence who respond here). I had no spare time yesterday...

    If you've selected the pin on an instance, then you can retrieve information about it as follows.

    ; assuming just a single object is selected
    obj=car(geGetObjectSelectedSet())
    ; check that there is hierarchy in the selection
    when(cadr(obj)
      shape=car(obj)
      owner=car(cadr(obj))
      inst=car(owner)
      terminal=shape~>pin~>term
      terminalName=terminal~>name
      instTerm=car(setof(instT inst~>instTerms instT~>name==terminalName))
      shapeBBox=dbTransformBBox(shape~>bBox inst~>transform)
      printf("Selected terminal name %L net %L coord %L\n"
        terminalName
        instTerm~>net~>name
        shapeBBox
      )
    )

    Then if you're going to create a pin from SKILL, then using schCreatePin would probably make more sense rather than the "Hi" (Human Interface) version of the function.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • dogman4
    dogman4 over 2 years ago in reply to Andrew Beckett

    hi,Andrew,thank for ur gentle reminders,i just ignore customer support.btw,skill code works,thank u  very much for spending time on helping me,Kissing heart

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Tawna
    Tawna over 2 years ago in reply to dogman4

    If you are ignoring Customer Support, you are missing out working with quite a few excellent Application Engineers (some of them are active in the Cadence Community and write the Rapid Adoption Kits and Articles on Cadence Online Support)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information