• 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. Term Order setup for spice reference files

Stats

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

Term Order setup for spice reference files

AncisMichele
AncisMichele over 3 years ago

Hi,

I have a simple spice netlist I'd like to use in my simulation. I've copied this cell from another project where I actually created it and used without issues, although I do not remember the steps involved Disappointed

For some reason I don't yet understand, however, the TermOrder the netlister uses this time, in the new environment, is wrong with respect to that in the SPICE file, resulting in garbage outputs of course.

I then thought: OK, le'ts just change the termOrder property from the CDF of the cell.

First thing, although this is MY cell, just created, I can't edit BASE properties. This is what I get when I select 'base' from the radio buttons

Maybe this is perfectly normal? I'll have to re-read the manual as I vaguely remember that the 'base' view was holy somehow, but still I guess this might be the origin of my issue.

I then select 'user'  level and change (reorder) the pin sequence, then click 'Apply'.

Here the fun starts. I launch a simulation from my ADE Assembler maestro view. From the output log, I quickly click on the 'input.scs' link available at the very top, and check that the order is the one I need to use.

All seems correct and fine, I'm happy.

Then, the simulation finishes and... My outputs are wrong! OK, I then re-do the input.scs clicking, check the netlist, and find the pins have been wrongly connected!!!

I have no idea how this is possible and it is probably a study topic in itself but, to be more practical: how can I change the port order to match the spice netlist for good??

UPDATE : I just noticed that the first input.scs which has proper term order is a file in a maestro/tmpADEDir_xxx/... directory, while the one you reach from RMB --> Netlist or from the link in RMB --> output Log actually points to a different directory, namely maestro/Interactive.N/...

Still, I don't know why these two files differ, i.e. what's the intervening process between them.

Anyhow, I will now just swap the pins in the spice netlist, to be able to simulate: it's just a text file, easy. But I would like to understand what is that I'm doing wrong.

Thanks & regards,

Michele

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    Michele,

    All that "base" means is that it's saved to disk. If you edit the "effective" or "user" CDF, it is only making the change in memory. The issue is that often netlisting is done in the background with ADE (particularly if you run more than one simulation) and so whilst if you do right mouse->Netlist->Create over the test (which will use the in-memory CDF) the actual simulation will netlist in a background process which would re-read from disk.

    A cleaner way is to create a spice or a spectre text view and then paste in the model code and it will then extract the terminal order and update view-specific CDF to netlist with the right order. This needs write access to the cell of course, but it means everything is self-contained. If you can't do that, then you'd have to just set the component to have a stopping view and ensure that the termOrder in the CDF is correct and matches your external file, but you will have to fix the base CDF (which needs write access to the cell's property bag, the data.dm at the cell level).

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • AncisMichele
    AncisMichele over 3 years ago in reply to Andrew Beckett

    UPDATE

    After understanding that the <data.dm> file was read-only and changing its mode, I was able to change the pin order in the Base layer.

    This notwithstanding, the actually simulated netlist is still wrong!!!

    Also, I keep having TWO different netlists. Let me explain how I get to them.

    First, I'm using (for the first time, normally I used ADE XL) ADE Assembler.

    I have ONE test and ONE corner (nominal), no fancy stuff right now.

    After changing the CDF and clicking OK (I do not get the warnings shown in my first post now, as the file is accessible/writable), I head to Assembler and hit the green play button.

    An <output log> appears briefly thereafter. There, in the first lines, is a link to an <input.scs> file. The actual file is in an ADEtmpxxx kind of directory.

    This netlist is correct.

    After the simulation, when I see that some results are garbled - which means the block with the netlist description was misconnected - I RMB on the 'nominal' results column and choose 'netlist'

    This netlist is wrong.

    Also, they are two different files as the latter resides in a 'proper' ...maestro/Interactive.N/... directory

    How is this possible? The Base CDF is now correct, there is no User layer for the TermOrder and the Effective is again the same as Base.

    I've checked and the data.dm has been changed on disk.

    What is going on?

    Also, it is really puzzling that you get directed to two different netlists when you are starting a simulation, and when you're finished. The output log gets also switfly changed (in particular, the input.scs link).

    --- OLD REPLY ---

    Thanks Andrew,

    I could not indeed understand why I wasn't able to change the base layer of the CDF... After reading your reply, I checked and it turns out the data.dm was read-only on disk!.

    Probably when I copied I did not pay attention to that :-/

    I should have mentioned I'm managing this resource via config, as I have a bunch of other views that are not "schematic" in the design. I've ran the simulations after changing the original order in the spice file, but now I'm going to reverse it and change the CDF (so it's compatible with a similar cell in another project that refers to the same file).

    Thanks for the tip about the spectre view directly in the cell folder, I remembered doing it in the past but wasn't able yesterday to find back the "tutorial" here on your website.

    I preferred linking to the file because I did not want to spread file copies around.

    Regards,

    Michele

    • 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