The overview of Cadence licensing gives a high-level view of licensing. This chapter describes the lower-level activities. Regardless of which licensing configuration you use, all configurations need the same components and perform the same type of activities.
|
Component |
Description |
|
License server |
Runs TCP/IP and the license daemons. |
|
Cadence licensing tools, including |
Licensing binaries. |
lmgrd |
The FlexNet license daemon forwards requests to the Cadence daemon, cdslmd. |
cdslmd |
The Cadence daemon serves the licenses, tracks the type and quantity of licenses, and who is using them. |
Licensing utilities |
Helps manage and maintain licenses at your site. |
|
License file |
Contains licenses for the Cadence products ordered for your site. |
|
Specifies where products can find the licenses they need. |
|
|
Licensed products (applications), such as Verilog-XL™ |
Requests and releases the appropriate licenses. |
The FlexNet license daemon, lmgrd, and the Cadence daemon, cdslmd, run on the license server and work together to distribute licenses upon request. Products needing licenses locate the license file to determine which license-server lmgrd to contact. The lmgrd contacts the cdslmd daemon, which serves the licenses if the licenses are available.
License-Server Requirements
A computer system that is a license server or standalone workstation must have
- A local disk that contains the UNIX operating system and UNIX file systems, such as /usr/tmp.
A license server cannot be diskless.
By default, Cadence licensing software uses the /usr/tmp files listed below.
|
File |
Purpose |
license.log |
Default licensing log file. You can specify a different name for this log file. |
lockcdslmd |
Lock file required when license server is running. It is always a zero-length file. Do not delete it. See Cannot open daemon lock file MULTIPLE "cdslmd" servers running |
- TCP/IP daemons running
Depending on your operating system, you can check for TCP/IP by typing one of these:
- netstat -a | grep tcp
- netstat -a | grep TCP
- netstat -l
- ifconfig ln0 (use netstat -rn to get interface# name, such as ln0)
For example, the netstat -a | grep tcp command returns information indicating tcp is running, similar to
tcp 0 0 sunny.6000 sunny.1071 ESTABLISHED
tcp 0 0 sunny.1071 sunny.6000 ESTABLISHED
tcp 0 0 *.6000 *.* LISTEN
tcp 0 0 *.5280 *.* LISTEN
See your operating system documentation for more information about TCP/IP.
- License daemons running
The lmgrd and cdslmd daemons (and any other license daemons in the license file) are in charge of serving all licenses in the license file. These daemons run only on the designated license server. They will not run on any other workstation on the network.
When you start the lmgrd licensing daemon, you can specify the path to the license file.
In most cases, you won't need to deal with the license daemons. However, you can verify that the daemons are running correctly with the lmstat utility (normally found in install_dir/tools/bin):
lmstat -c license_file
License-Server Recommendations
Licensing is most reliable when the license server
- Is a reliable computer system
- Is a dedicated license server or, at least, has little traffic, so that the server can serve the licenses quickly. File servers do not make good license servers.
- Has its own license file on a local disk
- Has Cadence licensing tools on a local disk
Note: The license server must have a local disk. Diskless nodes cannot be license servers.
The Host ID
Depending on the hardware platform, the host ID is the system's PROM ID, Ethernet address, or another unique identifier.
Each license server has its own license file, based on its host ID, unless the license file is for fault-tolerant licensing. The host ID in the license file must match the host ID of the license server. (Host IDs are not case sensitive.) You can compare the host ID number on the Software Manufacturing Completion Report, which came with your software shipment, to the license server's host ID and to the host ID in the license file.
- If you have a single license server, the host ID must match the license server's host ID.
- If you have multiple, independent license servers, each host ID in each file must match its license server's host ID.
- If you have fault-tolerant licensing, the three host IDs in the file must match the host IDs of the three license servers.
If you have installed and configured the Cadence software, type the following command to display the host ID of your UNIX node.
lmhostid.
If you have installed and configured the Cadence software, determine the host ID used for licensing with your operating system's commands, as listed below.
Call your Cadence representative if these numbers do not match.
If lmhostid is not available, use one of the methods below.
|
Architecture |
Host ID |
Alternate Method |
|
Linux |
Ethernet address |
/sbin/ifconfig -a | grep eth0 | awk '{print $NF}' | sed s/://g |
Cadence Licensing Tools
Cadence licensing tools include the license daemons and licensing utilities. Cadence licensing software requires two daemons, the FlexNet license daemon (lmgrd) and the Cadence vendor daemon, cdslmd.
When you install the software by following the directions in the Cadence Installation Guide or in this reference, Cadence software does not interfere with other FlexNet-based software.
License File
The license file contains licenses for the Cadence products ordered for your site. The license file lists the license server, the license-vendor daemons, and the Cadence licenses. The license file contains only SERVER, DAEMON, and FEATURE lines, but the file can contain any amount of white space. The file ignores lines beginning with #. All data in the license file is case sensitive, unless otherwise indicated.
The beginning of a license file looks similar to this:
SERVER Cadence_SERVER 83795ddb 5280
DAEMON cdslmd ./cdslmd
# DO NOT REMOVE THE USE_SERVER LINE
USE_SERVER
FEATURE NC_VHDL_Simulator cdslmd 9999.999 31-jul-2006 1 \
ADE4C8A10A40A8649256 VENDOR_STRING=J:PERM DUP_GROUP=NONE \
vendor_info=1-may-2006 ISSUED=01-may-2006 \
SN=2006-05-01T01:33:08:819 SIGN2="106D 1CFE ECFF 507A EABA \
3147 CD97 760A A18F 75A6 F1DF 5F9A EB97 2F8D 3AD8 1A5B 6FCC \
2D3F 46CC DE1E A9FF 9DEB 9FEE 3006 F75D 70D9 D7E5 8558 DCB4 \
CC10" V7.1_LK=4D94A891F2B6F6B6E7F1
FEATURE Affirma_sim_analysis_env cdslmd 9999.999 31-jul-2006 9 \
8D3468113BA0A7BC009E VENDOR_STRING=UHD:PERM DUP_GROUP=UHD \
vendor_info=1-may-2006 ISSUED=01-may-2006 \
SN=2006-05-01T01:33:08:819 SIGN2="03B5 01A1 F242 8AD8 B43C \
6BEE 45A5 9408 C589 54BA 33B0 1440 FABD 5E91 DFC6 16A4 D79E \
704F D1F7 F0E9 D7E7 5813 0978 E3C2 954F ADE5 C6BE 3A20 63DF \
EE52" V7.1_LK=CD1448F198849CE06357
Note: You cannot use variables or shell metacharacters in the license file. Use comment lines beginning with hash (#) and wrap long lines by using a backslash (\).
For easier troubleshooting, do not combine license files for multiple FlexNet-based products. However, if you want to combine license files, see the FlexNet License Administration Manual, https://www.flexera.com
You can edit only
- Host names (up to a maximum of 32 characters) on SERVER lines
- Port numbers on SERVER lines
- Paths to the daemon on DAEMON lines
- Paths to an options file on DAEMON lines
You corrupt the license file by
- Editing a FEATURE line
- Using a host name longer than 32 characters
SERVER Line
The SERVER line identifies the license server, the host ID, and an optional port number with the following syntax:
SERVER hostname HOSTID [port_number]
A license file for a single license server or standalone configuration has one SERVER line. A license file for fault-tolerant licensing has three SERVER lines.
The SERVER lines of the license file can use a hostname that resolves to an IPv6 address.
You can only edit the hostname and the port_number.
hostname String returned by the UNIX hostname command.
For example, this /etc/services line defines the same FlexNet port that Cadence puts in the license file.
FlexNet 5280 # Cadence FlexNet daemons
The TCP/IP port number in the license file overrides the FlexNet service port listed in /etc/services or the equivalent NIS database.
DAEMON Line
DAEMON lines specify the vendor-specific daemon name (cdslmd), the path to the cdslmd executable, and an optional options file.
DAEMON cdslmd path [options]
Usually, the license file you receive from Cadence contains only one daemon, and lmgrd daemon starts that daemon.
For example, this cdslmd daemon uses an options file with path /usr/cds/share/license/options
DAEMON cdslmd /usr/cds/tools/bin/cdslmd /usr/cds/share/license/options
FEATURE Line
The FEATURE line specifies the license information.
You cannot edit this line without corrupting your license file.
FEATURE <FEATURE_NAME> cdslmd <VERSION> <EXPIRATION_DATE> <QUANTITY> <SIGNATURE> DUP_GROUP=<NONE|SITE|UHD> ISSUED=<ISSUED_DATE> ISSUER=<ISSUER> VENDOR_STRING=<UHD|J|S:PERM|DEMO>
SN=<SERIAL_NUMBER> vendor_info=<START_DATE> SIGN2=<TRL_SIGNATURE> V7.1_LK=<SIGNATURE>
Cadence license files contain only floating licenses. A floating license lets anyone on the network who can reach the license server use the software, unless the number of licenses specified in the license file are all in use.
|
Feature |
Description |
|
<FEATURE_NAME> |
Feature name that identifies this FEATURE. |
|
cdslmd |
Cadence vendor daemon name |
|
<VERSION> |
Version of this FEATURE. |
|
<EXPIRATION_DATE> |
Expiration date of this feature. |
|
<QUANTITY> |
Number of licenses for this FEATURE. |
|
<SIGNATURE> |
This signature is provided for backward compatibility to support older applications that are not integrated with TRL. |
|
DUP_GROUP |
Provides the duplicate grouping for this feature. The syntax is UHD|SITE|NONE. Setting the DUP_GROUP in the license file overrides the DUP_GROUP requested by the client during checkout. Going forward, Cadence products will use DUP_GROUP to determine the license type. |
|
ISSUED |
Date that the license was issued. |
| ISSUER | Cadence authentication signature |
|
VENDOR_STRING |
The syntax is UHD|S|J:PERM|DEMO. The "UHD|S|J" part is provided for backward compatibility. Newer versions of Cadence products will use DUP_GROUP to determine the license type. The "PERM|DEMO" part determines whether this FEATURE is a permanent or demo key. Only a demo license will be allowed to be pasted to a license file. |
|
SN |
Serial Number. Date and time when the license was generated will denote the serial number. The format of the serial number will be the following, YYYY-MM-DDThh:mm:ss:lll, where "lll" indicates the milliseconds and "T" differentiates date from time. |
|
vendor_info |
Stores the start date in "dd- mmm-yyyy" format for debugging or analysis purpose. |
|
SIGN2 |
TRL signature for the FEATURE. This is the new enhanced security signature. |
|
V7.1_LK=<SIGNATURE> |
The signature in addition to the <SIGNATURE> field ensures backward compatibility for older supported Cadence products |
Which Products Are in the License File?
One Cadence product can require more than one license (FEATURE). The product to feature mapping in the license file lists the licenses each product needs.
For example, if the license filelists these features for the NC-VHDL Simulator:
Product Name: Cadence(R) NC-VHDL Simulator
# Type: Floating Exp Date: 31-jul-2006 Qty: 1
# Feature: NC_VHDL_Simulator [Version: 9999.999]
# Feature: Affirma_sim_analysis_env [Version: 9999.999]
The license file includes these entries:
FEATURE NC_VHDL_Simulator cdslmd 9999.999 31-jul-2006 1 \
ADE4C8A10A40A8649256 VENDOR_STRING=J:PERM DUP_GROUP=NONE \
vendor_info=1-may-2006 ISSUED=01-may-2006 \
SN=2006-05-01T01:33:08:819 SIGN2="106D 1CFE ECFF 507A EABA \
3147 CD97 760A A18F 75A6 F1DF 5F9A EB97 2F8D 3AD8 1A5B 6FCC \
2D3F 46CC DE1E A9FF 9DEB 9FEE 3006 F75D 70D9 D7E5 8558 DCB4 \
CC10" V7.1_LK=4D94A891F2B6F6B6E7F1
FEATURE Affirma_sim_analysis_env cdslmd 9999.999 31-jul-2006 9 \
8D3468113BA0A7BC009E VENDOR_STRING=UHD:PERM DUP_GROUP=UHD \
vendor_info=1-may-2006 ISSUED=01-may-2006 \
SN=2006-05-01T01:33:08:819 SIGN2="03B5 01A1 F242 8AD8 B43C \
6BEE 45A5 9408 C589 54BA 33B0 1440 FABD 5E91 DFC6 16A4 D79E \
704F D1F7 F0E9 D7E7 5813 0978 E3C2 954F ADE5 C6BE 3A20 63DF \
EE52" V7.1_LK=CD1448F198849CE06357
If you have temporary licenses not generated by Cadence manufacturing, the e-mail header lists all products in the license file.
Which Products Are Available?
After locating an appropriate license file, the application contacts the defined license server for a license. If the application cannot get a license from the first license server, it continues down the list of license servers until a server grants a license or the list is exhausted.
The cdslmd daemon reads license files from the beginning, checking out the first available license. Several factors affect which licenses are available:
- The application uses any appropriate license file.
- An options file could restrict licenses.
- Multiple licenses for the same FEATURE with enabled start dates (start dates previous to the start or reread date of that the server) are valid according to the following rules:
- All temporary keys with enabled start dates are available. Cadence defines a temporary key as one with a 45-day limit.
- For permanent keys, only the set with the latest enabled start date is available.
- There is no interaction between temporary and permanent FEATURES.
Note: Encrypted start dates are in the license file. You will not be able to tell allowable sets or those ignored by reading the license file. You will get error messages when you try to use the ignored FEATURES. The log file also indicates ignored features. If you have several licenses for the same feature, contact your Cadence applications engineer if you cannot use all of them.
Combining License Files from Other Vendors
Consider these points when combining FlexNet-based license files from several vendors:
- The license files must use the same license server (using the same host ID)
- The license server must be running the latest lmgrd license daemons used by any of the vendors
- Your license and file servers must be using the latest Cadence licensing tools (utilities)
- If you use options file, you must use a separate options file for each daemon
- You can specify which vendor daemon to bring down when you use lmdown to shutdown the license server.
- Troubleshooting becomes more difficult
- You can specify which license daemon should reread the license file
For more complete information, see the FlexNet License Administration Manual and the FAQ at https://www.flexera.com
