Keywords: Java, Vista, Windows, 64 bit, network, pci32, pci64, pcix64
Generating a PCI core on a Windows 64-bit platform fails with message indicating that there is not enough memory.
For example, when I try to generate the PCI32 v3.162 Core, generation fails with an unusual debug error message from EJava (CORE Generator opened in debug mode "coregen -ddd"). This message indicates that there is not enough disk space for unzipping, but this is not the case. The debug output is as follows:
"DEBUG[] - Last:0 Text:
DEBUG:<msg>EJava Unzip Failure on v3.1.162.zip for <proj_path>\tmp\_cg\_bbxjava.util.zip.ZipException: Not enough disk space in path, <proj_path>\tmp\_cg\_bbx, to uncompress all files in ZIP/JAR file: %XILINX%\coregen\ip\xilinx\network\com\xilinx\ip\pci32_v3_162\fileset\v3. 1.162.zip.
</msg>
DEBUG:<msg>CopyFilesetZip:: srcFileDir: v3.1.162
</msg>
ERROR:<msg>Failure to generate output products
</msg> java.lang.NullPointerException
at com.xilinx.iputils.ejava.CopyFilesetZip.doCopy(Unknown Source)
at com.xilinx.iputils.ejava.CopyFilesetZip.writeFile(Unknown Source)
at com.xilinx.iputils.ejava.EJavaUtilities.doOutput(Unknown Source)
at com.xilinx.iputils.ejava.EJavaUtilities.execute(Unknown Source)
etc... "
This error occurs on Windows, but not on Linux or Solaris.
The issue is caused in Java; the OS is reported incorrectly and breaks the Java unzipping code when it tries to parse the output of "dir".
The problem affects the following cores:
pci32 v3.0.160
pci32 v3.1.161
pci32 v3.1.162
pci64 v3.0.160
pci64 v3.1.161
pci64 v3.1.162
pcix64 v5.0.160
pcix64 v5.1.161
pcix64 v5.1.162
This problem has been fixed in the latest 9.2i Service Pack available at:
http://www.xilinx.com/xlnx/xil_sw_updates_home.jspThe first service pack containing the fix is 9.2i Service Pack 1.