• 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. Accessing child instances of schematic instances in Vir...

Stats

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

Accessing child instances of schematic instances in Virtuoso

MatthewLove
MatthewLove over 6 years ago

Hi,

I can use dbFindAnyInstByName to access database objects in Virtuoso's schematic editor.

If the instance has instances within it, do you know how I can access their database objects too?

I can't seem to descend through the hierarchy, or so to speak.

  • Cancel
  • mbracht
    mbracht over 6 years ago

    Well once you have the instance returned by dbFindAnyInstByName(..) you can get at its master cell using the master attribute

    masterCv = dbFindAnyInstByName((geGetWindowCellView),<instName>)~>master

    So now you can use again the '~>' operator to get at all cellView aatributes (and user defined properties) in tehy master cell, for example masterCv~>instances

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • MatthewLove
    MatthewLove over 6 years ago in reply to mbracht

    Thanks for the reply.

    I did try that but the instances attribute is nil despite the instance containing a number of sub-instances.

    It seems to be accessing the instance symbol rather than the symbol itself as the master contains the following info:

    cell dd:0x225900f8 cellViewType "schematicSymbol" cellType "none"

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • mbracht
    mbracht over 6 years ago in reply to MatthewLove

    oops - I missed that this is a schematic. Well then you need to go like this:

    symbolMaster = dbFindAnyInstByName((geGetWindowCellView),<instName>)~>master
    schMaster = dbOpenCellViewByType(symbolMaster~>libName symbolMaster~>cellName <schematicViewName>)

    ...which in turn raises the question how do you get at the name of the corresponding schematic. Well it depends, if you have a config view defined you need to get the information from there, if not the view list (which you can see in the Editor Options) is available in a SKILL variable by the name of viewNameList:

    (envGetVal "schematic" "viewNameList" )

    Max

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago in reply to mbracht

    A few additions to what Max said.

    • The viewNameList env var is just what the schematic editor uses by default when you descend edit (unless a config is used), but what is most suitable as your switch list will depend on the application (each netlister typically has its own switch view list, for example).
    • You may also find dbGetAnyInstSwitchMaster useful to find the view to switch into
    • If you need to traverse using a config (which is reasonably complicated, to be honest), you may find <ICinstDir>/tools/hdb/examples/hdbTraverse.il a useful starting point

    Regards,

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • MatthewLove
    MatthewLove over 6 years ago in reply to mbracht

    Ah right, thanks for the solution!

    • 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