• 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 write skill to change library access permissions

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 143
  • Views 15792
  • 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 write skill to change library access permissions

archive
archive over 15 years ago

Hi All,

 

I am trying to write a skill code to change the access permissions of a specific library. e.g I want to change the library "Test" to read only for all and then I want to change the access back to read/write for all.

 

Thanks,

Vijay

 

 

  • Cancel
  • Quek
    Quek over 15 years ago

    Hi Vijay

    I cannot find any public design management SKILL API to do this so I guess you would have to use something similar to the following:

    procedure( CCSchangeLibMode(myLib mode)
       let( (libId)
          libId=ddGetObj(myLib)
          sprintf(cmd "chmod %n %s" mode myLib~>readPath)
          system(cmd)
          printf("Changed permission of lib %s to %n\n" myLib mode)
       ) ;let
    ) ;procedure

    === Owner read/write/execute ===
    CCSchangeLibMode("test" 755)

    === Owner read/execute ===
    CCSchangeLibMode("test" 555)


    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 15 years ago
    Hi Quek,
    Thank you for your quick response. I was thinking of writing a shell script for that purpose, but I was thinking about it and came up with a better idea:

    My idea is to specify a cellname and change the permissions of all cellview under the cell name hierarchically. I am new to SKILL, I am not sure how to get the list of cells in the hierarchy if I provide the parent cell name.

    Could you please point me in the right direction?

    Thanks,
    Vijay
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 15 years ago

    Hi Vijay

    You can use the following script. Save it as "getcells.il" in the working directory and load it in ciw using:

    load "getcells.il"

    Open your top level layout and enter the following in ciw:

    CCSallCells()

    The names of all subcells will be returned as a list.

    Best regards
    Quek


    procedure( CCSgetCells(cv cellList)
       foreach( master cv~>instances~>master
          let( (nextCv)
             nextCv=master
             cond(
                (!nextCv nil)
                (member(nextCv cellList) nil)
                (t cellList=CCSgetCells(nextCv cons(nextCv cellList)))
             ) ;cond
          ) ;let
       ) ;foreach
       cellList
    ) ;procedure


    procedure( CCSallCells()
       let( (cellList)
          cellList=CCSgetCells(geGetWindowCellView() list())
          cellList~>cellName
       ) ;let
    ) ;procedure

    getcells.il
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 15 years ago

    Hi Vijay

    If you want to use the script by providing a top cell name, you can use this:

    procedure( CCSallCells(myLib myCell myView)
       let( (cellList cv)
          cv=dbOpenCellViewByType(myLib myCell myView)
          cellList=CCSgetCells(cv list())
          cellList~>cellName
       ) ;let
    ) ;procedure

    Sample cmd:
    CCSallCells("abcLib" "myTopCell" "layout")


    Best regards
    Quek

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

    Hi Quek,

     

    It works great. Thanks a lot!!

     

    Thanks,

    Vijay

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 15 years ago
    Hi Quek,

    Thank you for your quick response. I was thinking of writing a shell script for that purpose, but I was thinking about it and came up with a better idea:

    My idea is to specify a cellname and change the permissions of all cellview under the cell name hierarchically.

    I am new to SKILL, I am not sure how to get the list of cells in the hierarchy if I provide the parent cell name. Could you please point me in the right direction?

    Thanks,

    Vijay
    • 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