When I run compXlib through the GUI or from command line, I receive the following errors if I include the deprecated EDK cores:
ERROR:Compxlib:236 - COMPXLIB[file]: Failed to open file '/asic/app/xilinx/mti_lib_143.questa101//edk/microblaze_v8_30_a/.cxl.microblaze_v8_30_a.microblaze_v8_30_a.lin64.cmd' for writing.
ERROR:Compxlib:235 - COMPXLIB[file]: Failed to open file '/asic/app/xilinx/mti_lib_143.questa101//edk/microblaze_v8_30_a/.cxl.microblaze_v8_30_a.microblaze_v8_30_a.lin64.log' for reading.
ERROR:Compxlib:236 - COMPXLIB[file]: Failed to open file '/asic/app/xilinx/mti_lib_143.questa101//edk/microblaze_v8_30_a/.cxl.microblaze_v8_30_a.microblaze_v8_30_a.lin64.rpt' for writing.
compxlib[edk:microblaze_v8_30_a]: 0 error(s), 0 warning(s), 57.31 % complete
On the Linux terminal the job is run from, an additional error message is found:
Xilinx Port::Process Exec Failed:24
Is this a known issue?
How can I work around this problem?
This occurs on some Linux OS environments due to the number of open files in the OS.
The 2nd message above is an OS based message.
We have not yet found a way to increase the limit of open files in an OS.
It appears that when a deprecated EDK core is included, this issue can occur as too many files are opened simultaneously for the specific environment settings.
This was not reproducible by Xilinx but the following workarounds have been found:
Ensure that you select the "MAP only to existing pre-compiled libraries (i.e. no -w oerwrite command-line option)" in the GUI.
From the GUI, run compxlib and "uncheck" the EDK library option.
- Once this has completed, run compxlib again and this time "uncheck" all other libraries and "check" the EDK library.
To do this from the command line run commands similar to the examples below:
compxlib -s questa -arch fpga -lib unisim -lib simprim -lib xilinxcorelib -dir my_compiled_libs
compxlib s questa arch fpga lib edk dir my_compiled_libs
This will not be an issue in Vivado simulator.
EDK will not be part of Vivado as it is being replaced.