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 Qsys
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:
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.qsysBut 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.
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.
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
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.
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
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.
I pinged someone about this and they believe what is passed by ip-generate will overwrite the global setting. So if the global doesn't work I think hacking the .exe will be your only option (for now, it's being looked into)
Hello - has anyone come up with a better solution to this then hacking the executable?I am running the Quarts 11.1sp2 tools under Linux and am getting the same JVM error as reported earlier: ( Error: Error writing sopcinfo report java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMemoryError: Java heap space) Thanks Kevin.
As an update, this is listed as an SPR (spr362079). I have seen that a large QSYS system gets the OutOfMemory error from the JVM in using either ip-generate or the GUI. Paring the system back by some number of components resolves the error but not the problem.I am hoping that Quartus 12 will solve the problem. Kevin.