• 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. Forcing an update of the netlist

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 143
  • Views 15947
  • 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

Forcing an update of the netlist

ChrisEAS
ChrisEAS over 10 years ago

Hi there.

I'm modifying my spectre netlist by setting a custom netlist formatter with the Skill function:

(asiSetNetlistFormatterClass tool 'myFormatter)

When I try to re-netlist afterwards using

(asiNetlist (asiGetCurrentSession))

the response is

The netlist is up to date.

Could you please gimme a hint how to force the netlister to rerun?

Thanks,

Chris

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 10 years ago

    Chris,

    If you were using the OCEAN API instead, you could use createNetlist(?recreateAll t ?display nil)

    Similarly the "sev" API can be used:

    sevNetlistFile(sevSession(hiGetCurrentWindow()) 'recreate)

    but this displays the netlist afterwards.

    The "asi" APIs do this are private, I'm afraid. I'm not sure I can see a massively good reason for it being private though, so I would suggest contacting customer support over this and we can look into reconsidering that (if the AE you speak to needs more information, ask them to contact me).

    Kind Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ChrisEAS
    ChrisEAS over 10 years ago

    Andrew,

    I like the solution using sevNetlistFile(...). Displaying the netlist is no real issue. Using createNetlist(...) also works for me. However, I was wondering if there is another solution which just invalidates/modifies the design, which would force the netlister to run prior to the next simulation? Can I open and save the cellview, for instance?

    Thanks for your suggestions,

    Chris

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

    Chris,

    There is a private API to invalidate the netlist - but this is really for indicating that something needs updating (like model files, analysis statements and so on) - not the design itself.

    You could potentially modify the design (and do an schCheck too), but you'd have to change every cellView in the hierarchy because the incremental netlister only netlists the cellViews that have changed. So I'm not sure that's your best option.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ChrisEAS
    ChrisEAS over 10 years ago

    But shouldn't a a partial re-netlisting invoke the new custom formatter? Or does it cache the netlist string which is written to the netlist file?

    Best,

    Chris

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

    Chris,

    It will only use the new formatter for the cellViews which get re-netlisted. Inside the netlist directory there is an "ihnl" directory which contains the netlists for each cellView separately - it only recreates each cellView's netlist if that cellView has been modified since last netlister (or a force renetlist is enabled), and then it concatenates all these individual netlist pieces together. So if only (say) the top level schematic was modified, it would only renetlist that with the new formatter; all the rest would be whatever was netlisted with the previous formatter.

    It doesn't cache the netlist string - but it does cache each cellView's netlist. The "ihnl" stands for "Incremental Hierarchical NetLister" (or something like that).

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ChrisEAS
    ChrisEAS over 10 years ago

    Alright, thanks for the detailled explanation. So I'll go with one of your suggestions.

    Chris

    • 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