Home > Community > Forums > Custom IC Design > Huge psf file!! Cannot allocate memory

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: *

 Huge psf file!! Cannot allocate memory 

Last post Sun, Mar 24 2013 1:42 AM by Andrew Beckett. 3 replies.
Started by SPA1984 21 Mar 2013 11:12 AM. Topic has 3 replies and 778 views
Page 1 of 1 (4 items)
Sort Posts:
  • Thu, Mar 21 2013 11:12 AM

    • SPA1984
    • Not Ranked
    • Joined on Thu, Mar 21 2013
    • Posts 2
    • Points 40
    Huge psf file!! Cannot allocate memory Reply

    Hello,

    I made an Ocean script to do a transient analysis. When I try to plot or export the waveforms the system gives me a message like "Cannot allocate mamory for the transition file". The psf file has a 56,6GB weigh.

    I also try to save a txt file using the command ocnPrint, but when the simulation is done, the system gives me the same error.

    Is there the possibility to generate several psf files? One for each waveform.

    Is there any function to save the a txt file for each one of the 16 waveform on the fly? This way, the system doesn't have to handle this amount of memory.

    I'm using Results Browser in ADEL  with aps simulator.

    Thank you very much.

    • Post Points: 20
  • Thu, Mar 21 2013 12:10 PM

    Re: Huge psf file!! Cannot allocate memory Reply

    Which version of the tools (help-> about in the CIW) are you using? Have you tried using psfxl as the output format? Also running "virtuoso -64" to run in 64 bit mode to allow greater memory access. 

     Note, ocnPrint still has to load the signal into memory, so that's unlikely to help. The size of the file shouldn't be so critical because it doesn't load the entire file in memory - but if the individual signals have a huge number of points, that may be a problem. 

     Regards,

    Andrew  

    • Post Points: 20
  • Fri, Mar 22 2013 8:25 AM

    • SPA1984
    • Not Ranked
    • Joined on Thu, Mar 21 2013
    • Posts 2
    • Points 40
    Re: Huge psf file!! Cannot allocate memory Reply

    Hi,

    I'm using the version IC6.1.3.500.13. I'm running virtuoso in 32 bit mode, we don't have installed the 64 bit one.

    I have 16 waveforms for the 56 GB, some of them with a big amount of data points.

    Now I'm trying the psfxl format for the output, but the simulation will take 12 days aprox.

    I'll keep you informed.

    On the other hand, I'm trying to save the data points of each waveform (one txt file for each one) using a schematic test including a module with a VerilogA routine. This will save the data points on the fly or I will have the same problem as before? Trying to open the huge data file at the end of the simulation?

    This is the Veriloga routine, it's not finalized.

    `include "constants.vams"
    `include "disciplines.vams"

    module LatchDAC(ACK0, I0_I18_C0_0_T, I0_I18_casc, I0_I18_M10_S, I0_I18_vin, I0_I19_M4_D, I0_I19_vctrl, I0_I65_ovflw, I0_neg, I0_pos, I0_vint, in, net0224, OUTN, OUTP, REQ, save, gnd);
      input ACK0, I0_I18_C0_0_T, I0_I18_casc, I0_I18_M10_S, I0_I18_vin, I0_I19_M4_D, I0_I19_vctrl, I0_I65_ovflw, I0_neg, I0_pos, I0_vint, in, net0224, OUTN, OUTP, REQ, save, gnd;
      electrical ACK0, I0_I18_C0_0_T, I0_I18_casc, I0_I18_M10_S, I0_I18_vin, I0_I19_M4_D, I0_I19_vctrl, I0_I65_ovflw, I0_neg, I0_pos, I0_vint, in, net0224, OUTN, OUTP, REQ, save, gnd;

      integer multi_ch_desc1;

      analog begin
       @(initial_step) begin
        multi_ch_desc1 = $fopen("/scratch/Sergi_bySacris/DPS1.test/ACK0.txt");
      end
      
       @(cross(V(save)-0.9,1)) begin
        $strobe(multi_ch_desc1,"%e \t", $realtime(1ns)) ;
        $fwrite(multi_ch_desc1, "\t %g \n", V(ACK0));
       end //cross

       @(final_step) begin
        $fclose(multi_ch_desc1);
       end //final_step

      end//analog
     
    endmodule

    Many thanks,

    Sergi

    • Post Points: 20
  • Sun, Mar 24 2013 1:42 AM

    Re: Huge psf file!! Cannot allocate memory Reply

    Sergi,

    Assuming that it's spectre you're saving the results from, all waveforms will have the same number of points (unless you've used the compression option on the transient options form), and so for 16 waveforms in 56Gbytes, that's 3.5G per waveform. Assuming that the memory usage is the same as the disk usage (it may be more), that's going to use up the entire 32 bit memory space of your virtuoso session.

    IC613 didn't have 64 versions of all the executables - that came in during IC614 (so there was no 64 bit virtuoso). Is there a good reason why you have to use such an old version? You could always run "viva -64" standalone from IC615, say - and keep all the rest of your design work in IC613 if you really can't change for some reason.

    I suspect that saving to an ASCII file won't help you much if the volume of data is so high.

    I would suggest using transient options such as strobeperiod or skipcount might be a good idea to reduce the number of points. Or use compression...

    Regards,

    Andrew.

    • Post Points: 5
Page 1 of 1 (4 items)
Sort Posts:
Started by SPA1984 at 21 Mar 2013 11:12 AM. Topic has 3 replies.