Simics needs a license server for floating licenses. The license server used is FLEXlm v9.2 from Macrovision. Below is a brief description on how to set up the license server. For further information on how to manage the server please consult the FLEXlm End Users Guide which can be found at http://www.macrovision.com/services/support/index.shtml.
All files needed to setup the FLEXlm license server are included in the Simics distribution in [simics]/host/sys/flexlm/bin, e.g., [simics]/x86-linux/sys/flexlm/bin:
A license file from Virtutech is also needed (usually sent by e-mail), that specifies your licenses. The license file is typically called simics.lic.
lmgrd, lmutil and vtech can be installed anywhere in the system, for example in /usr/local/flexlm/bin/. The license file, e.g., simics.lic, should then be placed in the [simics]/licenses/ directory. This is the default location for a license file, meaning that Simics will find it automatically. To override this, the environment variable VTECH_LICENSE_FILE can be set to the name of the license file or to the directory where it resides. It can also be set to @license-host (i.e., the machine running the license server) if the license file cannot be reached through the file system. In this case the license server will know the location of the license file. A typical license file looks like this:
SERVER server ANY USE_SERVER # change the path to where the license daemon (vtech) is located VENDOR vtech /usr/local/flexlm/bin/vtech # FEATURE p_developer vtech 3.0 30-sep-2005 10 03DBBBBC9607 \ VENDOR_STRING=Tc;Gcm HOSTID=ANY SIGN=30C8A736AB4A # FEATURE eclipse vtech 3.0 30-sep-2005 10 5E347B88E389 HOSTID=ANY \ SIGN=421DDD8207A2 # FEATURE host_rh6-x86 vtech 3.0 30-sep-2005 uncounted 3A06239E1993 \ HOSTID=ANY SIGN=BC67891604C4 #
where server is the name of the host that will run the license server. This can be changed by the user if the line ends with ANY, otherwise the license server need to be run on a special host. The VENDOR line specifies the vendor and where to find the vendor daemon. Edit this line to point to the vtech daemon file. FEATURE specifies the type of license and for what it is used. In this case it is 10 commercial floating licenses for the developer product in Simics 3.0 on x86 Linux host with expire date 30-sep-2005. The last hexadecimal codes are checksums which assert that the license file is not altered in an unauthorized way by the user.
To be able to build user modules that can be loaded into Simics a Simics model builder license is needed. If you have such a license, the p_modelbuilder feature and builder feature will be present in the license file as well.
The license server can be started in the following way:
joe@server:~$ lmgrd -c simics.lic
Remember to run lmgrd on the server host specified in the license file; in the example it is "server". Since lmgrd does not need root privileges it is recommended to run it as an ordinary user.
The server will log all actions to stdout, unless a log file is specified by the -l log-file option.
lmgrd will find the vendor daemon and start it. All communication between the licensed software and the vendor daemon goes via the license server (lmgrd). It is the vendor daemon that keeps track of products and number of licenses from a particular vendor, thus only one license server is needed to run software from several vendors.
When the license server is running, Simics can be run like any program and the communication with the license server should be transparent to the user. When Simics is started, it will contact the server and, if the user is authorized and available licenses exist, Simics will check-out a license and run. On exit, Simics will give back the license to the daemon (check-in).
If Simics ever crashes or exits abnormally, a license may be lost for a while but will return to the license pool after about 2 hours.
To shut down the license server and the vendor daemon type:
joe@enterprise:~$ lmutil lmdown
and the server will go down.