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)
Customer Support Director - Analog/Mixed-Signal/RF AEs
Cadence Design Systems, Inc.
In reply to Tawna:
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:
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)?
In reply to vshssvs7:
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
include "/cad/library/UMC65/Designkits/Cadence/Models/Spectre/L65LL_V111.lib.scs" section=tt_ll_lvt12
// 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" \
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
saveOptions options save=selected currents=nonlinear useprobes=yes
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.
In reply to JustinTaylor86:
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.
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)?
In reply to Andrew Beckett:
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?
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...
Sorry sir, I posted that message before I saw your reply.
I (re)started the simulation again yesterday itself with strobe period as 10n in transient analysis options to reduce the data. The simulation is going on currently. I'm not sure what I checked/unchecked in 'save device currents' line when the problem occured (first time simulation). But currently input.scs file is as follows:
simulatorOptions options reltol=1e-3 vabstol=1e-6 iabstol=1e-12 temp=27.0 \
tranCheckLimit checklimit checkallasserts=yes severity=none
tran tran stop=30u errpreset=moderate write="spectre.ic" \
writefinal="spectre.fc" annotate=status save=selected strobeperiod=10n \
asserts info what=assert where=rawfile
saveOptions options save=none pwr=none useprobes=no
Here you have chosen the signals to be output as "none". You really don't want that, because that will save only a single (arbitrarily chosen) signal - it was a historical limitation in spectre that it was hard to turn off the outputs completely, so "none" just picks one at random to get the results small.
You want "selected".
It should only be saving vctl then.
Sir, even though it should save only 'vctl', I'm still able to plot other nets (Results -> Direct plot -> transient signal). Why is that so? (If it didn't save other nets, how is it able to plot them?) I hope you understood my doubt.
Please note that Cadence AEs respond to questions on this forum often "off hours" and/or in addition to their "regular duties".
If this is a critical issue and you need immediate attention, please talk to your University staff and see how to file a Service Request at http://support.cadence.com . (There are specific instructions for university accounts).
I cannot reproduce what you are seeing in MMSIM 11.1 and IC 6.1.5 latest ISR.
If I only save one net. (save=selected) and
1. Select Results->Direct Plot->Transient Signal and click on an unsaved net, I get a message in the CIW:
*Warning* no "VT" data for node "/net8"
2. If I do not have any signal in the outputs pane selected for plotting, then I cannot use Results->Plot Outputs->Transient.
If I only have one signal selected in the Outputs pane, then I can only plot that signal.
ERROR: /net8 is not a kept output