AR# 54018


14.x CompXlib - ERROR:Compxlib - COMPXLIB[system]: Uncontrollable or unhandled exception found !


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:
  •  Compile the libraries without including the deprecated EDK cores:
    • Use the "-exclude_superseded" switch from the command line or
    • Select the "Exclude compilation of deprecated EDK cores" in the GUI.
  • If the deprecated EDK core are required then it is possible to work around this issue by performing a 2 stage library compilation.
    1. From the GUI, run compxlib and "uncheck" the EDK library option.
    2. Once this has completed, run compxlib again and this time "uncheck" all other libraries and "check" the EDK library.
    Ensure that you select the "MAP only to existing pre-compiled libraries (i.e. no -w oerwrite command-line option)" in the GUI.

  • 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.

AR# 54018
Date 09/23/2014
Status Active
Type General Article
Tools More Less
People Also Viewed