I am trying to compile the simulation libraries on a Linux 64-bit OS with this command:
compile_simlib -simulator modelsim -language vhdl -family zynq -directory simlib -force -verbose
It fails with these errors:
Executing cmd '/opt/mgc_tree/modelsim-DE-10.5b/modelsim_dlx/bin/vcom -version -64' with output '.cxl.modelsim.version' (Mon Jun 13 15:49:23 2016)...
compile_simlib[exe]: The command line '/opt/mgc_tree/modelsim-DE-10.5b/modelsim_dlx/bin/vcom -version -64' returned exit code '7'.
ERROR: [Vivado 12-4686] Simulator version check command failed:"/opt/mgc_tree/modelsim-DE-10.5b/modelsim_dlx/bin/vcom -version -64". Please make sure that this version of simulator support the options specified in this command. For more details on this failure, open the '.cxl.modelsim.version' file.
ERROR: [Vivado 12-4688] Unsupported simulator version. Please run 'compile_simlib -help' for the supported 'ModelSim' version.
When I try to open the '.cxl.modelsim.version' file as suggested I get the error below:
-bash-4.1$ cat .cxl.modelsim.version
Failed to open executable /opt/mgc_tree/modelsim-DE-10.5b/modelsim_dlx/bin/../linuxpe/../linux_x86_64pe/vcom in execute mode needed for the option -64.
What is causing this error and how do I fix it?
By default, compile_simlib performs the simulator compilation in 64-bit mode.
On Linux, ModelSim DE runs as a 32-bit binary only (even on 64-bit Linux). Therefore the default mode is not working.
To resolve the error, you need to add the -32bit switch to the compile_simlib command to run the compilation in 32-bit mode.
Simulation libraries can be successfully compiled for ModelSim SE and Questa in the default 64-bit mode.