AR# 53041: 14.x CORE Generator - Core generation hangs when about 1GByte of memory is available for the CORE Generator tool
14.x CORE Generator - Core generation hangs when about 1GByte of memory is available for the CORE Generator tool
When generating an IP core in the CORE Generator tool, the generation process indicates that it is still running, but does not make any progress over several hours.
If I run CORE Generator in Debug mode, I see that the XST process completes and the console reports that it is "Running ngcbuild"... However, the ngcbuild process then starts, but no more progress is made. Sometimes the ngcbuild process hangs, but other times it appears to exit and the _cg process hangs.
This issue occurs when generating IP cores through the CORE Generator tool in a memory-constrained environment (e.g., Virtual Machine) if the available memory is only slightly over the threshold required to synthesize the IP core. For many IP, this is from 0.8 to 1.2GB of RAM.
To work around this issue:
Run the CORE Generator tool on a system with more available memory.
Stop the _cg process, then run the ngcbuild command in a command window in the IP_cores directory. Note that the ngcbuild command line and the files generated during the XST synthesis phase of "Generate IP" will be available after attempting to generate an IP core in Debug mode.
Depending on design considerations, such as target device and design stage, it could be an option to use the IP catalog available in the PlanAhead or Vivado tool to produce HDL output for the desired core. Note that if a user wanted to bring this IP back into a Project Navigator flow, at this point they would need to add the HDL source files and not the IP Core project file (XCO, XCI).