• 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. Memory only scratch view

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 14161
  • 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

Memory only scratch view

theopaone
theopaone over 9 years ago

Has a memory only scratch view ever been implemented in Virtuoso or do we still have to have a writable library to create one?

Previous post from about 6 years ago

http://community.cadence.com/cadence_technology_forums/f/48/t/14177

Ted

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi Ted,

    Yes, but there are no public APIs for it because not everything is guaranteed to work with them. They are currently reserved for specific internal Cadence applications where we know that the usage is limited to features that will work (e.g. transient rulers in the layout editor).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • theopaone
    theopaone over 9 years ago

    Thanks, Andrew

    I was trying not to have to create a new temporary scratch library as the design library may not be writable.

    I want to represent nested shapes found with dbGetTrueOverlaps as top level shapes but not put them in the current cellView where they would have to be deleted after they have served their purpose.

    There seems to be a way to create an extension to a library in the cds.lib which uses the assign keyword:

    ASSIGN <libName> TMP </tempDirectory>

    The documentation says that this can be used by applications for derived data such as derived cellViews. How does one create a cellView which is guaranteed to be be in this temp directory which would be writable?

    Thanks

    Ted

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

    Hi Ted,

    Unfortunately, that's not really what ASSIGN TMP is for. It's for adding auxiliary data (such as AMS cell-based netlists, NCSIM compilation results etc) - not for whole new cellViews. So I believe that if you create the cellView, it would still create it in the main library (or attempt to, at least).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • theopaone
    theopaone over 9 years ago

    Thanks Andrew

    The documentation was talking about views and I was just trying to keep from having to create a new library.

    For those who are interested in using scratch cell architecture, here is what I am implementing:

    I will set it up when the "UseScratchLib.ils" package is loaded by a libInit so it will create a new scratch library in the user's temp directory.

    The pointers to the library and any open cellViews will be kept as private variables in a closure. The code must check for valid library and cellView when creating/accessing data.

    Data will be copied into the scratch cellView and out back into the live cellView as necessary.

    The scratch library will be deleted when Virtuoso is exited. It will be removed from the cds.lib file as well.

    This should work even in non graphics mode or when translating to GDS2.

    Ted

    • 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