The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Jul 19th, 2024, 8:35am
Pages: 1
Send Topic Print
spectre noise simulation: insufficient memory to continue? (Read 5406 times)
subgold
Community Member
***
Offline



Posts: 97

spectre noise simulation: insufficient memory to continue?
Mar 3rd, 2010, 2:11am
 
hi virtuosos,

when i run a cross-corner noise simulation (just ac, not pss) in spectre, sometimes the simulator gets interrupted and the whole cadence session is terminated. the error message is:

Insufficient memory to continue.
Cannot satisfy request for 12 more bytes of memory.
Terminating process.
malloc: Cannot allocate memory

this situation happens when the circuit is complex, which has a large set of nodes in the netlist. and I found out that actually all the corner simulations are complete, the session crashes only when calculating/plotting the results.

i guess the noise simulation calculates the noise contribution from each node and fails to obtain sufficient memory to complete this calculation. but how can i avoid this problem to see the results? any suggestions?

thank you very much.
Back to top
 
« Last Edit: Mar 03rd, 2010, 5:13am by subgold »  
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1742
Bracknell, UK
Re: spectre noise simulation: insufficient memory to continue?
Reply #1 - Mar 4th, 2010, 5:10am
 
What version of the simulator and environment are you using (spectre will report this in the log file, and for the environment you can do Help->About in the CIW)?

What's the circuit inventory - how large is the design?

Anyway, a simple approach might be to:

a) not turn on subcktprobelvl (I think this is just for older releases) - saving lots of currents in older spectre releases can be expensive as it adds many iprobes to the inventory and makes the matrix larger
b) Run spectre in 64 bit mode. Do (in a terminal) "setenv CDS_AUTO_64BIT spectre" or specify "-64" on the usrCommandLineOption field in Setup->Environment in ADE.

How are you running the corners? Is this via ADE->Tools->Corners?

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
subgold
Community Member
***
Offline



Posts: 97

Re: spectre noise simulation: insufficient memory to continue?
Reply #2 - Mar 5th, 2010, 1:54am
 
hi andrew,

thanks for your input.

Quote:
What version of the simulator and environment are you using (spectre will report this in the log file, and for the environment you can do Help->About in the CIW)?


it is front to back design environment 5.10.41.


Quote:
What's the circuit inventory - how large is the design?

the inventory is:
nodes 1141
bsim3v3 2550  
capacitor 8050  
diode 3867  
isource 2    
quantity 9    
resistor 2    
switch 3    
transformer 6    
vsource 20

i am not sure if it is considered to be large, but the issue doesn't happen for a simpler circuit, so i assume at least it is large enough to trigger the problem.

Quote:
Anyway, a simple approach might be to:

a) not turn on subcktprobelvl (I think this is just for older releases) - saving lots of currents in older spectre releases can be expensive as it adds many iprobes to the inventory and makes the matrix larger


i am aware of the problem and already de-save all the currents

Quote:
b) Run spectre in 64 bit mode. Do (in a terminal) "setenv CDS_AUTO_64BIT spectre" or specify "-64" on the usrCommandLineOption field in Setup->Environment in ADE.


unfortunately this doesn't work either.
now it reports

"Cannot satisfy request for 60 more bytes of memory"
instead of
"Cannot satisfy request for 12 more bytes of memory"

Quote:
How are you running the corners? Is this via ADE->Tools->Corners?


yes.
Back to top
 
 
View Profile   IP Logged
Andrew Beckett
Senior Fellow
******
Offline

Life, don't talk to
me about Life...

Posts: 1742
Bracknell, UK
Re: spectre noise simulation: insufficient memory to continue?
Reply #3 - Mar 5th, 2010, 2:02am
 
If you're using such an old version of spectre, then 64 bit won't help, because it did not exist in IC5141. You have to be using a version of spectre from an MMSIM stream. MMSIM60 was released in 2004 - so it has long been separate from IC5141 - since then there have been MMSIM61, MMSIM62, MMSIM70, MMSIM71 and MMSIM72. I explained in your  other post about the fact that spectre is still in IC5141 for legacy reasons.

So first thing I would do is use spectre from an MMSIM stream (e.g. MMSIM72 is the most recent) and see if the problem still occurs.

Regards,

Andrew.
Back to top
 
 
View Profile WWW   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.