• 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. DSPF file disregard in extracted simulation

Stats

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

DSPF file disregard in extracted simulation

ZoltanT
ZoltanT over 5 years ago

Hi everybody,

I need some guidelines to debug a dspf related issue. The devices in my dspf file created with Calibre xACT are not recognized by spectre. I've done countless parastiic extraction simulation with this workflow and I do not find where things went wrong or what I did differently. I've run successfully extracted simulations with the given dspf file and it was under version control. There was no change in any Cadence environment I am aware of. I have no clue what went wrong.

Issue: There are "element not found" and "node not found. Net is not expanded" errors in the input.spe.spfrpt file. The log pointed me to this file.

ERROR  (STITCH-0040)(:462) :  Element xbufp.xmn0@4 not found.
ERROR  (STITCH-0000)(:164) :  Node vss not found. Net is not expanded
** In NET "tank_n" (:168) ** :

I got no additional info by enabling info and debug in ADE L's Options->Analog forms.

My questions:

  1. Is it possible to force spectre to use the dspf file as 'the' netlist. So no backannotation, no stitching, just a simulation with a pure netlist without information about the schematic. (Workaround)
  2. How could I debug further what went wrong? How can I check what names does spectre expect? The layout was LVS clean, which is a requirement of a parasitic extraction.

I am using mmsim 19.10.063 on icadv 12.3.

Thanks!
Zoltan

PS:

A slightly related question: Why do I got different printing in the output log when I load the dspf file through ADE L/Simualtion Files/DSPF or with spf="<dspf file>" analysis option?

I have originally included the dspf file through ADE L's Setup/Simulation Files/DSPF section. In the output log it writes the following:

Warning from spectre during circuit read-in.
    WARNING (SFE-2957): No schematic subckt definition is available, spf port order is used.

Later I tried to add the dspf inclusion as an option based on Spectre's User Guide spf="<dspf file path>". In that case a "PARASITIC BACK-ANNOTATION SUMMARY" is shown in the output. Here I see that nodes and instances were not found. My understanding was that the two methods to define a dspf file for stitching is equivalent.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago

    I wouldn't advise using stitching; whilst spectre supports this, we've deemphasised it because it's hard to get stitching complete (as you're seeing).

    The best approach is to specify the DSPF file via the Setup->Simulation Files->DSPF, but to ensure that the config (if using the hierarchy editor) does include the schematic view of the cell you're annotating. The reason being is that then the netlist contains a subckt definition of the block for which you have DSPF, and it then ties up the terminals between the schematic subckt and the terminals of the subckt in the DSPF. This is beneficial because it means that you don't have to worry about the port order in the DSPF - the instance of the block in the netlist will match the order of the terminals in the schematic subckt, but it will actually use the DSPF subckt contents.

    If you use spf= then that's for DSPF stitching, which is not what you want to use here.

    Regards,

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • ZoltanT
    ZoltanT over 5 years ago in reply to Andrew Beckett

    HI Andrew,

    Thanks for your answer. Originally I was using the Setup->Simulation Files->DSPF way, but it did not seem to be effective for the given circuit, since there was no change in the output. I also got the warning

    Warning from spectre during circuit read-in.   
    WARNING (SFE-2957): No schematic subckt definition is available, spf port order is used.

    I've not using the hierarchy editor, but schematic had to be in the switch view list.

    What is the advisable way to set up the extracted netlist for post-layout simulations? Is it the mentioned Setup->Simulation Files->DSPF? In my previous job there were high level wrappers written by the company to set up everything, but now I do not have that luxury and I have to set up everything. I know how to edit the netlist with a text editor to add a parasitic spectre netlist, but there must be a more straightforward way from the graphical interface. The simplest seems to me to create a new, extracted cellview, but I do not know how to create that from the extracted netlist, without creating a new cell.

    In what document can I find more explanation about the different ways and their benefits and drawbacks? In the ADE L User Guide I've only found description how to use the Simulation Files window, but no description about the methods, or what will be exactly done by the simulator in a way what could help me.I would rather consult the documentation than asking in the forum, but often I not able to manage the information by myself.

    Thanks,
    Zoltan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 5 years ago in reply to ZoltanT

    Dear Zoltan,

    To use the DSPF view of a sub circuit, as you discovered,

    1. Select the schematic view in either the Hierarchy editor or in the switch view list of ADE-L

    2. Provide a pointer to the DSPF file in the ADE-L menu item Setup->Simulation Files GUI. In that panel, check the use of the DSPF file and provide the path to the file.

    What this will do is create a schematic view based netlist with an include statement which will provide the path to your DSPF file. Spectre will recognize the DSPF include file and utilize that view in the simulation. (You may want to view the resulting netlist, called input.scs, in the netlist directory just to see this.)

    You could choose a different view than the schematic view in your switch list - but this will only increase the time for netlisting. Hence, choosing the schematic view minimizes the time to create a netlist.

    Does this help at all Zoltan? I hope I understood your questions.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to ShawnLogan

    I suspect the problem you are seeing, Zoltan, is because the subckt name in the netlist doesn't match the subckt name in the DSPF file. Please post the subckt definition of the block (just the lines defining the subckt and ports) from the input.scs, and the subckt definition lines from the DSPF.

    Maybe the Spectre netlister is mapping the name for some reason (maybe it contains an illegal character for spectre?) and it no longer matches the DSPF?

    By default the match is case insensitive (that can be controlled via the options when you do the DSPF include, so maybe you've made it case sensitive?)

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ZoltanT
    ZoltanT over 5 years ago in reply to ShawnLogan

    Hi Shawn,

    Thanks for taking the time to reply, but unfortunately this was the exact flow, what I have used. Disappointed

    Thanks, Zoltan

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to ZoltanT

    Zoltan,

    Please see what I said after Shawn's reply...

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ZoltanT
    ZoltanT over 5 years ago in reply to Andrew Beckett

    Update: I've just rerun the simulation and now the DSPF had an effect. I have to look at it again, but I have no time at the moment. I will let you know when I can reproduce the issue again or if I will have any conclusions.
    -------------------------------

    Hi Andrew,

    At the time I had no access to the design, but I was intended to look into it.

    DSPF definition:

    .subckt vco_core_wo_ind VSS VDD Iref_osc vbp Vtune vbn tank_p tank_n outp outn

    SCS definition:

    subckt vco_core_wo_ind Iref_osc VDD VSS Vtune outn outp tank_n tank_p vbn \
    vbp

    The pins are the same, just in different order, and the only strange character is the underscore.

    • 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