• 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. Changing library references for all the cells using skill...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 6980
  • 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

Changing library references for all the cells using skill.

Ne5uko
Ne5uko over 1 year ago

I want a run a SKILL script in batch mode to change reference library for all the cells in a library at once.

I did try this on my end but I am facing some issue, here is the SKILL that I tried:

let ((cellList inst masterID)

cellList=ddGetObj("Lib_name")~>cells

foreach(( inst cellList)

dbOpenCellViewByType("Lib_name" inst~>names "layout" "" "a")

masterId=dbOpenCellViewByType("New_lib" inst~>names "layout" nil "r")

I am confused as to how to proceed further.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    The function you want is ccpRenameReferenceLib. This will work even if the views are not OA databases (so works with Maestro views etc too), and is a simple interface. The documentation doesn't make the argument types particularly clear (I've fed back that this needs improving), but the usage would be:

    origSpec=gdmCreateSpec("originalRefLib" nil nil nil "LibraryUNIX")
    newSpec=gdmCreateSpec("newRefLib" nil nil nil "LibraryUNIX")
    libToUpdate=gdmCreateSpec("mylib" nil nil nil "LibraryUNIX")

    updateSpecList=gdmCreateSpecList()
    gdmAddSpecToSpecList(libToUpdate updateSpecList)
    ccpRenameReferenceLib(origSpec newSpec updateSpecList)

    (note, I didn't test this - but I believe this should do the job).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Ne5uko
    Ne5uko over 1 year ago in reply to Andrew Beckett

    Hi Andrew,

    Your suggestion worked really well.. Clean and Simple

    But,

    I am following the following article:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od0000000naw9EAA

    I want to achieve this using batch mode but I realised that since the being used here is leRemasterInstances it won't work in batch mode.

    Do you know any db equivalent function to this which can do the job being done in the article ?

    Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to Ne5uko

    I'm not sure why you would use that article's approach when the ccpRenameReferenceLib is simpler still (and there's cdsCopyShell if you want to run that code batch), but there's no direct equivalent of leRemasterInstances. You would iterate over cv~>instHeaders and then either use dbSetInstHeaderMasterName() to change the library or dbRemasterInstHeader (that requires opening the cellView you're replacing with though, so I suspect dbSetInstHeaderMasterName() would be simpler).

    Andrew

    • 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