• 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. bsource Interpreted Label cdsParam() display

Stats

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

bsource Interpreted Label cdsParam() display

T Opperman
T Opperman over 10 years ago

I have a subckt model file that instances a bsource capacitor device labelled "c1". From the Results Browser and the ADE "print DC Operating Points" command, I can find the bsource operating point parameters are under "MyCircuitName.NonLinCap.c1". This contains the "cap" parameter which I am looking for.

I would like to display this DC "cap" parameter on the schematic while doing DC design using a cdsParam() label. So I edited the CDF parameters for this device, selected "Operating Point Results" and tried adding a parameter called "cap". When I click on "Annotate->DC Operating Points" in ADE, this device's label shows nothing. I have also tried to specify "c1.cap" under the Edit CDF->cdsParam() form. It does however work when I try to display Instance/CDF parameter, which tells me that there is nothing wrong with my symbol.

Any suggestions and how to display this DC parameter as a label on my schematic? I am currently working on IC614.

Regards,

Tjaart

  • Cancel
  • T Opperman
    T Opperman over 10 years ago

    Update:

    I've tried to play around with the opParamExprList parameter, and I've set up my init file to do the following:

    let((CdfId)
    CdfId = cdfCreateUserCellCDF(ddGetObj("mytechlib" "caplnmos"))
    CdfId->simInfo = cdfGetBaseCellCDF(ddGetObj("mytechlib" "caplnmos"))->simInfo
    CdfId->simInfo->spectre->opParamExprList='(("cap" "OP(mappedRoot(\".c1\") \"cap\")"))
    CdfId->opPointLabelSet = "cap"
    );let

    This however does not seem to work.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • T Opperman
    T Opperman over 10 years ago

    2nd Update:

    Now the above seems to work, after I've cleared the simulation directory. It could be that something I did wrong while fiddling with this prevented the solution from working.

    I hope my journey of posts helps someone someday.

    Regards,

    Tjaart

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

    I didn't see your last post until after I'd put together a small example, which is using precisely the code you provided (I thought it looked OK, I just wanted to check). So in the attached (assuming I can get it to upload), there's a library "mytechlib" with a testbench inside which references the "caplnmos" component (which was copied from cap in analogLib, and then the CDF changed to have a default model of caplnmos). There's an ADE state which you can load an simulate and then annotate the DC operating point.

    If you load "forum.il" (your code) and then do a Simulation->Netlist->Recreate, it should then work. The reason it probably didn't work for you was that you didn't force the netlist to be recreated. The opParamExprList info gets stored in the mapping directories when you netlist, and so if the CDF was changed after netlisting, it won't have an impact unless netlisting is done again (and if nothing changed in the schematic, you'll have to force a netlist change).

    Also, if possible, I'd change the base CDF if you can, because otherwise it will get lost if somebody does a File->Refresh in the CIW (you're only changing the user CDF in your code).

    bsource_opParam.zip

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • T Opperman
    T Opperman over 10 years ago

    Thanks a lot Andrew.

    I did manage to get hold of your upload.

    You are right about File->Refresh in the CIW that refreshes the base CDF. Would there be a way to safely attach a callback to the ddsHiRefresh() command? Most of the time I cannot open techfile cells in write mode.

    Kind Regards,

    Tjaart

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

    Hi Tjaart,

    No, there's no callback for this. The only option would be to replace the menu item in the CIW (and in the library manager), and that of course assumes that somebody doesn't call the SKILL function directly.

    Regards,

    Andrew.

    • 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