• 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. Transient simulation taking too much memory

Stats

  • Locked Locked
  • Replies 20
  • Subscribers 126
  • Views 24500
  • 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

Transient simulation taking too much memory

vshssvs7
vshssvs7 over 13 years ago

Sir,

I have to run a transient simulation of a transistor-level Charge Pump PLL. I have noticed that it is taking too much memory. icfb got shutdown by itself with this message at the terminal:

ERROR: Unable to allocate memory for transition file slice variable transition index level (read).

The simulation was not complete and it shutdown in between. The size of tran.tran.trn is around 40 GB.

Note that I have already done this: In Analog Design Environment, Outputs -> Save All, I have checked "selected" option in "select signals to output (save)" and Outputs -> to be saved -> select on schematic and selected few nets that I wanted to save

But even after doing the above, it is still saving every net (because I'm able to plot those nets) which is the reason for such a huge tran.tran.trn file. What more should I do to stop it from saving every net? (and only save the nets that I select) 

 

  • Cancel
  • Tawna
    Tawna over 13 years ago
    Hi vshssvs7,

    Try setting the following environment variable and restart your virtuoso session.

    setenv CDS_AUTO_64BIT ALL

    You can also add this to your .cshrc   (You'll need to source your .cshrc and restart the software as well for it to take effect).

    This is documented in Solution 11715812 (COS) ViVA fails with error "Unable to allocate memory...."

    If this doesn’t help, you need to let us know

    • What output format you are using.  (psfbin, psfxl, sst2, etc.)
    • What subversion of software that you are using.  IC5.1.41 or IC6.1.5, MMSIM11.1, etc.
    • What does your output statement in your netlist look like.

     
    Best regards,
    Tawna
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • vshssvs7
    vshssvs7 over 13 years ago

    Madam,

    1. I use .bashrc to start my cadence. Could you please give the equivalent of that for .bashrc?

    2. My cadence subversion as obtained from typing "spectre -W" in ubuntu terminal is: sub-version 7.2.0.373.isr13

    3. I can increase size of my hard disk to say 1 TB to get rid of "unable to allocate memory..." error, but my doubt is how to stop Virtuoso ADE from saving every net in the transient simulation even after doing the above mentioned steps (as in my previous post)?

    Thanks.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Tawna
    Tawna over 13 years ago
    Hi vshssvs7,

    1. setenv/unsetenv are commands that are built into the csh family

    of shells. Under bash the equivalent built ins are export and unset.  

    For example:

    CSH:  setenv name value

    BASH: export name=value

    CSH:  unsetenv name

    BASH: unset name

    (This was found using a simple Google search.  I personally only use csh.)

    2.  You are using a very old version of Spectre.  I recommend upgrading to MMSIM 11.1.  You can download the latest MMSIM11.1 ISR

    From http://downloads.cadence.com.

    3. What is the output of the command “icms –W”  or “virtuoso –W” ?

    4.  As I mentioned in my previous post:

    What does your output statement in your netlist look like?

    I want to see what information is passed to the simulator from ADE.  That way I can tell if your settings are appropriate.

    5. Technically ubuntu is not supported with Cadence tools.  It may work ok…but there are no guarantees.

    I recommend looking at the following link, which will tell you the platforms and OS that Cadence tools support.

    You must be a Cadence Customer on Maintenance to access Cadence Online Support.

    http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=wp;q=ProductInformation/LifeCycle/platform.html

     

    best regards,

     

    Tawna
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • vshssvs7
    vshssvs7 over 13 years ago

    Respected Madam,

    Thanks for replying. It was already late night when I replied to your last post, so I couldn't reply immediately.

    1. I tried adding "export CDS_AUTO_64BIT ALL" to my .bashrc, sourcing it and then restarting it the cadence, but it didn't work. Still ADE is saving every net.

    2. I'm only a student in the university, so I don't have any admin rights. But I'll inform the authorities here to update the cadence to latest version. But it would take a lot of time.

    3. Output of 'icms -W' -> sub-version 5.10.41_USR6.127.29,  'virtuoso -W' -> virtuoso: command not found

    5. I have tried in debian also, the problem is still there. Currently I can use cadence spectre only in debian or ubuntu.

    4. I didn't understand what is the "output statement" in the netlist. So I'm pasting the netlist here. This nelist doesn't correspond to the one where I got that "Unable to allocate memory..." error. This netlist is of a different circuit generated from Virtuoso ADE after selecting the nets to be saved. I have deliberately removed some lines corresponding to circuit elements since the netlist is large.

     

    // Generated for: spectre

    // Generated on: May 31 13:01:10 2012

    // Design library name: myddp

    // Design cell name: divby2_vco

    // Design view name: schematic

    simulator lang=spectre

    global 0

    include "/cad/tools/cadencetools/IC5141_USR6/tools/dfII/samples/artist/ahdlLib/quantity.spectre"

    include "/cad/library/UMC65/Designkits/Cadence/Models/Spectre/L65LL_V111.lib.scs" section=tt_ll_lvt12

    include "/home/ee07b070/UMC_CAD/cadence.scs"

     

    // Library name: myddp

    // Cell name: divby2_vco

    // View name: schematic

    E0 (net025 gnda clk gnda) vcvs gain=-1.0

    V0 (clkb net025) vsource dc=800.0m type=dc

    V7 (gnda 0) vsource dc=0 type=dc

    V8 (vdd 0) vsource dc=1.2 type=dc

    V6 (clk gnda) vsource type=sine sinedc=400m ampl=400m freq=4.8G

    NM8 (n2 clk n1 gnda) n_12_lllvt l=60n w=5u sa=1.6e-07 sb=1.6e-07 nf=1 \

            mis_flag=1 sd=0 as=800f ad=800f ps=10.32u pd=10.32u sca=5.17799 \

            scb=3.30657m scc=557.825u m=1 mf=1

    simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27 \

        tnom=27 scalem=1.0 scale=1.0 gmin=1e-12 rforce=1 maxnotes=5 maxwarns=5 \

        digits=5 cols=80 pivrel=1e-3 sensfile="../psf/sens.output" \

        checklimitdest=psf 

    tran tran stop=2n errpreset=conservative write="spectre.ic" \

        writefinal="spectre.fc" annotate=status maxiters=5 

    finalTimeOP info what=oppoint where=rawfile

    modelParameter info what=models where=rawfile

    element info what=inst where=rawfile

    outputParameter info what=output where=rawfile

    designParamVals info what=parameters where=rawfile

    primitives info what=primitives where=rawfile

    subckts info what=subckts  where=rawfile

    save n1 

    saveOptions options save=selected currents=nonlinear useprobes=yes 

     

     

    Thanks. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • JustinTaylor86
    JustinTaylor86 over 13 years ago

    Hi,

     

    When you click on "save all" from the "options" menu in the ADE, unclick the selected (referring to your first post)

    Even if you "select on schematic" to save your desired outputs make sure all the selected nodes are turned off.

     

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

    The default in spectre is "selected", so if you uncheck everything on the  "Select signals to output" line, it will be the same as explicitly picking "selected".

    What "selected" does is to only save the nets marked to be saved in the outputs pane - which corresponds to the "save" statements at the bottom of the input.scs. If no nets are saved, it saves all nets (i.e. all voltages). Note it's nothing to do with what is currently selected in the schematic.

    In your case, you have selected currents=nonlinear - which will end up saving a lot of data for all the currents. I'd leave device currents as blank (or selected) - that will make the data set much smaller.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • vshssvs7
    vshssvs7 over 13 years ago
    As pointed by Andrew I found that checking "selected" is same as leaving everything unchecked. Could you please say what do you mean by "turned off"
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 13 years ago

    Did you uncheck the "device currents" on the save all form (you had it set to nonlinear on the excerpt you sent).

    On the case with the real problem, can you maybe post the bottom part of the input.scs (from the simulationOptions line to the end of the file)?

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • vshssvs7
    vshssvs7 over 13 years ago

    Sir,

    As you have seen in my netlist the last but one line is "save n1" which means it should save only net n1, but I found that after the simulation is over, I'm still able to plot other nets which I didn't want it to save. To reduce size of data I would do as you said - uncheck everything in "select device currents (currents)" line. But my question is what are the settings to be done to stop ADE from being able to plot certain nets which are not selected as "saved'. It will be able to plot only if it saves it somewhere which means it occupies data.

    The settings that I mentioned in the first post actually worked in my friend's system. It showed an error when trying to plot the nets which are NOT saved in the outputs pane. I want similar thing. I want it to be able to plot only the nets which are shown as "to be saved" in the outputs pane. I don't know why it's not working in my system even when using the same settings OR am I missing something else? 

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

    Please post the information we've asked for. We ask for it for a good reason, as it helps to understand what is going wrong. I am unaware of the simulating output information when it's been asked to only save a few nets - since you already said that the netlist was not the one you had a problem with, I'd sooner see the real data and then work backwards from that.

    It's hard to know what you're missing if you don't show us what we've asked for...

    Regards,

    Andrew.

    • 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