Product Documentation
Virtuoso Studio Licensing and Configuration User Guide
Product Version IC23.1, September 2023

1


Configuring the Virtuoso Studio Design Environment

The Virtuoso Studio Licensing and Configuration User Guide describes how to configure the Virtuoso® Studio software as well as provides the following information about the environment:

Prerequisites

This user guide is aimed at developers and designers of integrated circuits and assumes that you are familiar with:

The Virtuoso Studio design environment technology file.The following topics are discussed in this chapter:

Use the Cadence Installation Guide and Cadence License Manager to install the Virtuoso® Studio software and configure the licenses.

Virtuoso Studio

Virtuoso Studio provides a seamless transition from one Virtuoso Studio design environment to another with help of the common user interface (UI) and the automated license checkout process.

This platform provides a unified front-to-back design environment. The front-end design environment consists of Virtuoso Schematic Editor® (VSE) and ADE product families. The back-end consists of the Virtuoso Layout Suite® (VLS) product family.

Each of the product families contains applications in a tiered packaging structure, and conform to common and consistent licensing behavior and operation.

Overview of Virtuoso Studio Product Families

Virtuoso Studio Licensing

When you purchase a Virtuoso product, you also purchase licenses that entitle you to use the applications that are part of that product. Most of these licenses are floating licenses that are available to anyone in the work group. They are checked out from a central license pool at the beginning of work and checked back in when work is done. A few licenses might be restricted to specific users or servers.

When you run Virtuoso software, you are more likely to use applications in combination with each other and the software checks out the necessary licenses automatically when you run the command to start an application. Alternatively, you can check licenses in and out from the Command Interpreter Window (CIW).

Application Levels of Virtuoso Studio License

Some Virtuoso applications are available at two or three different levels. The most basic read-only tier is Viewer, unassisted tier is L; the standard, assisted tier is XL; the advanced, automated tiers are  EXL and MXL. Each higher tier provides additional features with more automated design assistance and you can also set the default application level for a cellview.

The following table shows the tiers for various Virtuoso applications:

Application

Family Tiers

Schematics

L, XL

Layout

XL, EXL, MXL

ADE

Explorer, Assembler, Verifier

The file your_install_dir/share/license/products.dfII contains product numbers and feature strings for Virtuoso software licenses.

You can check out and use applications of different levels together. The software always checks out the highest level license you need. If you descend in your design hierarchy, the software maintains the application level you are using.

If your attempt to check out a particular license level fails, the program asks whether you want to check out the next “higher-tiered” license. For example, if you cannot check out a license for Layout XL, the program asks whether you want to check out a higher-tiered license to run the Layout application. Your answer can be Session, Skip, Always, or Never. The Session and Skip options are stored in the memory.  If you answer Always, the program automatically tries for a higher-tiered license without asking you again. If you answer Never, the program never tries for a higher-tiered license and never asks you again.The Always and Never options are automatically written in the .cdsenv file. When Always and Never options are used, current values for the licenses VLSAdvOpt_UseNextLicense (95511) and VLSAdvStd_UseNextLicense (95512) are used.

For L, XL, and EXL applications, such as Schematic, you can check out licenses one per user, host, display. You can open more than one session with a single license.

For GXL applications in the Layout applications, the software allocates tokens for the features you use.

Types of Licenses

License Consumption in Product Tiers

Product Tier: L

The L product tier offers basic design creation and implementation capabilities.

Base Product Name License Feature Name License Type

Virtuoso Schematic Editor L

Virtuoso_Schematic_Editor_L
(95100)

UHD

The corresponding Virtuoso Layout L tier is no longer supported. . For more information, see Virtuoso Layout Suite XL: Basic Editing User Guide and Virtuoso Layout Viewer User Guide

Product Tier: XL

The XL product tier contains IC design products that introduce new technologies and advancements in design automation. The XL tier offers tightened linkage between design and implementation phases in the areas of creation, analysis, implementation, and repair.

Base Product Name License Feature Name License Type

Virtuoso Layout Suite XL

Virtuoso_Layout_Suite_XL
(95310)

UHD

Virtuoso Schematic Editor XL

Virtuoso_Schematic_Editor_XL
(95115)

UHD

Product Tier: EXL

The EXL product tier offers full access to all the Layout XL functionality in addition to providing access to all the functionality that was accessible under Layout EAD in previous releases. The Layout EXL product tier is also the default application for advanced applications such as concurrent layout editing, design planning, congestion analysis and interactive simulation driven routing.

Layout EXL is also the minimum base application required for fully integrated access to layout tools and flows facilitating advanced layout design at 5nm process nodes and below.

For more information on enabling the EAD workspace and engines within Layout EXL, see Virtuoso Electrically Aware Design Flow Guide

Base Product Name License Feature Name License Type

Virtuoso Layout Suite EXL

Virtuoso_Layout_Suite_EXL
(95800)

UHD

Only one base license per product family tier is checked out at a time. As a result:

Product Tier: MXL

The MXL product tier is the highest tier for layout application introduced in the Virtuoso Studio IC 23.1 release. It offers full access to all the Layout EXL functionality in addition to the integrated automated placement and routing solutions with unified interface to cater to all the design styles across both mature and advanced process nodes.

The Layout MXL tier is also the default cockpit for designing the integrated circuits in the context of the larger system-level design by providing technologies to address heterogeneous design, such as co-design and multi-fabric electromagnetic and thermal analysis.

Products that are not Tier-Based

Product Name License Feature Name License Type

Virtuoso Layout Viewer

Virtuoso_Adv_Node_Framework (95011)

UHD

Virtuoso ADE Explorer

Virtuoso_ADE_Explorer
(95250)

UHD

Virtuoso ADE Assembler

Virtuoso_ADE_Assembler (95260)

UHD

Virtuoso ADE Verifier

Virtuoso_ADE_Verifier
(95270)

UHD

For information on the specific features in each of the product tiers, see Software Product License Management Form: Diagnostics Tab.

Additional Feature Licenses

Some product features require you to check out additional licenses on top of the base product license for the product you are using.

Similarly, advanced node features require the Virtuoso_Adv_Node_Opt_Layout (Product Number 95511), the Virtuoso_Adv_Node_Opt_Lay_Std (Product Number 95512),or the Virtuoso_Adv_Node_Layout_GAA (Product Number 95513) license.

Some of the additional licenses are not needed in the MXL tier as shown in table below.

Layout Tier

VLS-XL

(95310)

VLS-EXL

(95800)

VLS-MXL

(95810)

Virtuoso MultiTech Option

+95022

VLS GXL - Automation

+95323

+95323

Virtuoso Photonics
Basic optical editing and ORC

+ 95550

+ 95550

Virtuoso RF
Multi-fabric RF and EM Analysis

+ 95560

+ 95560

Advanced Node > 10nm

+ 95512

+ 95512

+ 95512

Advanced Node <10nm

+ 95511  

+ 95511

+ 95511

Advanced Node <5nm

+ 95511

+ 95511

Advanced Node GAA / 2nm

+ 95513

+ 95513

You can start applications in each Virtuoso product family using one of the following methods:

Choosing Default Applications

Use one of the following methods to open a design in a specific product family tier and keep that setting as the default upon startup:

To set the default application using any of the methods above:

  1. Choose the desired application in the Application field.
  2. Select the Always use this application for this type of file option.
    This field is mapped to the environment variables
    • maskLayoutDefaultApp
    • schematicDefaultApp
    • schematicSymbolDefaultApp

In the event that the default application is not a base application (L tier), only the license of the chosen application will be checked out, not the base application. Only one of the base licenses in a given family is ever checked out at any one time.

Setting the CDS_Netlisting_Mode Environment Variable

When working in ADE, you need to set the CDS_Netlisting_Mode SHELL environment variable to Analog using one of the following methods:

Design Framework II Licenses

Product licenses 111 and 95011 (Virtuoso_Adv_Node_Framework) are checked out at workbench start and while performing the following activities:

In the event of a DFII license failure at startup, the Virtuoso application exits and an error message is displayed in the CIW as well as a log file.

License Check Out/Check In Behavior

This topic discusses:

License Usage When Using Interactive Commands

When you launch a GXL-based feature from the XL or EXL tier, the following token license activities occur:

The Context and Window – Toolbar menus do not affect the state of a token license. These menus are navigation aids and are not linked to license activity.

For all of the Virtuoso GXL features, with the exception of the Custom Digital Placer and Floorplanning, licenses are checked in after completion of the command. For the Custom Digital Placer and Floorplanning, the license is checked in only when the task is disabled or the XL or EXL session is exited.

There is now an enforced restriction on license check-in that prevents license check in when an application or a GXL capability is still using the license.

License Usage When Using Non-Interactive Commands

Non-interactive, lengthy, and batch commands check out the license at the beginning of the command and automatically check in the license upon completion of the command activity. This model applies to automatic placers and routers.

License Activity for Various Applications

License Requirements for Advanced Node and Advanced Methodologies Features

When you open or edit a design, the application checks if there is constraint or design element in use that requires the use of the layout advanced option license and the application requests for that license to be checked out. This license is referred to as the minimum data license. These licenses are listed in the table below from highest capability to the lowest capability.

License Feature (licName)

Product
Number

Product Description

Virtuoso_Adv_Node_Layout_GAA

95513

Virtuoso Advanced Node Option for GAA

Virtuoso_Adv_Node_Opt_Layout

95511

Virtuoso Advanced Node Option for Layout

Virtuoso_Adv_Node_Opt_Lay_Std

95512

Virtuoso Advanced Node Option for Layout Standard

The following table lists the license requirements for different advanced node features:

Product Capability/Feature

License Required

Technology database contains features related to GAA

Virtuoso_Adv_Node_Layout_GAA

Technology database contains a layer with more than two masks

Virtuoso_Adv_Node_Opt_Layout

or

Virtuoso_Adv_Node_Layout_GAA

Layout XL cellview or the technology database contains WSP data.

The license is not required in Layout EXL or higher tiers.

See Virtuoso Width Spacing Patterns User Guide.

Virtuoso_Adv_Node_Opt_Lay_Std

Cellview or technology database contains a constraint or constraint parameter that requires 95511 license.

See Supported Constraints and Parameters: ICADVM20.1 Only-95511.

Virtuoso_Adv_Node_Opt_Layout

or

Virtuoso_Adv_Node_Layout_GAA

Technology database contains snap pattern definitions.

Virtuoso_Adv_Node_Opt_Lay_Std

Technology database contains a layer with 2 masks and no layer with more than 2 masks.

Virtuoso_Adv_Node_Opt_Lay_Std

or

Virtuoso_Adv_Node_Opt_Layout

or

Virtuoso_Adv_Node_Layout_GAA

Cellview or technology database contains a constraint or constraint parameter that requires 95512 license.

See Supported Constraints and Parameters: Advanced Nodes Only.

Virtuoso_Adv_Node_Opt_Lay_Std

or

Virtuoso_Adv_Node_Opt_Layout

or

Virtuoso_Adv_Node_Layout_GAA

Advanced node features that are not listed in this table.

Virtuoso_Adv_Node_Opt_Lay_Std

or

Virtuoso_Adv_Node_Opt_Layout

or

Virtuoso_Adv_Node_Layout_GAA

When no advanced node data is present.

Neither

Virtuoso_Adv_Node_Opt_Lay_Std

nor

Virtuoso_Adv_Node_Opt_Layout

or

Virtuoso_Adv_Node_Layout_GAA

Advanced Node License Checkout Order

The checkout order of these licenses is controlled by the VLSAdvOptLicenseCheckoutOrder cadence environment variable. The default checkout order is:

"license" "VLSAdvOptLicenseCheckoutOrder" 'string "95512 95511 95513"

The license checkout order works when the license checkout request is being processed. This process always starts from the first license in the list until it finds a license that meets the checkout requirement and is available for checkout.

As you can use VLSAdvOptLicenseCheckoutOrder to change checkout order based on your requirements, Virtuoso takes the requesting license and goes over the checkout order value until it finds the first value that meets the requirements and can be checked out successfully.

License requested >

95512

95511

95513

License Available

95512

Eligible for checkout

Not eligible

Not eligible

95511

Eligible for checkout

Eligible for checkout

Not eligible

95513

Eligible for checkout

Eligible for checkout

Eligible for checkout

You can also reset the checkout order using the controls in the Software Product License Management Form: Ordering Tab.

Virtuoso Visualization and Analysis XL and ADE Licenses

Virtuoso Visualization and Analysis tool runs only in the XL mode, which supports all the features of Virtuoso Visualization and Analysis L and XL from previous releases. It follows the license check out procedure given below.

License Usage in ADE Explorer and ADE Assembler

Depending on the run mode and feature being used ADE Explorer and ADE Assembler require different licenses. The following table describes the license consumption:

Table 1-1 License Checkout Behavior for ADE Explorer and ADE Assembler

Action License Checkout Preference Order (depending on the availability)

Open ADE Explorer

Virtuoso_ADE_Explorer

Virtuoso_ADE_Assembler

Open ADE Assembler

Virtuoso_ADE_Assembler

Switch from ADE Explorer to ADE Assembler

Check in Virtuoso_ADE_Explorer license and check out Virtuoso_ADE_Assembler license

Switch from ADE Assembler to ADE Explorer

Use only Virtuoso_ADE_Assembler license

In addition to the Virtuoso ADE Assembler license, you would require the Virtuoso_Variation_Option (95265) license for the following advanced options in Virtuoso ADE Assembler:

When running a large number of parallel jobs from ADE Explorer or Assembler, the Virtuoso Simulation Expansion Option (95290) license is required for every increment of 400 jobs. Also, Virtuoso ADE Simulation Manager (95237) license is required to enable maximum simulation throughput and responsiveness in ADE Assembler.

License Checkout When Running the Virtuoso Schematic and Verilog Driven Mixed-Signal Flow

To run the Virtuoso Schematic and Verilog Driven Mixed-Signal Flow, you must set the CDS_ENABLE_VMS environment variable before starting Virtuoso.

License Checkout While Running the Electrically Aware Design (EAD) Flow

While running simulations in Virtuoso ADE Assembler to generate electrical data and save datasets for the EAD flow, in addition to the base license for Virtuoso ADE Assembler, the EAD flow requires either of the following licenses:

You can change the default license checkout order using the EADdatasetCheckoutOrder environment variable.

License Checkout for Virtuoso Photonics Platform

To enable the photonics flows, you can set either the Virtuoso_Photonics_Platform shell or the Virtuoso_Photonics_Option environment variable.

After setting the Virtuoso_Photonics_Platform variable, when you start Virtuoso, an attempt is made to check out and initialize the Virtuoso_Photonics_Platform license (Product Number 95551). If this license is available, you will not need separate licenses for Virtuoso CurvyCore technology, Virtuoso Schematic Editor, Virtuoso Layout Suite, and Analog Design Environment features.

Alternatively, you can also set the Virtuoso_Photonics_Option environment variable to enable the photonics features. After setting this environment variable, when you start any Virtuoso application, such as Virtuoso, stream, itkDB-based binaries, an attempt is made to check out and initialize the Virtuoso_Photonics_Option license (Product Number 95550). Subsequently, as you open editing cockpits, relevant product licenses will be checked out (for example, VLS-EXL for layout editing), as needed.

In both the cases, if the specified license is not found, the launch of the executable fails.

To enable Virtuoso CurvyCore technology, you would need the Virtuoso_MultiTech_Framework license in addition to the Virtuoso_Photonics_Option license. However, in case of Virtuoso_Photonics_Platform license, Virtuoso CurvyCore technology is enabled automatically.

You can use the dbIsPhotonicsEnabled() API to check if the photonics features have been enabled.

License Checkout for Virtuoso MultiTech Framework

To enable Virtuoso MultiTech Framework, you need to set the shell environment variables Virtuoso_MultiTech.

After setting one of the above shell environment variables, when you start Virtuoso, the following licenses are checked out:

License Check out for Virtuoso RF IC Design Solution

One of the following Cadence EM Solvers:

Virtuoso Layout Suite EXL includes:

License Check out for Virtuoso RF System Design Solution - Module Layout in Virtuoso

Virtuoso Layout Suite EXL includes the Electromagnetic Assistant and the interface to EM solvers.

You must set the following shell environment variable before you launch Virtuoso:

This environment variable is not needed in Layout MXL.

License Check out for Virtuoso RF System Design Solution - Module Layout in Allegro

You must set the following shell environment variable before you launch Virtuoso:

License Checkout for Virtuoso Power Manager

License Checkout When Running PVS-CV in Virtuoso

When running Physical Verification System (PVS) Constraint Validation (CV) in Virtuoso, the following license is checked out in addition to the base product licenses, which are checked out depending on the requirement of other features being used:

License Checkout When Running Virtuoso IPVS

Virtuoso Integrated Physical Verification System (IPVS) requires the following licenses:

Basic Licenses:

Advanced Licenses:

For more information, see Licenses Requirements and Behaviors in the Virtuoso IPVS User Guide.

License Checkout for Running Third-party Simulators

For running third-party (non-MMSIM) simulators in ADE product family (Explorer/Assembler) the Virtuoso® Analog Oasis Run-Time Option license (OASIS_Simulation_Interface, Product Number 32100) is required. Prior to usage, the simulator must be authorized for integration into the simulation environment. To integrate a commercially available simulator contact Cadence Connections (connections@cadence.com) and to integrate a proprietary simulator, contact Cadence Customer Support.

Once the integration is complete, the Oasis Run-Time Option license will be checked out and held during netlisting and simulation. The license is checked back in when the netlisting and simulation run is complete.

License Checkout When Running Express Pcell in Virtuoso

The Express Pcell capabilities are available through Cadence Design Framework II (Product Number 111) without a need to check out the VLS XL license.

Abstract Generator License Usage

Abstract Generator requires the Virtuoso_Layout_Suite_XL, Virtuoso_Layout_Suite_EXL, or Virtuoso_Layout_Suite_MXL and Virtuoso_Adv_Node_Opt_Layout,  Virtuoso_Adv_Node_Opt_Lay_Std, or Virtuoso_Adv_Node_Layout_GAA licenses.

License Checkout When Running Design Planning and Analysis

Design Planning and Analysis requires Virtuoso_Layout_Suite_EXL and 12 GXL Tokens or Virtuoso_Layout_Suite_MXL.

Pcells and License Usage

Pcell Interoperability and Performance: The actions of saving, editing, or opening a database using Core Cached Pcells capability, from either the GUI or SKILL and from any application, causes a Virtuoso_Layout_Suite_XL license to be checked out.

Process Rule Editor: The use of the Process Rule Editor, or associated SKILL function, to save, edit, or open a techDB or design object requires a Virtuoso_Layout_Suite_XL or Virtuoso_Schematic_Editor_XL license to be checked out.

Summary of License Checkout Behavior

The following table summarizes the license check-out behavior for different product features:

Table 1-2 Summary of License Check-Out Behavior

Product Capability/Feature Base Product License Required Additional License Required Close Application Window1

VSE L (Read only mode)

None

None

NA

VSE L (Edit mode)

Virtuoso_Schematic_Editor_L

None

License checked in

VSE XL

Virtuoso_Schematic_Editor_XL

None

License checked in

ADE Explorer

Virtuoso_ADE_Explorer

or

Virtuoso_ADE_Assembler

None

License checked in

ADE Assembler

Virtuoso_ADE_Assembler

None

License checked in

ADE Verifier

Virtuoso_ADE_Verifier

The implementations whose simulations are started from Verifier require their appropriate licenses.

License checked in

Command-Line IP Selector

AMS_environment (Product Number 70000)

None

License checked in

VLS XL

Virtuoso_Layout_Suite_XL

or

Virtuoso_Layout_Suite_EXL

or

Virtuoso_Layout_Suite_MXL

Virtuoso_Adv_Node_Opt_Layout

or

Virtuoso_Adv_Node_Opt_Lay_Std

or

Virtuoso_Adv_Node_Layout_GAA

License checked in

VLS EXL

Virtuoso_Layout_Suite_EXL

or

Virtuoso_Layout_Suite_MXL

Virtuoso_Adv_Node_Opt_Layout

or

Virtuoso_Adv_Node_Opt_Lay_Std

or

Virtuoso_Adv_Node_Layout_GAA

License checked in

VLS MXL

Virtuoso_Layout_Suite_MXL

Virtuoso_Adv_Node_Opt_Layout

or

Virtuoso_Adv_Node_Opt_Lay_Std

or

Virtuoso_Adv_Node_Layout_GAA

License checked in

1 Close all windows running this application except the CIW.

* The Virtuoso_Adv_Node_Opt_Layout,  Virtuoso_Adv_Node_Opt_Lay_Std, or Virtuoso_Adv_Node_Layout_GAA license is checked in when the last layout window is closed.

Setting License Check Environment Variables

There are a range of license check environment variables that can be used for detailed license checkout reporting. For example, you can set an environment variable to report whether a license check is taking too long or if a particular license or token has been checked out.

These license environment variables, as shown in an example for each below, can be set in one of two ways:

  1. Using setenv before running Virtuoso.
  2. Using the SKILL function setShellEnvVar() during a Virtuoso session.
    • CDS_LIC_PRINT_FILTER
      This environment variable can contain a string with the names of license features and token capabilities, for detailed license checkout reporting using the format:
      "Feature1:Token1,Token2,...:TokenN,Feature2, ...,FeatureM"
      If CDS_LIC_PRINT_FILTER is not defined, the license feature “111” will be the default.
      You can obtain a list of all registered token capabilities by examining the content of the Software Product License Management Form: Token Usage Tab.
      For example:
      setenv CDS_LIC_PRINT_FILTER "111, Virtuoso_Layout_Suite_XL, Virtuoso_Layout_Suite_GXL:VLS_GXL"
      setShellEnvVar("CDS_LIC_PRINT_FILTER=111, Virtuoso_Layout_Suite_XL, Virtuoso_Layout_Suite_GXL:VLS_GXL")
      You can also use a number of aliases with the CDS_LIC_PRINT_FILTER environment variable to cover multiple feature settings:
      Environment Variable Value Alias License Tool Interprets CDS_LIC_PRINT_FILTER for

      all

      All tiered licenses, including all token capabilities and license “111”.

      vlsall

      All licenses related to the Virtuoso Layout Suite family.

      adeall

      All licenses related to the Analog Design Environment family.

      vseall

      All licenses related to the Virtuoso Schematic Editor family.


      When setting the CDS_LIC_PRINT_FILTER environment variable value, you can also combine application names and aliases, for example:
      setenv CDS_LIC_PRINT_FILTER "Virtuoso_Layout_Suite_XL,vseall,adeall":virtuoso
      setenv CDS_LIC_PRINT_FILTER "vlsall,vseall,adeall,111":virtuoso

      If you set "Virtuoso_Layout_Suite_GXL:all", the license tool will interpret CDS_LIC_PRINT_FILTER as containing all token capabilities for the token license “Virtuoso_Layout_Suite_GXL”.
    • CDS_LIC_PRINT_TIME
      This boolean environment variable can be set to output the time (in milliseconds) to the CIW that is taken during a license check-out process. The values that can be set for CDS_LIC_PRINT_TIME are 0 (do not print time) and 1 (print time), the default being 1.
      For example:
      setenv CDS_LIC_PRINT_TIME 0
      or
      setShellEnvVar(“CDS_LIC_PRINT_TIME=0”)
    • CDS_LIC_PRINT_ALWAYS
      This boolean environment variable can be set to output messages for a particular license feature each time that license feature is checked out. The values that can be set for CDS_LIC_PRINT_ALWAYS are 0 (do not print each time) and 1 (print each time), the default being 0.
      If CDS_LIC_PRINT_ALWAYS is not defined, or its value is 0, the message will be output only one time to the CIW.
      For example:
      setenv CDS_LIC_PRINT_ALWAYS 1
      or
      setShellEnvVar(“CDS_LIC_PRINT_ALWAYS=1”)
    • CDS_LIC_TIMER_INTERVAL
      This environment variable is used to set the number of seconds required to pass, for a license search, before a timeout occurs. If the license check time exceeds the value of CDS_LIC_TIMER_INTERVAL, a message will be output to the CIW informing you that the check time has been exceeded. The default value is 15 seconds.
      For example:
      setenv CDS_LIC_TIMER_INTERVAL 10
      or
      setShellEnvVar(“CDS_LIC_TIMER_INTERVAL=10”)
    • CDS_LIC_PRINT_TYPE
      This environment variable can be set to output all license call related messages (information and warning) to the CIW, or only the warning messages. If the value of CDS_LIC_PRINT_TYPE is set to “warn”, then only warning messages will be output to the CIW. If set to “all”, both information and warning messages will be output. The default is “warn”.
      For example:
      setenv CDS_LIC_PRINT_TYPE “all”
      or
      setShellEnvVar(“CDS_LIC_PRINT_TYPE=all”)
    • CDS_LIC_TIMEOUT_DIALOG
      This environment variable is used to display the timeout dialog when the license checkout time of a license feature, as defined by CDS_LIC_PRINT_FILTER, exceeds the timer interval specified by CDS_LIC_TIMER_INTERVAL. The value of CDS_LIC_TIMEOUT_DIALOG can be either “1” (which will display the dialog) or “0” (which will not display the dialog). The default value is “0”.
      For the initial 111 license, the timeout dialog will be displayed even when there is no license 111 in CDS_LIC_PRINT_FILTER and irrespective of CDS_LIC_TIMEOUT_DIALOG being set.
    • CIC_ENABLE_LIC_PERF
      This environment variable tests the license checkout performance of license features. If the license checkout time exceeds the specified threshold, a warning message is printed to the CIW.
      For example:
      setenv CIC_ENABLE_LIC_PERF "limit=0.08 pings=4 interval=0.5"
      Where,
      limit = [time] is the threshold value for checkout time (in seconds).
      pings = [count] is the number of pings sent to the license server. When this option is set, a specified number of pings will be sent to each license server (defined in CDS_LIC_FILE), when the license request time exceeds the threshold value. The default is 0, which means no pings are sent to the license server.
      interval = [time] defines the time interval (in seconds) between pings.
      The results from the ping commands are printed to the CIW.

Advanced Features and Token Licenses

The advanced technology features in the XL and EXL tiers are accessed by tokens or multi-feature licenses which are defined by a multi-feature license model.

See also Methods to Track Token Licenses.

A token is one copy of a multi-feature license. Each feature requires a specific number of tokens. GXL multi-feature licenses are Job-based (J) licenses which are not shared between processes.

GXL Multi-Feature License Tokens

A specific number of tokens is required to access advanced features in Virtuoso_Layout_Suite_XL and Virtuoso_Layout_Suite_EXL. Tokens are not needed when same features are accessed from the Layout MXL tier.

If all of your license tokens are currently in use, or you have insufficient tokens to access a particular feature, additional tokens can be obtained by contacting your local Cadence representative. The following table lists the tokens needed for the VLS GXL multi-feature licenses:

Table 1-3 Tokens per Feature (VLS GXL)

Features

VLS_XL

VLS_EXL

Version

Analog_Auto_Placer

8

8

23.1

Congestion Analysis

12

23.1

Concurrent Layout Editing

4

0

23.1

Design_Planning_Analysis

12

23.1

Digital_Auto_Placer

2

2

23.1

Digital_Auto_Placer_Adv

24

23.1

Floorplanning

4

4

23.1

Integrated_Short_Locator

3

3

23.1

Module_Generator

2

0

23.1

Slotting

4

0

23.1

Space_based_Router

12

12

23.1

Symbolic_Placement_Devices

2

2

23.1

VPLGen

1

23.1

Important Points to Note

Virtuoso Space-based Router Tokens

Some Virtuoso Space-based Router features, such as viewing, navigation, and DRC checking, can be run from Virtuoso Layout Suite XL or EXL without additional licensing. Space_based Router tokens are required to perform routing and other tasks that modify the routing and routing environment, based on the number of nets in the design. When you invoke the first command that requires Space_based Router tokens, the tokens are checked out and are not released until you exit Virtuoso Space-based Router.

Some Virtuoso Space-based Router commands can use multiple processors in one workstation to accelerate processing. Additional Space_based Router tokens are required for the additional processors. The below table shows the number of additional tokens that you will need, based on the number of processors, or threads, that you want to use. License tokens can be reserved globally for use by all commands in a session or can be checked out as needed for a command. Tokens Per Feature: VSR for Automatic Routing (Space_based_Router)

Number of Nets Number of Processors Number of Tokens

0 to 1

N/A

VLS XL license required

2 to 9999

1

12

2 to 9999

2 to 4

24 (+12)

2 to 9999

5 to 8

36 (+12)

2 to 9999

9 to 12

48 (+12)

2 to 9999

each additional 4 processors (over 4 processors)

+ 12 tokens

10,000 to 249,999

1

24

10,000 to 249,999

2 to 4

48 (+24)

10,000 to 249,999

5 to 8

72 (+24)

10,000 to 249,999

9 to 12

96 (+24)

10,000 to 249,999

each additional 4 processors (over 4 processors)

+ 24 tokens

>= 250,000

1

48

>= 250,000

2 to 4

72 (+24)

>= 250,000

5 to 8

96 (+24)

>= 250,000

9 to 12

120 (+24)

>= 250,000

each additional 4 processors (over 4 processors)

+ 24 tokens

For example, if your design has 100,000 nets and you want to run Virtuoso Space-based Router using six (6) processors, you will need 48 Space_based Router tokens, 24 for the net count plus 24 for the thread count.

Methods to Track Token Licenses

The following methods can be used to track token license activity.

lmstat Command

The lmstat command can be used to track token license activity from the command line. It reports activity for one license server only. Use the following arguments with the lmstat command.

Option

Description

-a

Display everything

-c license_file

Use "license_file" as license file

-f [feature_name]

List usage info about specified (or all) features

-i [feature_name]

List info about specified (or all) feature(s) from the increment line in the license file

-S [DAEMON]

Display all users of DAEMON licenses

-s [server_name]

Display status of all license files on server node(s)

-t timeout_value

Set connection timeout to "timeout_value"

-v

Display FLEXlm version, revision, and patch

-old

Allow communications with an old server that uses communications version 1.2 or earlier

-help

Print this message

Example

  1. Type the following in a shell window:
    lmstat -c <license.file> -f "<feature.name>"
    For example,
    lmstat -c sj234flex4 -f "Virtuoso_Layout_Suite_GXL"
  2. Review the output.
    In this example, designer1 on host lne2 has the VLS_GXL license checked out (4 tokens).
    For more information about the lmstat command, see the Cadence License Manager.
    The tokenPrintCapabilities SKILL function that printed the details of registered token licenses, including the number of tokens required for each capability and whether or not it is in use, no longer prints the token details. It will be deprecated in a future release. For more information on tokenPrintCapabilities, refer to the Virtuoso Studio Design Environment SKILL Reference.

Software Product License Management Form

You can use the Software Product License Management form to manage the licensing activity.

To open the form:

The form contains the following tabs to handle the licensing process:

Software Product License Management Form: Status Tab

To open the Software Product License Management form - Status tab

Checking the License Status

You can check the license status using either of the following ways:

Viewing Relevant Licenses

The Relevant Licenses pane on the Status tab lists the DFII licenses relevant to all of the tools incorporated into the workbench.

You can sort the licenses displayed in the Checked out Licenses and Relevant Licenses panes by clicking the arrow ( ) next to the Number, Product Name, or In Use column headers.

Viewing Solution-based Licenses

Licenses checked-out for a solution can be viewed when you set the specific environment.

The following licenses are checked out when the Virtuoso Photonics solution is enabled:

The following licenses are checked out when the Virtuoso RF solution is enabled:

Adding Custom Products to the Status Tab

To add custom products and their license information to the Status tab, set the CDS_PRODUCTS_DFII_LIC_UI shell variable. The CDS_PRODUCTS_DFII_LIC_UI variable points to the file where the information about the custom products and license is stored in the following format:

<Product Number><separator><Product Name><separator><License Feature Name><endl>
where,
<separator> is ':'
and
is '\n'

Here, the definition for the custom product and license information use this format in one line and any blank lines are ignored.

Refreshing the License Status

To update the Checked Out Licenses and Relevant Licenses panes, click Refresh.

This action will update the Checked Out Licenses and Relevant Licenses lists to show the current list of products being run, and the respective license count, along with any changes to the available license list since the initial access of the Software Product License Management form.

Displaying the License Usage Information

You can display the license status using either of the following ways:

Software Product License Management Form: Token Usage Tab

The Token Usage tab displays the number of tokens required to run each capability of the Virtuoso Layout Suite GXL and the respective usage status.

Note:

Software Product License Management Form: Ordering Tab

The Ordering tab provides an interface for defining the license checkout order of the Virtuoso application tiers.

Each of the product families (Schematic, Layout, Layout Option, ADE, and VIVA) contains applications in a tiered packaging structure. Each higher-tier application provides additional features with more automated design assistance.

Only one license per product family tier is checked out at a time. Lower-tier applications require either their own tier license or a higher-tier license to run. For example, you can run VLS XL and VLS EXL in the same session with only a VLS EXL license checked out. If an attempt to check out the license of a lower-tier application fails, the application looks for a higher-tier license. You can set the license checkout order using the Ordering tab, as shown below.

To view and use the displayed controls and buttons:

  1. Click the Ordering tab in the Software Product License Management form. The Ordering tab has two panes: Current Checkout Order and Available Tiers.
    • Current Checkout Order:
      Displays the list of product families along with their current checkout order and UseNext settings.
      Family: Lists the names of the product license families. For example, Schematic, Layout, Layout Option, ADE, AMSenv, VIVA, and EAD_DATASET.
      To change the checkout order of a product family, click and drag the required tier up or down to move it to the desired location.
      The GXL and EXL tiers in the Layout family cannot be separated; they must appear together in the checkout order.
      EAD licenses will automatically forward-enable Layout EXL.
      UseNext: Displays the UseNext setting, which controls whether to check out the next available license for Virtuoso tier-based applications when the license required for a requested application is not available.
      If a tiered application has an associated UseNext setting, a drop-down list appears next to its name. If you reorder a tier within the product family, the UseNext drop-down moves along with it.
      The UseNext drop-down list provides the following options:
      • prompt: Confirm before checking out a higher-tier license.
      • always: Always check out the higher-tier license (as per selected checkout order).
      • never: Never check out the higher-tier license and display an error message instead.

      When prompt is set as the UseNext drop-down value and the license for a requested application is not available, the Next License dialog box displays, which lets you check out a higher tier license, subject to availability. Four options are offered: Session, Skip, Always, or Never.
      • Session: Checks out a higher-tier license, if available, for the current session. If a higher-tier license is unavailable, the Next License dialog box will only be displayed once. However, a new virtuoso session will cause the dialog box to display again.
        The Session option does not override the setting in the local .cdsenv file and updates only the internal or in-memory value of the corresponding UseNextLicense .cdsenv variable. Because of this, the Session response is applicable for the current session only. However, if you want to restore the Next License dialog box settings in the same session, reset the UseNextLicense .cdsenv variable to prompt using the envSetVal function in the CIW or select prompt from the UseNext drop-down list.
      • Skip: Skips the next license. For example, if L license is not available, and you click Skip in the Next License dialog box, the XL license will be skipped and an attempt to check out the GXL license will be made.
      • Always: Virtuoso will always try to check out the next license, if the requested license is not available. The Next License dialog box is not displayed again when virtuoso is restarted.
      • Never: Virtuoso will never try to check out the next license, if the requested license is not available. The Next License dialog box is not displayed again when virtuoso is restarted.

      The Always and Never options are stored in the following environment variables in ~/.cdsenv as soon as they are set.
      For example,
      license VLSXL_UseNextLicense string "prompt"/"always"/"never"
      license VSEL_UseNextLicense string "prompt"/"always"/"never"
      If a license is not available warning messages will be displayed in the CIW.
      The settings selected in the Current Checkout Order pane are reflected in the .cdsenv variables CheckoutOrder and UseNextLicense.
    • Available Tiers:
      By default, the Current Checkout Order pane displays all applicable tiers for each product family. However, you can choose to deselect a tier and remove it from the current checkout order list by dragging and moving it to Available Tiers.
      If there is only one tier in the family tree, you are not allowed to remove it from the Current Checkout Order list by dragging and moving it to Available Tiers list, because a family tree cannot be empty.
      When you select a product family in the Current Checkout Order pane, you can see the current checkout order of its tiers in the left pane and the list of available (applicable) tiers in the right pane. For example, in the image below, the XL tier for the product family Schematic has been moved to the Available Tiers for: Schematic pane.
  2. Click Save to File to save the selected options in the .cdsenv file. You can also edit your preferences in the.cdsenv file.

Software Product License Management Form: Diagnostics Tab

The Diagnostics tab provides an interface for setting the parameters needed for license-checkout reporting. For example, you can set these parameters to report whether a license check is taking too long or if a particular license or token has been checked out. By using the options available in this tab, you can set the values of the license diagnostic variables without needing to remember the shell variable names.

Software Product License Management Form: Performance Tests Tab

In an environment where you have licenses served across multiple servers spread over a network, there can be significant delays during the application start up because Cadence applications search all the license servers to acquire a license.

In such situations, you can run a diagnostic test from the Performance Tests tab to test the license checkout performance on a feature-by-feature basis and across each server. This tab is an interface to the perf_test utility.

Product Tier Features

The following table shows the feature details included in each application.

Virtuoso Layout Features

Virtuoso Layout Features

In the table:

ADE Product Family Features

The following table lists the features available in the ADE product family:

In the table:

Hardware and Software Requirements

For hardware and software requirements needed to run the Virtuoso Studio, see Hardware and Software Requirements in the Virtuoso Studio Design Environment User Guide.

Software Layers

The figure below shows how the Virtuoso Studio resides on top of several layers of software (bottom layer is your hardware platform).

For More Information Refer to

Installation

Cadence Installation Guide

Licensing

Cadence License Manager

File locking

Cadence Application Infrastructure User Guide

Plotting

Plotter Configuration User Guide

Design flow

Your Cadence applications engineer (AE)

Virtuoso Studio Design Environment Hierarchy

The software uses the following directory hierarchy to store executables and data files.

The your_install_dir/tools/dfII directory includes the directories listed below. The files in these directories depend on which Cadence® products are installed.

bin

Virtuoso Studio design environment software executables for your platform.

bin.xxx

Link to bin directory.

cdsuser

Sample home directory environment setup files such as .Xdefaults, .cdsinit, .cshrc, .mwmrc, .simrc, .xinitrc, and arrowKeys.map.

etc/tools

Directories corresponding to particular applications or core pieces of infrastructure such as layout, schematic, and cdba. Each directory contains a default .cdsenv file and might also contain other sample files.

include

C header files to go with licensed Cadence products.

local

CAD group customization files and site-specific configuration files.

Installing new software does not overwrite this directory.

lib

Programming libraries.

samples

Sample user files. Some of the samples include the following:

.cdsenv

Sample environment variable file

local

Sample customization files

plot

Schematic plotting files

techfile

Technology files and libraries

tutorials

Tutorials for various products

script

Configuration scripts.

src

More customization files.

Virtuoso Studio Design Environment Executables

Virtuoso Studio design environment executables include:

Virtuoso Studio Design Environment Licensing Setup

The key licensing characteristics of the Virtuoso Studio design environment are outlined in the following table.

Licensing Characteristic Virtuoso Studio Design Environment

Licensing software

SoftShare

Licensing DAEMON

cdslmd

License file

license.HOSTID

Path to DFII

your_install_dir/tools/dfII

Path to the license directory

your_install_dir/share/license

Variable for license file

See the Cadence License Manager

File locking

CLS

Licenses from several license servers can be used if there are multiple independent license servers configured.
All Cadence software requires Cadence licenses. To specify your license file, set the CDS_LIC_FILE. If a license cannot be found on any of the servers specified in the CDS_LIC_FILE, the license search will continue to look through the LM_LICENSE_FILE. If you do not want a license search to continue beyond the CDS_LIC_FILE, you need to set the CDS_LIC_ONLY environment variable which will instruct Virtuoso to ignore the LM_LICENSE_FILE.

For more information about license files and variables, see the Cadence Installation Guide and Cadence License Manager.

Frequently Asked Questions Related to Virtuoso Studio Licensing

The following table answers frequently asked licensing questions:

Question Answer

In interactive mode, when are licenses checked in?

Licenses are checked in automatically when you exit an application.

Do all Cadence products support global TIMEOUT?

Yes.

TIMEOUT sets the time after which an inactive license is reclaimed by the vendor daemon. You can amend the default TIMEOUT setting in the options file to specify how long it is before a product license times out.

The value entered will be valid as long as it exceeds the minimum setting (3600 secs).

TIMEOUTALL, which applies a timeout to all features is also supported in DFII products.

For example,

TIMEOUT featurename seconds

TIMEOUTALL seconds

What happens to my work and any open windows when products lose their licenses?

When you execute the next command, it will re-check out the license automatically.

You will only notice an issue if the license you need (the license that timed out) is no longer available.

After startup, how often does a product check for a valid license?

The license-checking interval depends on the product. In general, interactive products (for editing) check at the start of every editing command and batch-mode products check every five minutes.

Can I wait for a license?

No. You cannot wait for a license.

If prolonged batch jobs require multiple licenses, are all licenses reserved or checked out up front?

This depends on the application.


Return to top
 ⠀
X