• 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. Any API in SKILL or other language to extract the connectivity...

Stats

  • Replies 2
  • Subscribers 148
  • Views 100
  • Members are here 0

Any API in SKILL or other language to extract the connectivity from input.scs netlist or spectre results database?

marcelpreda
marcelpreda 7 hours ago

Hi,

The use case:
- we run a simulation
- some instance may be reported with problems (warnings in the spectre.out)
- we  extract those instances from spectre out, we know the hierarchical name  of the instance e.g. "I1.I_abc.M1"  (could be any type: M, R, C, D, X, ...) 

What we need:
For such instances a script to extract from input.scs (or from results database - in general psf/psfxl format) the pins of the instance, and where they are connected - the hierarchical name of the nets.
E.g. for an M  device like above ("I1.I_abc.M1") should be something like this:
g: I1.I_abc.net01
d: I1.I_abc.net02
s: vss
b: vss


Later we want to postprocess the waveforms , e.g. to analyze the V(g-s).
- Skill or any language is just fine.
- directly from input.scs or from results database (some spectre switches?? ) is also fine.

Thank you,

Marcel

  • Cancel
  • Sign in to reply
Parents
  • Andrew Beckett
    Andrew Beckett 6 hours ago

    Marcel,

    You can get spectre to write out the mapping. It is not something you can get in a binary database, but if you add this entry on the Outputs->Save All form:

    which corresponds to:

    nodes info what=nodes where=file

    (you can specify the file of course; note that rawfile is not supported for this), then you get:

    *****************************
    Terminal to node map `nodes':
    *****************************
    
    
    bsim4: I0.I0.M0 of g45n2svt
              d : I0.SP
              g : I0.I0.M0.n1
              s : I0.net12
              b : vssa!
    
    bsim4: I0.I0.M1 of g45p2svt
              d : I0.net12
              g : I0.I0.M1.n1
              s : I0.SP
              b : vdda!
    
    bsim4: I0.I0.M2 of g45p2svt
              d : I0.I0.net5
              g : I0.I0.M2.n1
              s : vdda!
              b : vdda!
    
    bsim4: I0.I0.M3 of g45n2svt
              d : I0.I0.net5
              g : I0.I0.M3.n1
              s : vssa!
              b : vssa!
    
    bsim4: I0.I1.M0 of g45n2svt
              d : I0.SN
              g : I0.I1.M0.n1
              s : I0.net11
              b : vssa!
    
    bsim4: I0.I1.M1 of g45p2svt
              d : I0.net11
              g : I0.I1.M1.n1
              s : I0.SN
              b : vdda!

    That would be fairly easy to parse. The terminals info result contains the same info but the other way around - for each net it tells you the instances/terminals which are connected.

    The other way would be to take the instance name you've found, convert to a schematic name, traverse the hierarchy (potentially complicated if there's a config involved) find the instance and then find the instTerms and construct the hierarchical net names which are attached. That's a lot more work! 

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • marcelpreda
    marcelpreda 5 hours ago in reply to Andrew Beckett

    Hi Andrew,

    Thanks a lot for fast reply.
    This  is exactly what we need.

    Regarding the other solution netlist_name -> schematic_name -> traverse_hier , this is what we actually have now.
    But, it is slow on big designs , and we faced the problems with the config views.

    Thank you,
    Marcel

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • marcelpreda
    marcelpreda 5 hours ago in reply to Andrew Beckett

    Hi Andrew,

    Thanks a lot for fast reply.
    This  is exactly what we need.

    Regarding the other solution netlist_name -> schematic_name -> traverse_hier , this is what we actually have now.
    But, it is slow on big designs , and we faced the problems with the config views.

    Thank you,
    Marcel

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data

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.

© 2026 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information