• 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. Sweeping netlist Files (spectre/spice) in the Corners Setup...

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 142
  • Views 1837
  • 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

Sweeping netlist Files (spectre/spice) in the Corners Setup Form

MFahmy
MFahmy over 1 year ago

Hello, 

in the "Virtuoso ADE Assembler User Guide",   Chapter 8 (Working with DSPF Files) highlights a way to sweep DSPF files in the corner setup form, which comes very handy to combine different extracted netlists with specific corner sweeps, 

I am looking for a similar feature but for spectre/spice netlist file to be swept in the corner setup form, I tried the same steps as highlighted for the DSPF files instructions but instead of using the "dspf_include" statement, I used the standard "include" statement, however this did not work as intended, the included file did not have precedence over the defined subckts in the netlist, 

if there is not similar approach where I can sweep netlist files in corner setup, is it safe to use the dspf_include statement as a workaround with spectre/spice netlists ?

or would be there a way to indicate the precedence when redefining the same subckt 

Virtuoso version IC23.1-64b

IC23.1-64b.NYISR5.27

Thanks, 

Fahmy 

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago

    Fahmy,

    The issue is if you have duplicate subckts - which it sounds as if you have both the subckt from the schematic, plus the included subckt via the corners.

    Model files found by corners are always included from the top of the netlist (there is control whether it's before or after the parameters, but it's always at the top) and hence anything netlisted by ADE will appear afterwards. There is a spectre option duplicate_subckt (which defaults to "error") which controls the behaviour, but if it's not producing an error, the last-defined always wins - so this won't help you.

    dspf_include is different, because it can use the terminal order from the subckt definition in the main netlist, but the contents from the included DSPF file - so it replaces the contents of the netlisted subckt with the external DSPF data. There isn't a similar mechanism for standard Spectre included subckts.

    The solution could be to use the hierarchy editor and then mark the blocks you want to include from a model file as "stop points". This means you'll get an instance line but no subckt - and then your subckt can come from your model file inclusion. You need in this case to be careful about the pin order, so you would also need to edit the base CDF (Tools→CDF→Edit) and then ensure that the termOrder in the spectre simulation information matches the order of pins in your external subckt definition.

    Regards,

    Andrew

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • MFahmy
    MFahmy over 1 year ago in reply to Andrew Beckett

    Hi Andrew, 

    Thanks for the prompt reply,

    The solution with the stop points would be challenging to implement as the different sections have include files for different subckts 

    so this would leave me with the dspf_include, do you see any drawback in using dspf_include for standard spectre subckt files ? 

    Thanks, 

    Fahmy

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 1 year ago in reply to MFahmy

    Fahmy,

    Since the included file is not a DSPF file, I'm not sure I'd like to guarantee that this approach would continue to work (it seems to work currently). We did tighten up the strictness of DSPF file support a while back, but given that the file is in Spectre syntax that strict interpretation seems to be ignored right now.

    Since this is undocumented behaviour, I would be cautious. You might want to contact support and request that this is formally documented/supported?

    Andrew

    • Cancel
    • Vote Up +1 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