• 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. SKILL descend into a component sub-circuit schematic

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 144
  • Views 14241
  • 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

SKILL descend into a component sub-circuit schematic

AleksandrV
AleksandrV over 8 years ago

Dear all,

I'm currently working on a impedance matching tool that will be run using Cadence SKILL and OCEAN and have stumbled upon a small problem.

I'd like to do the following:

1) Open an existing schematic that has components inside. Each of the components have sub-circuits inside, but they are not parametric cells.

2) Descend into a particular component and change the value of a component which is inside the sub-circuit parameter.

In other words I have a top level schematic A that has a component B. And I want to access component C parameters which is a sub-circuit inside of a component B in the top level schematic A.

I know how to open a schematic, find and change the parameters of an existing component (in this case it is component "Cpad1" in a schematic "ind_lossy" in a library LIB_NAME):

    cvIdTemp = dbOpenCellViewByType(LIB_NAME "ind_lossy" "schematic")
    dbReopen(cvIdTemp "a") ;to remove locked status of the opened cell view
    
    instanceSelection= dbFindAnyInstByName(cvIdTemp "Cpad1")
    
    instanceSelection~>c = 123e-12
    dbSave(cvIdTemp)
    dbClose(cvIdTemp)

I was wondering - how would one descend into a component sub-circuit schematic and change parameters inside using SKILL, save and close both the sub-circuit and the top schematic?

Thanks,

Aleksandr

  • Cancel
  • Quek
    Quek over 8 years ago

    Hi Aleksandr

    Perhaps you are looking for "dbGetAnyInstSwitchMaster"? Please refer to $CDSHOME/doc/skdfref/skdfref.pdf.

    You can actually just use dbOpenCellViewByType repeatedly too. E.g. if you know that the instances are all using "schematic" views, you can just use this:

    subCell=dbOpenCellViewByType(inst~>libName inst~>cellName "schematic" "" "a")

    It is a very simple method and works well most of the time because most people use "schematic" and "layout" as the actual view names. Once you have obtained the subCell ID using either dbGetAnyInstSwitchMaster or dbOpenCellViewByType, you can repeat the process of dbFindAnyInstByName and then modify the parameters using "instID~>param=123".


    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • AleksandrV
    AleksandrV over 8 years ago
    Hi Quek,

    Thanks for the reply.

    I'll look up the "dbGetAnyInstSwitchMaster", but if repetitive "dbOpenCellViewByType" works as well, I'd rather use that.

    Thanks,
    Aleksandr
    • 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