Let me be try to be more clear… (This is an entire section of the SpectreRF customer course.)
1.Because you are using harmonic balance, I assume that the circuit is mildly nonlinear. (If it is strongly nonlinear, you must use the shooting engine.) It is always important to give a description of the circuit that you are simulating when posting on the forum).
2.Again, do you need to simulate 50 harmonics of PSS? Typically we recommend that the number of pnoise sidebands be set to the same as the number of harmonics in the PSS HB Choosing Analyses form. You have 50 harmonics set in the PSS and 20 sidebands in Pnoise. Why not use 20 harmonics?
Now, moving on to pnoise….when hb is selected as the engine in the pss form, leave the Maximum sideband field
blank or set it to the same number as the number of harmonics in the HB analysis. This specifies the noise that mixes with all the hb harmonics. (If you specify many harmonics and sidebands…you are going to use more memory. The two are not completely independent). I recommend reading the section on Harmonic Balance Noise Analysis (HBnoise) in the Virtuoso Spectre Circuit Simulator and Accelerated Parallel Simulator RF Analysis User Guide -- Frequency Domain Analyses: Harmonic Balance. It has a nice section that discusses how to set sidebands and harmonics.
So, basically what you want to start with is a reasonable number of harmonics and sidebands, run your pss/pnoise (or hb/hbnoise) analysis. Then, increase your harmonics/sidebands and rerun the simulation if necessary. (Rather than continue to directly quote the documentation further, I’ll direct you to the documentation to read at your leisure).
3.How many nets/nodes are you saving? This is going to impact memory.
4.Post-layout extracted netlists typically take a LOT of memory in simulation, in my experience. Spectre issued the message:
Fatal error found by spectre at freq = 10 MHz during PNoise analysis `pnoise'.
FATAL (CMI-2002): Insufficient memory available. To reduce memory, please refer to "spectre -h memory".
Have you looked at spectre –h memory? And spectre –h rfmemory? And tried the recommended suggestions?
5.This really is a question for Customer Support. They can more easily delve into why you are running out of memory. For example, is your setup ideal for your situation? (I can already tell that it is not). Are you using the proper engine for the job?
The AEs who answer questions on this Forum do this “in addition to their regular job”. If you want detailed assistance and an AE to walk you through the steps, you need to file a Service Request with Customer Support. http://support.cadence.com .
Staff Support AE, Global Customer Support
Cadence Design Systems, Inc.