• 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. RF Design
  3. Insufficient memory in PNOISE simulation

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 63
  • Views 16896
  • 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

Insufficient memory in PNOISE simulation

Massoud THDN
Massoud THDN over 13 years ago
I'm trying to do phase noise analysis with PSS HB and PNOISE for post layout extracted netlist. I got the following error:
 

Mem Used: 12813.8 MB (Memory Exhausted)
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".

 

However, I have near 45GB free memory! Why PNOISE cannot use all the available memory? How can I reduce required memory?

I have already reduced parasitics in my netlist and by reducing more I will loose accuracy.

I'm Using Cadence 6.1.5 and MMSIM 10.11. I have enabled 64bits.

Here is my Circuit inventory:
              nodes 131756
              bsim4 1724 
          bsource_1 141  
          bsource_2 282  
          bsource_3 30   
          bsource_4 30   
          bsource_5 2    
          bsource_6 8    
          bsource_7 4    
          bsource_8 4    
          bsource_9 1    
          capacitor 1313 
              diode 35   
           inductor 322  
            isource 2    
    mutual_inductor 8    
           resistor 203266
            vsource 6 

 

 analysis('pss ?engine "Harmonic Balance"  ?flexbalance "yes"  ?oversamplefactor ""  
        ?fund "5G"  ?harms "50"  ?errpreset "conservative"  ?tstab "20n"  
        ?oscana t  ?p "/outn"  ?n "/outp"  ?oscmethod ""  
        ?step ""  ?write ""  ?writefinal ""  ?swapfile ""  
        ?checkpss ""  ?ppv ""  ?backtracking ""  )
analysis('pnoise ?sweeptype "relative"  ?relharmnum "1"  ?start "10M"  
        ?stop "100M"  ?dec "5"  ?maxsideband "20"  ?p "/b_outp"  
        ?n "/b_outn"  ?oprobe ""  ?iprobe ""  ?refsideband ""  
        ?solver "turbo"  ?oscsolver "turbo"  ?augmented ""  ?annotate "steps"  
        ?ppv ""  )

envOption(
    'cmd64bit  t
    'analysisOrder  list("pss" "pnoise")
)
option( ?categ 'turboOpts
    'numThreads  "5"
    'uniMode  "APS"
)

  • Cancel
Parents
  • Tawna
    Tawna over 13 years ago

    Hi Massoud,

    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.

    http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=pubs;q=/spectreRF/spectreRF11.1/Chap3.html

    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 .

    Best regards,

    Tawna

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

    Hi Massoud,

    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.

    http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:DocumentViewer;src=pubs;q=/spectreRF/spectreRF11.1/Chap3.html

    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 .

    Best regards,

    Tawna

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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