• 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 get write permission status

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 17081
  • 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 get write permission status

zhisong
zhisong over 13 years ago

Hi,

To check cell editable information before open it, I try to use ddGetObj(lib cell view)~>isWritable

In my situation, I use design management software. Now before I check out the cell, of course I can't edit it, but the isWritable is t.

And I can find permission of all database  444. Is that a bug of IC5.1?

So any other way to check the editable info?

Thanks

 Jason

  • Cancel
  • Quek
    Quek over 13 years ago

    Hi Jason

    This is actually not a bug of IC5141. Virtuoso uses linux access() cmd to check for file permissions and as stated in "man access" (type "man access" in a terminal window), this cmd sometimes does not work properly for certain settings on linux NFS systems. You can do something like this:

    system("stat myfile | egrep Access > /tmp/check")
    inPort=infile("/tmp/check")
    fscanf(inPort "Access: (%d/" permission)
    close(inPort)
    printf("File permission is : %d\n" permission)

    I think there must be a better workaround than this. Maybe Andrew or Lawrence might have a better idea. : )

    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • zhisong
    zhisong over 13 years ago

    Hi Quek,

    You're really a "DaNiu".

    I owe you a lunch. Wish can meet with you while you come to Shanghai next time.

    Jason

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago
    Hi Jason,

    Generally when you are using design management, the view directory itself is still writable, but the files within are not (when checked in). Otherwise the DM system may not be able to alter the contents of the view.

    When you do: ddGetObj(lib cell view)~>isWritable you are retrieving the directory permissions, and so that's going to be writable regardless of whether it's checked in (even on a local disk). Instead do:

    ddGetObj(lib cell view "*")~>isWritable

    Which will give you the permissions of the "master" file (ie the file referenced in the master.tag - the "*" is the magic that does this) - e.g. the layout.cdb or sch.cdb file. This should genuinely be readonly if checked in.

    I've not seen the problem that Quek describes, but it would seem strange because then virtuoso would think it's editable and would then not attempt to check it out (assuming you were looking at the master file)

    Perhaps you can try what I suggest above and let us know how you get on.

    Regards,

    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • zhisong
    zhisong over 13 years ago

    Hi AB,

    You're correct, ddGetObj(lib cell view "*")~>isWritable represent the exact permission of view.

    Thanks a lot

    • 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