Home > Community > Forums > RF Design > Insufficient memory to run PSS analysis - how to resolve?

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Insufficient memory to run PSS analysis - how to resolve? 

Last post Wed, Apr 2 2014 5:12 AM by apaj. 16 replies.
Started by apaj 06 Mar 2014 07:52 AM. Topic has 16 replies and 1619 views
Page 1 of 2 (17 items) 1 2 Next >
Sort Posts:
  • Thu, Mar 6 2014 7:52 AM

    • apaj
    • Top 500 Contributor
    • Joined on Wed, Nov 7 2012
    • Posts 27
    • Points 450
    Insufficient memory to run PSS analysis - how to resolve? Reply

    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.

    • Post Points: 20
  • Thu, Mar 6 2014 10:06 AM

    • Tawna
    • Top 25 Contributor
    • Joined on Fri, Jul 11 2008
    • Snohomish, WA
    • Posts 217
    • Points 5,775
    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    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

     

    Best regards, Tawna Wilsey Staff Support AE, Global Customer Support Cadence Design Systems, Inc.
    • Post Points: 5
  • Thu, Mar 6 2014 10:18 AM

    • Tawna
    • Top 25 Contributor
    • Joined on Fri, Jul 11 2008
    • Snohomish, WA
    • Posts 217
    • Points 5,775
    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    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!

    http://www.cadence.com/Community/blogs/rf/archive/2012/11/19/spectre-rf-mmsim-12-1-preview-of-coming-attractions.aspx?postID=1315078

     

    Best regards,

    Tawna

    Best regards, Tawna Wilsey Staff Support AE, Global Customer Support Cadence Design Systems, Inc.
    • Post Points: 20
  • Fri, Mar 7 2014 1:31 AM

    • apaj
    • Top 500 Contributor
    • Joined on Wed, Nov 7 2012
    • Posts 27
    • Points 450
    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    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.

    • Post Points: 20
  • Fri, Mar 7 2014 2:28 AM

    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    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.

    • Post Points: 20
  • Fri, Mar 7 2014 4:40 AM

    • apaj
    • Top 500 Contributor
    • Joined on Wed, Nov 7 2012
    • Posts 27
    • Points 450
    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    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.

     


    • Post Points: 20
  • Fri, Mar 7 2014 10:48 AM

    Re: Insufficient memory to run PSS analysis - how to resolve? Reply
    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
    • Post Points: 20
  • Thu, Mar 13 2014 2:13 AM

    • apaj
    • Top 500 Contributor
    • Joined on Wed, Nov 7 2012
    • Posts 27
    • Points 450
    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    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.


    • Post Points: 20
  • Thu, Mar 13 2014 9:32 AM

    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    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.

    • Post Points: 20
  • Thu, Mar 13 2014 9:54 AM

    • apaj
    • Top 500 Contributor
    • Joined on Wed, Nov 7 2012
    • Posts 27
    • Points 450
    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    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.

    • Post Points: 20
  • Thu, Mar 13 2014 10:08 AM

    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    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.

    • Post Points: 20
  • Fri, Mar 14 2014 2:25 AM

    • apaj
    • Top 500 Contributor
    • Joined on Wed, Nov 7 2012
    • Posts 27
    • Points 450
    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    Thank you very much - I fliped them and we've got that solved:

    spectre -W
    sub-version  11.1.0.509.isr14

    Now, if I am not becoming to tiring, would you be so kind to have a look at the HB analysis? I am interested in th IIP3 and P1dB of my circuit at 8.2 GHz with harmonics of 200 MHz. Is the screenshot I sent in the previous post a way to do it - or something else?

    Once again, thank you very much for your time and effort!

    • Post Points: 20
  • Fri, Mar 14 2014 7:13 AM

    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    I would suggest you take a look at the <MMSIMinstDir>/tools/spectre/examples/SpectreRF_workshop/rfworkshop.tar.Z file which has workshops for LNA, Mixer, Oscillators and PAs. The databases are for IC61 in the versions you're using, but at least you can look at the PDFs for a bit of guidance.

    You didn't say what kind of circuit it is. For IP3 you'd need two input tones (plus another if it's a mixer); for P1dB you'd need one input tone (plus another if it is a mixer). So your setup may or may not be correct, depending on the circuit...

    Regards,

    Andrew.

    • Post Points: 20
  • Fri, Mar 14 2014 7:35 AM

    • apaj
    • Top 500 Contributor
    • Joined on Wed, Nov 7 2012
    • Posts 27
    • Points 450
    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    The circuit is (supposed to be) a low noise amplifier. However, I'd like to stop bothering you about this - I'll check the examples you mentioned, and see what happens. 

    I just have one more question - if, even after setting up the analysis as shown in the examples, I remain with the same output (insuficient memory), the only thing I can do is find a 64-bit machine? I mean, there is no some kind of system variable that controls the amount of alowable memory or something like that? 

    Thank you very much, I appriciate your time and effort very much.

    • Post Points: 20
  • Fri, Mar 14 2014 7:50 AM

    Re: Insufficient memory to run PSS analysis - how to resolve? Reply

    Fundamentally a 32 bit application is limited to a 32-bit address space - that's a maximum of 2^32 bytes (about 4Gbytes). In practice it is usually a bit lower than that on most OS.

    You can't make a 32 bit application be able to access a larger amount of memory. Shooting PSS had a special trick which allowed it to write its data to disk instead (this was the swapfile) - the algorithm lent itself to that type of approach. HB doesn't though. 

    So if you need more memory, you have to run 64 bit spectre, and that requires a 64-bit OS.

    Regards,

    Andrew.

     

    • Post Points: 20
Page 1 of 2 (17 items) 1 2 Next >
Sort Posts:
Started by apaj at 06 Mar 2014 07:52 AM. Topic has 16 replies.