Answers Database


V1.5.0, V1.4.0 COREGEN: java.lang.OutOfMemoryError "Out of memory" errors on very large cores


Record #3325

Product Family: Software

Product Line: Coregen

Product Part: Coregen

Product Version: c1_5

Problem Title:

V1.5.0, V1.4.0 COREGEN:	java.lang.OutOfMemoryError "Out of memory" errors on very large
cores



Problem Description:
Urgency: standard

General Description:
Out of memory errors similar to the following may be issued
by Coregen when generating very large versions of some of
the more complex modules:

"Exception occurred during event dispatching:
java.lang.OutOfMemoryError"












Solution 1:

Other out of memory errors in Coregen on Solaris may be due to
the fact that after it generates a Core, Coregen cannot
release the swap space it used to generate the Core until you
exit the program. This may also prevent you from using other
programs while Coregen is running.

This problem is due to the way Solaris operating systems
handle memory. There is no workaround other than quitting
Coregen before trying to generate the next core.





Solution 2:

In many cases, these errors may be due to the fact that
Java is being invoked by COREGEN with an option that restricts
its memory usage to a default level of 64MB in COREGEN v1.4,
or 128MB in COREGEN v1.5, which is less than what is required
to generate the module. If your machine has more memory than
this the problem may be corrected by increasing this setting.

The option that specifies the maximum amount of memory
that Java is allowed to access is "-mx", and the default
setting in the v1.4 release is 64MB (-mx64m). For some
larger functions, such as large PDA FIR filters, COREGen
requires 128MB of RAM.

To change the setting in your coregen script (UNIX) or
coregen.bat file (Windows), navigate to

  <install_dir>/coregen/bin/unix    (UNIX)
  <install_dir>\coregen\bin\win 	   (Windows NT or 95)

and edit the java command line in the coregen script or
coregen.bat file:

UNIX:
-----		vvvvvvv
$JAVA/bin/java -mx64m -classpath $COREGEN/lib:$COREGEN/ip:$JAVA/lib/classes.zip xilinx.xworks.builde
r.Xworks $COREGEN $1

WINDOWS:
-------- vvvvvvv
%JAVA%\bin\java.exe -mx64m -classpath .;%COREGEN%\lib;%COREGEN%\ip;%JAVA%\lib\classes.zip xilinx.xwo
rks.builder.Xworks %COREGEN% %1


In the v1.5 release, the default setting has been changed
to -mx128m to make up to 128MB of RAM available to COREGen.




End of Record #3325 - Last Modified: 08/25/98 18:52

For the latest news, design tips, and patch information on the Xilinx design environment, check out the Technical Tips!