Forum Discussion
Altera_Forum
Honored Contributor
14 years agoproblem of large design with Qsys
Hi all,
I'm designing a network of processor (Nios II) with Qsys 11.1. There are 32 niosII in my design and I use the ip-generate command-line. The issue is Qsys can't generate the sopcinfo file: --- Quote Start --- Info: system: Done system" with 98 modules, 4296 files, 88115683 bytes Error: Error writing sopcinfo report java.lang.OutOfMemoryError: Java heap space Info: ip-generate succeeded. Info: Finished: Create HDL design files for synthesis --- Quote End --- Anyone has idea? Thanks! ps: I tried to close and reopen Qsys16 Replies
- Altera_Forum
Honored Contributor
Try to configure your JVM with more memory
- Altera_Forum
Honored Contributor
Thank you Aprado for this quick responce.
But I'm not very confortable with Java. Could you tell me where and how configure my JVM correctly? Thanks! - Altera_Forum
Honored Contributor
Google "configure jvm more memory"
It's pretty straight forward - Altera_Forum
Honored Contributor
ok I tried to find a solution to configure the JVM.
the switch to expand java heap size memory is -Xmx2048m where 2048 is the size of maximum heap memory I want to allocate. The issue is where can I use this switch? In some examples I saw this switch is used like a parameter of the application. The application that I want to expand heap size memory is ip-generate. So I tried with a command-line like that:
But it makes an error: --- Quote Start --- Error: Unrecognized switch Xmx2048m --- Quote End --- I forgot to specity that I'm working on windowsXP-64bit and so I use NiosII 11.1 command shell to launch this command-line. Thanks for your responce.ip-generate -Xmx2048m --project-directory=D:/myproject --output-directory=D:/myproject/synthesis/ --file-set=QUARTUS_SYNTH --report-file=sopcinfo:D:/myproject/system.sopcinfo --report-file=qip:D:/myproject/synthesis/system.qip --system-info=DEVICE_FAMILY="Stratix IV" --component-file=D:/myproject/system.qsys - Altera_Forum
Honored Contributor
I'd guess ip-generate is some kind of wrapper ??
You need to find the incantation that acually runs the jvm itself. If you type at the shell prompt: $ type ip-generate the shell should tell what it executes when you run ip-generate. - Altera_Forum
Honored Contributor
Hi Dsl,
ip-generate is the application used by Qsys (new version of SopcBuilder) to generate vhdl or verilog files from a qsys project. ip-generate can optionnaly create the sopcinfo file used by NiosIISBT to create the NiosII application. The ip-generate command-line call an executable file so I can't see what it's done inside. When I type in the Shell: --- Quote Start --- $ type ip-generate --- Quote End --- I just have the path of the executable called: --- Quote Start --- ip-generate is /cygdrive/c/altera/11.1/quartus/sopc_builder/bin/ip-generate --- Quote End --- Do you know an other way to to find the incantation ? Thanks - Altera_Forum
Honored Contributor
Long shot but maybe an enviorment variable _JAVA_OPTIONS="-Xmx2048m" will work. If it doesn't remember I said long shot :)
- Altera_Forum
Honored Contributor
On a unix system you could arrange to make a shell script be run instead of the jvm (either by putting it earlier in $PATH, or renaming the real jvm) containing:
# !/bin/sh real_jvm -Xmx2048m "$@" but I suspect that won't work on cygwin - does depend on exactly how the binary (which is probably using the cygwin library) actually starts the jvm. - Altera_Forum
Honored Contributor
I have good and bad news!!
the good one: I fund how to configure the jvm. Te bad one: you have to patch ip-generate.exe open ip-generate.exe in a text editor This file is in: --- Quote Start --- QUARTUS_ROOT_DIR/quartus/sopc_builder/bin --- Quote End --- Research -Xmx500m replace by -Xmx1024m and delete a "NULL" juste after Thanks for your help - Altera_Forum
Honored Contributor
Hmmm.... if they are hard-coding the parameter into the generated command line, then attempts to set the default using environment vars will fail.
Probably better to set to -Xmx999m to avoid changing the length of the string. Might even work if you replace that parameter with spaces and set the jvm's default from the environment.