• 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. Hierarchy tree in SKILL from normal schematic, config based...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 143
  • Views 18615
  • 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

Hierarchy tree in SKILL from normal schematic, config based schematic and layout

skillprogramme
skillprogramme over 12 years ago

Hi!

I am working on some code to return the hierarchy below a given cell, irregardless of the cell being a layout or schematic and irregardless of the eventual schematic being normal or config based. In the solution provided by Cadence (linked at end of post), this is done through GUI forms. I would however like to do everything in SKILL, without any open window sessions (other than CIW). 

In the solution it is checked if the schematic has a config view by calling deGetConfigId with window_id as argument. As I would like to do everything from SKILL, I need some other function to do this. Is it any function that can return if a schematic has a related config?

As well, the solution states that normal schematic (and thus layout) trees (no related config, that is) can be printed in non-GUI mode by invoking CCSschTree directly from CIW. It does not say anything about it being possible to call the config based equivalent CCShdbSchTree from CIW. Would it be possible to do this and if not, why?

Cheers,
Max
 

Related Cadence solution:
https://support.cadence.com/apex/homePage 

  • Cancel
Parents
  • skillUser
    skillUser over 12 years ago

    Hi Max,

    A quick answer to your question "Will consecutive calls to dbOpenCellViewByType with the same arguments leak virtual memory and cause swapping activity over time?" - no, when the same cellview is opened multiple times this is handled efficiently in Virtuoso by increasing a counter for the number of references pointing to the celliew database id.  Each time a reference is closed the counter is reduced by one; when the counter hits 0 the virtual memory is freed. Another efficiency that you may not be aware of is the instHeaders in a cellview virtual memory representation - each instHeader corresponds to a cell that is used in that cellview, whether it is instantiated once or hundreds of times.  Subsequently if you just need to process cells rather than unique instances, you can iterate through the instHeaders (e.g. cv~>instHeaders versus cv~>instances).

    I hope this helps.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • skillUser
    skillUser over 12 years ago

    Hi Max,

    A quick answer to your question "Will consecutive calls to dbOpenCellViewByType with the same arguments leak virtual memory and cause swapping activity over time?" - no, when the same cellview is opened multiple times this is handled efficiently in Virtuoso by increasing a counter for the number of references pointing to the celliew database id.  Each time a reference is closed the counter is reduced by one; when the counter hits 0 the virtual memory is freed. Another efficiency that you may not be aware of is the instHeaders in a cellview virtual memory representation - each instHeader corresponds to a cell that is used in that cellview, whether it is instantiated once or hundreds of times.  Subsequently if you just need to process cells rather than unique instances, you can iterate through the instHeaders (e.g. cv~>instHeaders versus cv~>instances).

    I hope this helps.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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