Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ keygen(1) — SynOpSys Synthesis 3.1a

Media Vault

Software Library

Restoration Projects

Artifacts Sought

keygen(1)  —  Silicon Graphics 26 January 1993

NAME

keygen− generate FLEXlm style floating/node-locked license key(s). 

SYNTAX

keygen [-r synopsys_root] [-node] [-k key_seed] [-a arch] [-start start_date] [-i input_file] [-o output_file]

ARGUMENTS

Specifies that synopsys_root should be used as the UNIX path name where Synopsys tools are installed.  If the -r option is not specified, then the value of the environment variable SYNOPSYS is used as the path to the Synopsys root directory.  The Synopsys root directory is used to verify authorization to run keygen.  In interactive mode, this option must be specified to generate node-locked license keys instead of floating license keys.  In batch mode, this option is redundant.  The node-locked license keys allow unlimited use of that feature on the node (hostid) to which it is locked.  Seed value to use during encryption.  This must be an integer number.  If this option is not specified, then the user will be prompted for the seed value during interactive mode.  The default seed value is 0.  The same seed value must appear in the design source files for which the license key is being generated.  This seed value is used for all the license keys generated during the current session.  Specify the architecture type to be used in the DAEMON line while generating floating license keys.  Synopsys currently supports nine architectures, namely, apollo, decmips, hp700, mips, necmips, rs6000, sgimips, sonymips, and sparc.  Specify the start date of the license key.  By default, keygen uses the current date as the start date to activate the license key.  With this option, keygen enters the batch mode and the user will not be prompted for any input.  The input file must be in Highland FLEXlm style format (such as, any key file previously generated by keygen
 ). The -k option should be specified along with the -i option, otherwise a default seed value of 0 will be used to generate the license keys for all the FEATURE lines in the input file.  The user must also specify all the other options (such as, the seed value and start date) as required.  By default, keygen will output the license keys to standard output.  Use this option, to redirect all the generated keys to a file. 

DESCRIPTION

keygen will generate a Highland style floating or node-locked license key given a key seed, license name, version, expiration date and server ids.  The generated key along with the Synopsys license server daemons, will enable Synopsys tools to access the licensed parts. 

keygen operates in two different modes: interactive mode and batch mode.  With -i option, keygen enters the batch mode.  It this mode, keygen expects the input file to be in Highland style key file format.  This mode is provided to conveniently refresh the encrypted code in the existing key files.  In interactive mode (without -i option), keygen prompts the user for the required input and reads standard input to generate the required license keys.  Obviously, one can redirect standard input to read from a file that contains the relevant data which could otherwise be entered in response to prompts during an interactive session. 

Since the floating type license FEATURE lines produced by keygen will be appended to an existing Synopsys key file, you must enter the same SERVER information as the key file in which it will be appended.  The DAEMON line is ignored on input.  You can specify the architecture name to be used in the output DAEMON line by using the -a arch option. 

You can optionally lock the license to a particular node by specifying the -node option and responding to the "Hostid to lock this license to" prompt during interactive mode or by including an additional field in the FEATURE lines of the input file.  All node-locked keys must have the "number of users of this license" field set to 0, which gives unlimited access to the licensed part on that hostid. 

In batch mode ( -i option ), keygen expects the input to be in the form of a FLEXlm key file and does not prompt the user for any input.  The key seed defaults to 0, unless it has been specified on the command line.  The current date is the default start_date, unless you specify an alternate by using the -start option, or you have a valid encoded date as part of the 20-character authorization code. 

All prompts and error messages are written to standard error. 

The following is a transcript of keygen in interactive mode. 

% keygen -r /usr/cad/synopsys
Server name (CR to end list) : snowwhite
Server hostid : 240005f1
Server port number [1700] :
SERVER snowwhite 240005f1 1700
Server name (CR to end list) :
DAEMON synopsysd /usr/synopsys/arch/license/bin/synopsysd Key seed [0] : 123456 License name (CR to end list) : SP-COMP
Synopsys version [v3.0a] :
License start date (DD-MMM-YY) [01-jan-93] :
License expiration date (DD-MMM-YY) [31-dec-94] :
Number of users of this license : 10
FEATURE SP-COMP synopsysd 3.000 31-dec-94  10 8BCA42019D7A4FD2B7FD "80289D1125E4488C"
License name (CR to end list) :
%

The following example generates a node-locked license key for the feature named SP-Adders. 

% keygen -r /usr/cad/synopsys -node Key seed [0] : 123456 License name (CR to end list) : SP-Adders
Synopsys version [v3.0a] :
License start date (DD-MMM-YY) [01-jan-93] :
License expiration date (DD-MMM-YY) [31-dec-94] :
Hostid to lock this license to: 5100045c
FEATURE SP-Adders  synopsysd 3.000 31-dec-94   0 6B8A6211C6A7D21BF1BA "9340ED5E524C3E46" 5100045c License name (CR to end list) :

The following is the sample floating NLS key file produced for license keys SP-COMP and SP-Adders.  SERVER snowwhite 240005f1 1700
DAEMON synopsysd /usr/synopsys/arch/license/bin/synopsysd
FEATURE SP-COMP synopsysd 3.000 31-dec-94  10 8BCA42019D7A4FD2B7FD "80289D1125E4488C"
FEATURE SP-Adders  synopsysd 3.000 31-dec-94   0 6B8A6211C6A7D21BF1BA "9340ED5E524C3E46" 5100045c
The SERVER line consists of the keyword "SERVER" followed by server hostname, server hostid and the port number. The DAEMON line consists of the keyword "DAEMON" followed by the name of the vendor daemon that will serve license requests, the path to the vendor daemon and optionally the path to the options file. This path may be changed to the actual path to synopsysd executable with no impact on the existing keys.  The FEATURE lines consists of the word "FEATURE", followed by the license name, vendor daemon that will manage this feature, Synopsys version, expiration date, number of users of this feature, 20-character encrypted string, 16-character encrypted string, and optionally the hostid to which this feature is locked. 

If you make changes to any of the readable fields (except for port number, and the DAEMON line changes), you must rerun keygen in batch mode (using -i option) to refresh the encrypted strings.  This can be done as follows (assuming that the above keys are saved in the file named key.in ): keygen -r /usr/cad/synopsys -k 123456 -i key.in -o key.out Note that all the keys will be refreshed and will use the same seed value specified by the -k option. 

The hostid can be determined by running the machine_id program provided by Synopsys. 

AUTHORIZATION

You must have Designware-Developer license from Synopsys to enable the keygen program.  By setting the environment variable SYNOPSYS to the path for the synopsys root directory or by using the -r option on the command line, the program can determine if this site/host has a valid Designware-Developer key. 

SYNOPSYS LICENSE REQUIREMENTS

Within a licensed part, license name and key seed must be defined as an embedded dc_shell script as described in Designware Developer’s Guide.  The license name designates the name of the licensed key, for example, "SP-COMP", and is case-sensitive.  The license name must begin with a letter followed by letters, digits or a dash (−) and must not exceed 30 characters in length.  It is highly recommended that you have a standard prefix to all your license names (for example, the vendor prefix) to avoid name conflicts with other vendors and make it easier for your customers to identify the designware vendors. 

The version number must be set to the version of the Synopsys tools under which the part was developed (default version).  This will require the user of the Designware part to use the same or a later version of the Synopsys Synthesis tools.  For example, if the Designware part was developed using version v3.0 of Synopsys tools, the user of the Designware part, must be running version "v3.0" or higher of Synopsys tools to enable the license key. 

ERRORS

keygen returns the following error codes:

 Error CodeCondition
    0Normal Exit, no errors
    1Cannot Open Output File
    2Cannot Open Input File
    3No Key Seed Specified
    4Syntax Error in Input File
    5Not authorized to run keygen
    6Invalid Argument
    7No License Name Given
    8Bad Version Number
    9Missing or Bad Start Date
   10Bad Expiration Date
   11Number of Users is <= 0 (only for floating keys)
   12Bad Server Specified
   13Missing or Bad Architecture Specified
   14Bad Authorization Code in Input File
   15Feature name exceeds max length

 

PLATFORM-SPECIFIC HOSTID FORMATS

You don’t have to supply a Synopsys architecture name with the hostid you specify for a SERVER or node-locked FEATURE line. keygen determines the general type of machine based on the format of the hostid you supply. 
 
Most platforms (including Sun, Solbourne and Apollo) use a 32-bit or at most 8-hexadecimal character hostid. All hostids 8 characters in length and less are recognized in this way. The DEC and HP9000/700 machines use 48-bit, 12-hexadecimal character, Ethernet address hostids. Any 12-character hostid is recognized as an Ethernet address if its first four characters are "0800".
 
The exception to this rule is for the 12-hexadecimal character IBM RS/6000 hostids obtained from the AIX uname -m command. keygen accepts, but discards, the leading two and trailing two "00" characters.  You may enter IBM RS/6000 hostids as either the middle 8-hexadecimal characters or the entire 12-hexadecimal character string.  However, the program only writes a 32-bit, at most 8-hexadecimal character, value to the output license file. 
 

SEE ALSO

Synopsys Installation and Configuration Guide , Synopsys, Inc. 
Designware Developer’s Guide , Synopsys, Inc. 

Version .1a  —  March 25, 1994

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026