Controlling license consumption in the PADS Flow using the FlexNet Options file

Document created by andrew_audova on Mar 9, 2012
Version 1Show Document
  • View in full screen mode

PADS 9.4 (or newer) - PADS Layout, Logic, Router products ONLY

Starting with PADS 9.4, there is a fully integrated solution for this problem available in the PADS Layout, Logic, and Router applications. For more details refer to PADS9.4 introduces functionality to control PADS Suite license consumption. Do NOT mix the use of these techniques for the same application, otherwise you will run into licensing problems (refer to Unexpected demo mode or MGLS EXCLUDE errors in the Installed Options and Suite Configuration dialogs for the error messages you might expect to see).


DxDesigner, Hyperlynx (any version), or older PADS versions (9.3.1 and older)

For another new technique available for controlling license consumption which does not involve a FlexNet Options file, refer to VBScript technique for controlling which floating license gets checked out.


Controlling license consumption in the PADS Flow using the FlexNet Options file

There may be times when an application consumes an additional base product license instead of reusing an existing license.

For example:

Opening PADS Layout followed by PADS Logic consumes a padsls_c and a dxdesigner040_c license. The padsls_c (PADS composite\suite) license will run both PADS Layout and Logic (or DxDesigner) so the expected outcome is only the padsls_c being consumed.

Another example is where PADS Layout consumes both a padsls_c (or padses_c) and a pwrshell license (and many other licenses beginning with "pwr").

One technique to avoid this problem is to use the FlexNet Options file, on the license server. The Options file allows for the license server administrator to restrict access by USER name, GROUP name (defined list of USER names), or even PROJECT name. In cases where the end user needs to switch between different sets of licenses based on the project they are working on, the PROJECT setting is more versatile as it does not require that the license server administrator make any changes to the Options file after the initial setup. For this reason the steps following will use the PROJECT setting, however, these can be substituted by USER or GROUP if necessary.  Refer to the Options file chapter in the FLEXnet User Manual for more details.


The first step is to determine all the base product licenses in the license file in order to assign to different PROJECT names (end users will refer to these via the LM_PROJECT environment variable, later in the instructions). Base license names can usually be determined by monitoring the lmgrd log file on the license server.

NOTE: The reason non-base/option licenses are excluded from these steps is because they may need to be shared among different PROJECT names. For example: PADS Layout has an "installed options" area in the help menu where an end user can control these licensed options.

Here are some examples of base licenses for some of the PADS and Expedition Flow products:

PADS Layout -- pwrshell and any feature starting with "pads" and ending in "_c". For example: padsls_c or padses_c
PADS Router -- blzshell and any feature starting with "pads" and ending in "_c". For example: padsls_c or padses_c
PADS Logic -- viewdraw or dxdesigner040_c
DxDesigner -- viewdraw or dxdesigner040_c
Expedition -- wgpcb
Hyperlynx -- hyplsw or hypbsw
CAMCAD -- cpbase or cgbase


Create a file called "mgcld.opt" on the license server, in the same directory as the license file.

NOTE: An alternative is to provide a different name and/or location of the Options file and point to it using the 4th field in the DAEMON line in the license file on the server. For example, if the file is saved to the "c:\MentorGraphics\FLEXnet\Options.txt" location then the DAEMON line would read:

DAEMON mgcld c:\MentorGraphics\licensing\mgcld.exe c:\MentorGraphics\FLEXnet\Options.txt

The contents of the Options file marries each of these base licenses to a specific PROJECT name. Add an INCLUDE sentence for each base product license, and assign a unique and descriptive PROJECT name.

See the following example based on the aforementioned PADS consumption issues. Project names are schematic_standalone for the base dxdesigner040_c license (runs PADS Logic or DxDesigner), and pads_suite for the padsls_c license (runs PADS Layout, PADS Logic, and DxDesigner).

INCLUDE dxdesigner040_c PROJECT schematic_standalone
INCLUDE padsls_c PROJECT pads_suite
INCLUDE pwrshell PROJECT layout_standalone


Restart the license manager on the license server.

To confirm the change is in place you will see a statement similar to the below one, near the top of the lmgrd log file:

14:55:27 (mgcld) Using options file: "C:\MentorGraphics\FLEXnet\Options.txt"


Create a script on the end user machine(s) for each PROJECT. The script will set the LM_PROJECT environment variable accordingly and run the appropriate executable to launch the program

The following examples provide batch scripts for Windows that when run, result in only the padsls_c license being consumed when PADS Layout, Logic, or DxDesigner is launched, as an INCLUDE statement for this license was created in the Options file (PROJECT name pads_suite).

PADS Logic using PADS Suite license (example script name: PADS_Logic_Suite.bat):

set LM_PROJECT=pads_suite
start %SDD_HOME%\Programs\powerlogic.exe


DxDesigner using PADS Suite license (example script name: DxDesigner_Suite.bat):

set LM_PROJECT=pads_suite
start %SDD_HOME%\wv\win32\bin\viewdraw.exe


PADS Layout using PADS Suite license (example script name: PADS_Layout_Suite.bat):

set LM_PROJECT=pads_suite
start %SDD_HOME%\Programs\powerpcb.exe



The following examples provide batch scripts that when run, result in only the standalone licenses being consumed, which is dxdesigner040_c for PADS Logic or DxDesigner, and pwrshell (and other licenses beginning in "pwr") for PADS Layout. This is because an INCLUDE statement for these licenses was created in the Options file (PROJECT name schematic_standalone for PADS Layout or DxDesigner, and layout_standalone for PADS Layout).


PADS Logic using standalone license (example script name: PADS_Logic_Standalone.bat):

set LM_PROJECT=schematic_standalone
start %SDD_HOME%\Programs\powerlogic.exe 


DxDesigner using standalone license (example script name: DxDesigner_Standalone.bat):

set LM_PROJECT=schematic_standalone
start %SDD_HOME%\wv\win32\bin\viewdraw.exe

PADS Layout using standalone licenses (example script name: PADS_Layout_Standalone.bat):

set LM_PROJECT=layout_standalone
start %SDD_HOME%\Programs\powerpcb.exe

Note: The %SDD_HOME% is an environment variable, defined on the system where PADS is installed. It keeps track of the currently configured version so you don't have to keep a version of the script for each PADS release that is installed. A full path may be substituted for the %SDD_HOME% but the path to the executable will need to be changed after switching PADS releases. Example full path: "C:\MentorGraphics\9.3PADS\SDD_HOME\Programs\powerlogic.exe".

Note: To determine the path to a program/executable right click on the Shortcut and select "Properties". The full path will be displayed in the "Target:" field.


Changes are complete!

To ensure optimal license consumption end users will need to run the appropriate script associated with the license they need to use.

For example:

If a PADS end user needs to run both PADS Layout and Logic and wants to consume a padsls_c (PADS Suite) license, run the "PADS_Logic_Suite.bat" script for PADS Logic, and "PADS_Layout_Suite.bat" for PADS Layout.

However, for running PADS Logic only and consuming the dxdesigner040_c license (ignore the PADS Suite licenses), run the "PADS_Logic_Standalone.bat" script.