• 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 Design
  3. What is the syntax for creating pins withing SKILL

Stats

  • Locked Locked
  • Replies 10
  • Subscribers 126
  • Views 17894
  • 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

What is the syntax for creating pins withing SKILL

JMCaJHU
JMCaJHU over 15 years ago

 I tried accessing the documentation, but it seems to be unavailable at my university this year.  I was just wondering what the syntax for creating a pin is.  I think it is dbCreatePin( ) but i don't know the parameters.  

 Also is there a way to specify what material/metal the pin is created on?

  • Cancel
  • skillUser
    skillUser over 15 years ago

    Hi,

    Yes, sort of.  You need to create the pin figure first, and this is the one that you specify the material of, then you use dbCreatePin:

     dbCreatePin(
      d_netId
      d_figId
      [ t_pinName /nil]
      [ t_termId /nil]
     )
     

    The pin figure can be a rectangle, polygon etc. (but is usually one of these).

    Hope this answers your question.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago
    You should also try to resolve the documentation issue. Writing SKILL code without docs is going to be rather hard. I consider the tools crippled if the documentation has been deleted.

    You should be able to run the cdsFinder command from the UNIX prompt, or startFinder() in the CIW. This will bring up the "quick reference" - not the documentation, but a short description of the function and the template for the function.

    If cdsdoc (cdnshelp in the latest releases) does not work, you should raise that with whoever is responsible for your installation. You may however be able to just look in <ICinstDir>/doc and this contains directories for each manual, containing HTML and PDF formats. The one you want is in "skdfref" (I think; I'm offline so I can't check).

    To further what Lawrence says, you'll need to use dbMakeNet to create the net first, and dbCreateRect (or whatever) to create the pin figure. Then pass the results of these two to dbCreatePin.

    Regards,

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • JMCaJHU
    JMCaJHU over 15 years ago

     thanks for the help.  as for the documentation, cdnshelp does work but it only opens up an SOC8.10 library.  I haven't been able to find any section where SKILL commands are laid out. Any help with this would be appreciated.  I've also asked other lab members but theyve informed me that the documentation has never worked and I am the first person to actually make it work.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    Which IC version are you using?

    If you type:

    cds_root icfb

    And then look for the doc dir in that directory, is it present?

    More hints once I have your answers.

    Regards,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 15 years ago

    In cdnshelp, what do you see for the File->Library menu, does it list your IC61x or even the IC5141 documentation library?

    Have you tried having IC61x first in your path and running cdnshelp from there?

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • JMCaJHU
    JMCaJHU over 15 years ago

     its IC61x.  the internal links to documentation are broken but i found a work around.  i just open through firefox by finding the html files or type startFinder in the CIW window. 

     Issue almost resolved.  I created the net and understand the command for creating pins.  Using this code:

    db_outnet=dbCreateNet(db_outcell OUT [)

    dbCreatePin(db_outnet d_figId [OUT] [)

      However I don't understand how to add/create a square figure.  Could someone provide an example or command with parameters please?  Also, where i can specify where the pin should be located?

    thank you again. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 15 years ago

     Hi,

    You can use dbCreateRect() (I think Andrew mentioned this earlier?)

     dbCreateRect( 
      d_cellView 
      ( tx_layer [ t_purpose ] ) 
      l_bBox 
     )

     Store the result of this and use it as input to the dbCreatePin command. The l_bBox is the bounding box, i.e. the co-ordinates of the lower-left corner and theupper-right corner of the rectangle you wish to create, e.g. list(0:0 1:1) will make a 1 micron square at the origin (well, not centered around the origin).

    I hope this is what you were looking for?

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 15 years ago

    Someting like this, using your code example

    db_outnet=dbCreateNet(db_outcell OUT [)
    
    db_pinFig = dbCreateRect( db_outcell  list("metal1" "drawing")  list(0:0 1:1)  )
    
    dbCreatePin(db_outnet db_pinFig [OUT] [) 
    

    This will create a rectangle from the origin (0:0) to 1:1 on the "metal1" drawing layer
    I hope this helps


    Regards,
    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    For the documentation, if you run "cdnshelp", it normally defaults to opening the documentation from the installation that cdnshelp is being picked up from.

    You can point to another installation by doing:

    File->Library->...

    and then you may have a choice of IC61 whatever. If it's not there, you can use the File->Library->Open Library, and then navigate to the root of your IC61X installation, then into doc, then into xmlreg, and finally pick the library.lbr file. Once added the first time, it will be listed in the sets of documentation under File->Library.

    Then you can pick that library, and do searching etc within it. Much easier.

    If you had been using IC5141, it's also possible to set up IC5141 documentation to be accessible with cdnshelp. To do this you need write access to the IC5141 doc directory, and you just have to do (once):

    cdnshelp -refresh -hierarchy <IC5141instDir>/doc

    and OK the forms. This will create the xmlreg/library.lbr (and related files) within the IC5141 doc dir. 

    I do this all the time, because I far prefer the newer cdnshelp interface over and above the old cdsdoc/web-browser based interface that was in IC5141.

    Best Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Tawna
    Tawna over 15 years ago
    It's amazing how often this question comes up.
    • 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