• 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 Design
  3. How to access subckt parameters in sim results?

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 125
  • Views 11789
  • 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

How to access subckt parameters in sim results?

drdanmc
drdanmc over 4 years ago

Is there some particular magic to access a subckt level parameter in the simulation results?  For example:

subckt mycell (OUT)

  parameters VDD=1.8

  V0 (OUT 0)  vsource type=dc dc=VDD

ends mycell

I0 (1 0) mycell

I1 (1 0) mycell VDD=1.5

How can I figure out the value of the VDD parameter either as a "mycell" default, or preferably as an I0 and I1 instance level value?  I see in subckts.info.subckts  that the parameter *names* are in the PSF file.

TYPE
"subckt" STRUCT(
"subckt_params" STRING *
"subckt_terminals" STRING *
"subckt_instances" STRING *
) PROP(
"key" "sub"
)

but I don't see the *values*.   I'm assuming step 1 is I need to figure out the appropriate save option in ADE to get the appropriate save options into spectre.  Then I need to figure out how to access in ADE/Ocean.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago

    On the Outputs->Save All form in ADE (mind gone blank - might be Save Options), add a new row for another “info” analysis with “what” set to “allparameters”, name can be what you like and the output should be to rawfile. In this database that results you’ll get the hierarchical path to each parameter - I think exactly what you want. 

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • drdanmc
    drdanmc over 4 years ago in reply to Andrew Beckett

    Thanks!   In ADE Explorer it was under Outputs->Save All... to open the Save Options dialog and then:

    That produced the following in the spectre netlist:

    info info what=allparameters where=rawfile
    saveOptions options save=allpub

    and, it works as long as there are no string parameters.  If there are string parameters, then depending on the `-format` option on the spectre command line you get crashes.  That is in the psfxl output.  psfascii works.  I'll submit a short test case to customer support.  NOTE:  You can have string parameters no matter the format as long as you don't try to include

    info info what=allparameters where=rawfile

    Fatal error found by spectre during info `allParams'.
        FATAL (SPECTRE-7035): unexpected variable length data type: Error detected in psf library while writing to file `allParams.info.allparameters'.
        FATAL (SPECTRE-7035): unexpected variable length data type: Error detected in psf library while writing to file `allParams.info.allparameters'.
        FATAL (SPECTRE-7035): unexpected variable length data type: Error detected in psf library while writing to file `allParams.info.allparameters'.
        FATAL (SPECTRE-7035): unexpected variable length data type: Error detected in psf library while writing to file `allParams.info.allparameters'.

    -Dan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 4 years ago in reply to drdanmc

    Dan,

    Ah, yes. The data is actually in psfbin format (even if you pick psfxl), and I see that it does suffer from this. I'd not checked it with string parameters... I didn't find any reports on this either, so I suspect that it's not common for people to enable saving of what=allparameters or if they do, they don't have any string parameters.

    If you can let me know the case number after filing it, I'd like to follow it and chat with R&D about it too.

    Thanks,

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • drdanmc
    drdanmc over 4 years ago in reply to Andrew Beckett

    case 46505710

    I included a couple of short netlists as well as well as a wrapper script to run through the various cases.  It would actually be nice to have a depth limit on that too.  In my particular case I really only wanted to find the parameters just 1 level down.

    Thanks!

    • 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