vsim 6.*

vsim may use several alternative licenses, or even more than one, which creates challenges in accurate management and preemption.

vsim, vlog and vlib exchange a lot of information in files that are called _info, _lock, _deps. Many files are opened for read/write by vsim. Also the file ~/.modelsim is often modified by vsim and other tools. Sometimes the files called _primary.vhd is read and written by vsim. This may happen if the vlog job was run on a 32bit machine and vsim runs on a 64bit machine. You should run the tools on the same type of machine. This use of read/write files makes the flow with ModelSim quite challenging.

Environment

We strongly recommend using a named environment called, for example, MODELSIM. Use the environment to set the path and also the JOBSPY_DAEMON.

Preemption OLD

Preemption: use JOBSPY method, because it is much speedier than LMREMOVE and also more reliable. You do need to have the JobSpy daemon running.

Example:
# Example: assuming the license used by vsim is License:msimhdlsim.
VovPreemptPolicy License:msimhdlsim  -method JOBSPY -maxage 120 -delay 20

Preemption NEW

Customers report good success with method MODELSIM. Also required is the environment variable MTI_RELEASE_ON_SUSPEND set to 1 second instead of the default 10 seconds.
% setenv MTI_RELEASE_ON_SUSPEND 1

In case of mixed simulation add vsim command line option -lic_mixed_only, in order to instruct modelsim to always use a combination of Sim + Mix licenses and not Sim + Sim license to prevent a mismatch in licenses after resume.

Dealing with the _lock file

If a vlog job aborts, it may leave a ".../_lock" file in the work library directory, which prevents a subsequent vlog from completing, since it is waiting for the _lock file to be removed.

Disable vopt

For vcom, use -novopt.