解决方案
Product licensing for Synopsys products is controlled by the Synopsys Common Licensing (SCL) software and the Synopsys license daemon (snpslmd).
As a prerequisite for launching these tools successfully from Project Navigator, check that the appropriate Synopsys license settings and license preference are applied to the FPGA synthesis tool either from the GUI or in batch mode.
License Product Names
The product names in the license files have changed because of the recent migration to the Synopsys Common Licensing (SCL) scheme.
As a result, the new Smartkey product licensing strings may not work correctly, especially when using a vendor-specific license in batch mode.
The migration to SCL required a standardization of FPGA synthesis product license names according to the standard naming rules in the following examples:
INCREMENT synplify_all
INCREMENT synplify_<vendorName>
INCREMENT synplifypro_all
INCREMENT synplifypro_<vendorName>
INCREMENT synplifypremier_all
INCREMENT synplifypremier_<vendorName>
INCREMENT synplifypremierdp_all
INCREMENT synplifypremierdp_<vendorName>
GUI Mode License Selection (Synplify launched as a stand alone application)
When launching Synplify/Pro/Premier synthesis tool in GUI mode, license selection is granted according to the following order of precedence:
1. Command line -licensetype parameter; for example:
synplify_pro -licensetype synplifypro_<vendorName>
synplify_pro -licensetype synplifypremier (license escalation)
synplify_premier -licensetype synplifypremier_all
You can specify more than one license type in the command line by separating each entry with a colon.
If the first entry is not available, the search continues to the second license type.
2. Default license type - the default license type from the .ini file as a result of Preferred License Selection from the Help menu.
3. System environment variable - environment variable to resolve a license denial according to your product and vendor technology:
set SYNPLIFY_LICENSE_TYPE=synplify_all
set SYNPLIFY_LICENSE_TYPE=synplify_<vendorName>
set SYNPLIFYPRO_LICENSE_TYPE=synplifypro_all
set SYNPLIFYPRO_LICENSE_TYPE=synplifypro_<vendorName>
set SYNPLIFYPREMIER_LICENSE_TYPE=synplifypremier_all
set SYNPLIFYPREMIER_LICENSE_TYPE=synplifypremier_<vendorName>
set SYNPLIFYPREMIERDP_LICENSE_TYPE=synplifypremierdp_all
set SYNPLIFYPREMIERDP_LICENSE_TYPE=synplifypremierdp_<vendorName>
Note that the Synplify tool checks for SYNPLIFY_LICENSE_TYPE, the Synplify Pro tool checks for SYNPLIFYPRO_LICENSE_TYPE, and the Synplify Premier tool checks for SYNPLIFYPREMIER_LICENSE_TYPE.
You can also specify multiple license types as command line parameters as in the following example:
SYNPLIFYPRO_LICENSE_TYPE=synplifypro_xilinx:synplifypro_all
4. If no options in steps 1 through 3 are set, the GUI displays the Select Preferred License dialog box so you can select a license.
Batch Mode License Selection (e.g. Running synthesis from Project Navigator)
Launching an FPGA synthesis tool in batch mode is similar to GUI mode.
However, batch mode does not use the Preferred License command stored in .ini file and will not display the Select Preferred License dialog box.
License selection is granted according to the following order of precedence:
1. Command line -licensetype parameter; for example:
synplify_pro -batch -licensetype synplifypro_xilinx
synplify_pro -batch -licensetype synplifypremier (license escalation)
synplify_premier -batch -licensetype synplifypremier_abc
You can specify more than one license type in the command line by separating each entry with a colon - if the first entry is not available, the search continues to the second license type.
synplify_pro -batch -licensetype
synplifypro_xilinx:synplifypro_all
2. System environment variable - environment variable to resolve a license denial according to your product and vendor technology
set SYNPLIFYPRO_LICENSE_TYPE=synplifypro_xilinx
set SYNPLIFYPREMIER_LICENSE_TYPE=synplifypremier_all
Note that the Synplify tool checks for SYNPLIFY_LICENSE_TYPE, the Synplify Pro tool checks for SYNPLIFYPRO_LICENSE_TYPE, and the Synplify Premier tool checks for SYNPLIFYPREMIER_LICENSE_TYPE.
You can also specify multiple license types as command line parameters.
set SYNPLIFYPRO_LICENSE_TYPE=synplifypro_xilinx:synplifypro_all
3. If no options in steps 1 and 2 are not set, batch mode uses its original license type.
For example:
synplify -batch uses a synplify license
synplify_pro -batch uses a synplifypro licensesynplify_premier -batch uses a synplifypremier license
Batch Licensing Example
If you upgraded from a Synplify Pro license to a Synplify Premier license, but you want to continue using the Synplify Pro license, you can do the following:
- Set the following environment variable without changing your script file:
synplify_premier -licensetype=synplifypremier_xilinx
- Invoke the following line command in batch mode:
(Note: You must change your Tcl script to explicitly specify the licensetype)
Synplify_pro -batch -licensetype synplifypremier
License escalation invokes the Synplify Pro tool using a Synplify Premier license.
License Variable Settings
For the Synopsys Common License, the following are valid environment variable settings:
LM_LICENSE_FILE=port@license_server_name
SYNPLCTYD_LICENSE_FILE=<port@license_server_name>
See also (Xilinx Answer 10150) - Project Navigator - How do I point to the Synplify or Synplify Pro executable?