• 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. Custom IC Design
  3. Huge psf file!! Cannot allocate memory

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 125
  • Views 15734
  • 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

Huge psf file!! Cannot allocate memory

SPA1984
SPA1984 over 12 years ago

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.

  • Cancel
Parents
  • SPA1984
    SPA1984 over 12 years ago

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • SPA1984
    SPA1984 over 12 years ago

    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

    • 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