• 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 SKILL
  3. Cadance crashes while executing SKILL application: Insufficient...

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 143
  • Views 13897
  • 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

Cadance crashes while executing SKILL application: Insufficient memory to continue.

ToMWUT
ToMWUT over 15 years ago
Hello All,
 
I’ve got a problem with my SKILL application executed in CIW Cadence. This is a big program which uses a lot of resources. But it runs on a very fast machine: 32GB RAM and 4 dual core CPUs. The problem occurs when the application runs for over 3 days and Cadence crashes with information:
Insufficient memory to continue.
Cannot satisfy request for 65536 more bytes of memory.
Terminating process.
 
I may only add that, when I last checked the percentage of memory used by my application it was only 4-5% of all available RAM resources – so I don’t think this is a system problem… I don’t know the amount of memory used by application exactly when it crashes…
 
Another strange thing is that, when I executed different SKILL application, but also resources consuming it crashed with the same error message and even with the same amount of memory mentioned (65536)
 
Any ideas?
 
Thanks,
ToM
  • Cancel
  • aplumb
    aplumb over 15 years ago
    Which version of virtuoso are you using? (virtuoso -W) Depending on the design data you're working with, you may need to explicitly start up in 64-bit mode. In IC614 the full tool-set can be run in 64-bit; previous versions only supported back-end/layout in 64-bit: setenv CDS_AUTO_64BIT ALL ...then launch virtuoso. Hope this helps! Andrew.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 15 years ago

    I already answered this offline when ToM mentioned to me that posts seemed to be being moderated.

    The answer is to run in 64 bit mode. Up to including IC613, you had to use "layout -64" or "setenv CDS_AUTO_64BIT ALL" and then run "layout". From IC614 onwards you can run all IC executables in 64 bit mode (e.g. "virtuoso"). In IC5141, you couldn't run "icfb" in 64 bit mode.

    A little bit of background here:

     

    =================================================================================

    The difference between the different executables is that they have different functionality available. This was done in the past to save memory space - some of the executables are 10-20MBytes smaller than others. Nowadays, it's just not worth the bother, especially as most people just ran "icfb" all the time anyway. Broadly speaking, the capabilities are (info in parentheses explain the name of the executable)

    1. icde - schematic editing (Design Entry)
    2. icds - schematic editing and digital simulation (Design and Simulation)
    3. layout - custom layout, no schematic entry or simulation (Layout)
    4. layoutPlus - custom layout, schematic entry, Virtuoso XL (Layout Plus a bit!)
    5. icms - schematic editing, and analog/digital/mixed signal simulation (Mixed Signal)
    6. icca - Floorplanning and P&R, I think - been a while (Chip Assembly)
    7. msfb - like a combo of icms and layout (Mixed Signal Front to Back)
    8. icfb - like a combo of msfb and icca (Front to Back - essentially the complete suite)

    The core functions (core SKILL, db, dd, tech, cdf, rod, hi, de, ge) are available in all of these executables. Then it boils down to the relevant application-specific APIs, which will only be available in an executable that supports that set of tools. Some parts of the tools are in C/C++ code, and some are in SKILL context files - and it's the executable which determines in the C/C++ part of the tool is included, and this governs whether a context is auto-loaded or not.

    From what you say, layout (which will also have the "le" functions) will do the job.

    Porting to 64-bit meant porting all the C/C++ code, but also all the relevant context files (if you look in <ICinstDir>/tools/dfII/etc/context/64bit you'll see only a small set of the context files (32 bit versions available in the <ICinstDir>/tools/dfII/etc/context dir) have been ported to 64 bit. Only in IC614 have we ported everything.

    Regards,

    Andrew.

    ToM wrote, on 01/24/10 09:54:

    Andrew,
      
    Hi ToM,

    I'm checking up on the moderation issue with the forum adminstrator - it might be to stop some spam attacks that we've been seeing recently. I'll let you know once I hear.


        
    OK. Thanks :)

      
    In IC61, all the different executables (e.g. icde, icds, icca, msfb, icfb etc. have been replaced by one "virtuoso").

    In IC5141 (and IC613) only the "layout" executable could run in 64 bit mode, and so icfb, msfb etc are 32 bit only.

    So you need to run the "layout" executable to be able to access the full memory space available on the machine.

        
    Now it's more clear for me. But right now I've got another issue on my
    mind: what's the difference between those executables: msfb, icfb,
    layout? I mean from SKILL developer point of view - does the SKILL code
    runs the same way and is it irrelevant if I run msfb or layout?  I've
    managed to run "layout -64" executable and everything seams to be OK (I
    haven't tested my SKILL app yet).

    Kind regards,

      

     

    • 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