• 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 to run PSS analysis - how to resolve...

Stats

  • Locked Locked
  • Replies 16
  • Subscribers 63
  • Views 11606
  • 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 to run PSS analysis - how to resolve?

apaj
apaj over 11 years ago

Hello.

I did see that there are three recent threads with very similar titles, but - unfortunately, with completely different problems described.

I use up-to-date MMSIM and IC5 (2012_2013 package installed on a 32 bit machine) and I have given a swap file to the PSS analysis. I am trying to get IIP3 post-layout simulation to run for my circuit (QRC used for extraction). I want it measured at 8 and 9 GHz with 200 MHz harmonics. I do only 6 steps for signals of power in the range of -20:5 dBm.

Nevertheless, the simulation breaks telling me - insufficient memory. During the simulation, it doesn't really use the file I gave it (<path>/Desktop/pss_swap - it's always 0 bytes). What it actually does is that it creates about twenty files called pss_swap_0, pss_swap_1, and so on, each of them about 1.2 GB. And it does this for every point of calculation.

Now, my question is, is it possible (and how?) to overcome this? If I choose a higher limit for extraction my S-parameters change, so I can not go higher on this. Less than 6 points... does it really make sense? Number of harmonics must remain the same since I need it calculated at certain frequencies. 

Do you have any suggestions how to get this done?

Thank you very much for your time and effort.

  • Cancel
  • Tawna
    Tawna over 11 years ago

    Hi apaj,

     

    This is a very quick reply, as I don't have time to delve into this....

     You may want to contact Customer Support for additional assistance.

    • If you are using s-parameters, use the harmonic balance engine, rather than the shooting Newton engine.  HB is much better suited to simulate s-parameters.
    • If you can, use 64 bit spectre (I assume you have access to a machine that can run 64 bit spectre). 

     

    A 64-bit version of Spectre has been developed to handle large circuits that fail to simulate because of their size with the current 32-bit Spectre. By default, 32 bit spectre is used.

    To use 64 bit spectre, you can either:

    - set the following variable:

    setenv CDS_AUTO_64BIT spectre

    - pass "-64" as a command line option to spectre

    To test what version of Spectre is being used, you can use the following:

    % spectre -debug3264 -V

     

    best regards,

    Tawna

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Tawna
    Tawna over 11 years ago

    Another thing....it's important to give us the subversion of code that you are using.

    e.g.  type in an xterm:

    spectre -W

    virtuoso -W (if using IC6.1.X)

    icfb -W (if using IC5.1.41)

    There are a lot of great improvements to the nport.   Please see:

    MMSIM 12.1 SpectreRF -- Preview of Coming nport Attractions!

    /blogs/rf/archive/2012/11/19/spectre-rf-mmsim-12-1-preview-of-coming-attractions.aspx?postID=1315078

     

    Best regards,

    Tawna

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • apaj
    apaj over 11 years ago

    Thank you very much for your time and advices.

    For now, I am unable to transfer to a 64 bit OS, so I will try the first option you mentioned. Here are the sub-versions:

    icfb --- 5.10.41.500.6.151 and

    spectre --- 5.10.41.121508.

    When usinh Shooting Engine, in Options, there was box to give a swap file... After selecting Harmonic Balance engine, I go to options and swap file option does not exist... So my simulation crashes right in the beginning. 

    Is there a way to define a swap file for HB engine?

    Thank you.

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

    Harmonic Balance wasn't supported until MMSIM61 (from memory), so you can't be using the version of spectre that you're saying.

    There is no "swapfile" argument for HB (it wouldn't make any sense to provide this, as the algorithm isn't really amenable to being able to take advantage of it).

    It would be useful to know how you have your tones set up - maybe you can post the analysis statements from the bottom of the netlist, and maybe also any sources/ports that you have in your netlist - or just a picture of the PSS form (use the Options tab at the top of the forum web page when posting to add a screenshot as an attachment)

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • apaj
    apaj over 11 years ago

    Thank you very  much for your time and effort.

    Please find attached a screenshot in which ADE, PSS analysis and input port properties windows are shown. If I can provide any more information in order to enable you better understanding of my problem, please let me know.

    As far as MMSIM is considered, that is the output I get when typing spectre -W in my terminal. The version I downloaded and installed was from 2012_2013 32 bit package: MMSIM_11.10.509.

    Best regards.

     

    • Screenshott.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago
    First of all, doing multi tone simulation with harmonic balance in PSS is almost never a good idea. You can do that with shooting, because simulating a common period in the time domain will capture both frequencies and their harmonics - for hb you only get a solution including the harmonics you asked for. So in this case you'd have to simulate (say) 123 harmonics to include the effects of the third harmonic of the rf inputs, and that would be even higher with a closer spacing between the two tones.

    Instead you should use the qpss analysis in harmonic balance mode or the hb analysis with two tones (they do the same thing; two alternative interfaces to the same analysis). Then you can separately specify the number of harmonics of each tone (say 3 of each).

    Whether you will still have memory problems I can't say without seeing the &quot;circuit inventory&quot; part of the log file which will give an indication of the size of the circuit. Can you share that?

    Also, make sure you show the spectre version number shown in the log file - it is a bit strange that the terminal shows an IC5141 version of spectre.

    Regards,
    Andrew
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • apaj
    apaj over 11 years ago

    First of all, I apologize for a delayed answer - I was out of office for a couple of days.

    Thank you very much for your advices and explanations. I tried to follow your instructions on running the qpss HB analysis - with the same output: Insuficient memory.

    What I am working on is a purely academic project, so I don't have a problem sharing the log files - I just want to have it running.

    Here is the line about the software version:

    spectre (ver. 5.10.41.121508 -- 15 Dec 2008).

    Here are some warning that might be interesting, and I couldn't get the hang of them:

    qpss: `flexbalance' is not a valid parameter for an instance of `qpss'.
            Ignored.
    qpss: `oversample' is not a valid parameter for an instance of `qpss'.
            Ignored.

    Namely, for some reason it doesn't like the oversample to be 1 - and I read here that it should be 1... Flexbalance, I couldn't find - what is it?

    Here is the circuit inventory:

    nodes 247224
    equations 247257
    ahdl simulator 1    
    bsim3v3 8    
    capacitor 100526
    diode 52   
    inductor 12   
    port 2    
    resistor 310279
    respoly_va 8    
    vsource 3  

    This number of almost 250k  equations looks really scary... But, as I mentioned a couple of posts ago, it's what I get after QRC extraction. I tried sett ing the parasitics limit to higher values (so I have less parasitics) but then the results start to change and look much better than when all of the small ones are included. So, I guess I don't have a choice here, it must be this much... Right?

    Also, please find attached the screenshot of my qpss analysis. Am I doig it the right way?

    Thank you very much for you effort.

    • Screenshot-Untitled Window.png
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 11 years ago

    You clearly have the wrong version of spectre (an old one) in your UNIX path. Spectre (back in IC5141) used to be in the IC stream when IC5141 was released in 2004. Late in 2004, a new MMSIM stream was created and there have been 10 major releases of MMSIM since it was launched 10 years ago... you're using a hotfix of IC5141 which is before Harmonic Balance (which used to be known as Flexible Balance in spectre) was launched, which was in MMSIM61 (ish) time frame.

    Generally the "Harmonic Balance" options shouldn't show up on the QPSS or PSS forms unless you have a version of the simulator which supports this in your UNIX path. My guess is that for some reason you have the "SPECTRE_FEATURE_FILE" UNIX env var set (which you should NOT do) which is pointing at a feature file (which is a little database indicating what features a release of spectre supports, so that the ADE UI can adapt accordingly) from a newer release.

    So, to get this to work, make sure that you don't have SPECTRE_FEATURE_FILE set, and ensure that $PATH includes (at the beginning) <MMSIMinstDir>/tools/bin before you start icfb.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • apaj
    apaj over 11 years ago

    Once again, thank you very much.

    Issuing the command printenv, I find that no SPECTR_FEATURE_FILE variable is set and that $PATH includes the path to <mmsim_install_dir>/tools/bin. Here are some pieces of the printenv output:

    QRC_HOME=/cadence/2012_2013/pve
    MMSIM_DIR=/cadence/2012_2013/mmsim
    PATH=/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/<user>/bin:/cadence/2012_2013/ic5/bin:/cadence/2012_2013/ic5/tools/bin:/cadence/2012_2013/ic5/tools/dfII/bin:/cadence/2012_2013/mmsim/bin:/cadence/2012_2013/mmsim/tools/bin:/cadence/2012_2013/mmsim/tools/dfII/bin:/cadence/2012_2013/assura/bin:/cadence/2012_2013/assura/tools/bin:/cadence/2012_2013/assura/tools/dfII/bin:/cadence/2012_2013/pve/bin:/cadence/2012_2013/pve/tools/bin:/cadence/2012_2013/pve/tools/dfII/bin:/cadence/2012_2013/process/utils:/cadence/cdslic/bin:/home/<user>

    AHDLCMI_GCC_HOME=/usr
    CDSDIR=/cadence/2012_2013/ic5
    CDS_Netlisting_Mode=Analog
    CDS_AHDLCMI_ENABLE=NO
    ASSURAHOME=/cadence/2012_2013/assura
    CDS_INST=/cadence/2012_2013/ic5

    Could this variable that you mention somehow be set without showing in the output of printenv?

    Or I just really need a reinstall of MMSIM? Once again, I did download and install the MMSIM from 2012_2013 package, just several weeks ago...

    Thank you.

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

    The env var is SPECTRE_FEATURE_FILE - but maybe the features are being set in the .cdsinit.

    Whilst you have MMSIM in the path, it is after the tools/bin and tools/dfII/bin from the IC5141 installation, so it will never find spectre from the MMSIM stream. So your path is in the wrong order. It must have MMSIM first.

    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