Product Documentation
Virtuoso Relative Object Design User Guide
Product Version IC23.1, August 2023

D


Using Environment Variables with ROD

There are a number of environment variables that influence how Virtuoso® relative object design (ROD) functionality works. This section describes these environment variables.

Only the environment variables documented in this chapter are supported for public use. All other ROD environment variables, regardless of their name or prefix, and undocumented aspects of the environment variables described below, are private and are subject to change at any time.

Checking the Value of a ROD Environment Variable

To determine the current value of an environment variable,

How the System Evaluates ROD Environment Variables

The system looks for the value of a ROD environment variable as follows:

  1. First, the system looks in the local .cdsenv file in your home directory,
    ~/.cdsenv
  2. If the variables are not defined in your ~/.cdsenv file, the system looks for the system-defined default settings in the following file:
    your_install_dir/etc/tools/rod/.cdsenv

Changing the Settings of ROD Environment Variables

You can change the default settings of ROD environment variables in the CIW or in your local ~/.cdsenv file, as described below.

Changing Settings for Environment Variables in the CIW

To change the value of an environment variable temporarily, do the following:

Changing Settings for Environment Variables in ~/.cdsenv

You can add ROD environment variables to the .cdsenv file in your home directory by typing them or by copying them from the .cdsenv file in the samples directory in your Cadence hierarchy.

Do not copy lines from the rod/.cdsenv file to the .cdsenv file in your home directory. The file formats are slightly different, so the lines that result from copying do not work.

The ROD environment variable settings should look like this in your ~/.cdsenv file:

rod     preserveAlignInfoOn           boolean   value
rod     traceTriggerFunctionsOn       boolean   value

where value is equal to t or nil.

If you do not have a .cdsenv file in your home directory, you can copy the .cdsenv file from the samples directory in your local Cadence hierarchy to your home directory and modify it.

Copying Variables from the Samples Directory to ~/.cdsenv

To copy ROD environment variables from the samples directory to the ~/.cdsenv file in your home directory, do the following:

  1. In one window, open your ~/.cdsenv file.
  2. In another window, open your_install_dir/dfII/samples/.cdsenv
    where your_install_dir is the path to your Cadence hierarchy.
  3. In the samples/.cdsenv file, search for rod and then for the variable name, such as preserveAlignInfoOn.
  4. Copy the setting for the ROD environment variable and paste it into the .cdsenv file in your home directory.
  5. If desired, change the setting.
  6. Save your ~/.cdsenv file.
  7. To use the settings in future sessions, save the settings with Save Defaults on the Options menu in the CIW.

List of ROD Environment Variables

displayStretchHandles

layout displayStretchHandles boolean { t | nil }
graphic displayStretchHandles boolean { t | nil }

Description

Specifies whether stretch handles are displayed for stretchable Pcells (t), or not (nil). The default is nil.

GUI Equivalent

Command

Options – Display

Form Field

Stretch Handles

Examples

envGetVal("layout" "displayStretchHandles")
envSetVal("layout" "displayStretchHandles" 'boolean t)
envSetVal("layout" "displayStretchHandles" 'boolean nil)
envGetVal("graphic" "displayStretchHandles")
envSetVal("graphic" "displayStretchHandles" 'boolean t)
envSetVal("graphic" "displayStretchHandles" 'boolean nil) 

Related Topics

Display Options Form

List of ROD Environment Variables

distributeSingleSubRect

rod distributeSingleSubRect boolean { t | nil }

Description

Determines where a single subrectangle is placed by the rodCreatePath function when the value of S_gap is distribute. When nil, the subrectangle is offset as specified by n_beginOffset and n_endOffset. When t, the subrectangle is centered (but placed on grid), and n_beginOffset and n_endOffset are ignored.

The default is nil.

GUI Equivalent

None

Examples

envGetVal("rod" "distributeSingleSubRect")
envSetVal("rod" "distributeSingleSubRect" 'boolean t)
envSetVal("rod" "distributeSingleSubRect" 'boolean nil)

Related Topics

List of ROD Environment Variables

preserveAlignInfoOn

rod preserveAlignInfoOn boolean { t | nil }

Description

Specifies whether alignment between ROD objects is preserved or broken when a ROD object is moved or modified. The default is t.

GUI Equivalent

None

Examples

envGetVal("rod" "preserveAlignInfoOn")
envSetVal("rod" "preserveAlignInfoOn" 'boolean t)
envSetVal("rod" "preserveAlignInfoOn" 'boolean nil)

Related Topics

rodAutoName

layout rodAutoName string { pin | rectangle | polygon | path }

Description

Specifies that rectangles, polygons and/or shape pins can be created as ROD objects. These shapes are given either system- or user-assigned names. The default is none.

GUI Equivalent

Command

Create - Pin, Create - Shape - Rectangle, Create - Shape - Polygon, Create - Shape - Path, Create - Wiring - Wire

Form Field

As ROD Object (Create Pin Form, Create Rectangle Form, Create Polygon Form, Create Path Form)

Examples

envGetVal("layout" "rodAutoName")
envSetVal("layout" "rodAutoName" 'string "pin")
envSetVal("layout" "rodAutoName" 'string "rectangle")
envSetVal("layout" "rodAutoName" 'string "polygon")
envSetVal("layout" "rodAutoName" 'string "path") 

Related Topics

List of ROD Environment Variables

stretchDuplicateHandles

rod stretchDuplicateHandles boolean { t | nil}

Description

Specifies whether to stretch all the selected handles of a Pcell depending on whether they are duplicates of some other selected handles. The default is nil, which means that the stretch will apply to the selected handles that are unique and to one of the duplicated handles, for each set of the duplicated handles.

GUI Equivalent

None

Examples

envGetVal("rod" "stretchDuplicateHandles")
envSetVal("rod" "stretchDuplicateHandles" 'boolean t)
envSetVal("rod" "stretchDuplicateHandles" 'boolean nil)

Related Topics

List of ROD Environment Variables

stretchHandlesLayer

graphic stretchHandlesLayer string any_valid_layer-pupose_pair

Description

Specifies the layer that stretch handles are displayed on for stretchable Pcells. The default is y0 drawing.

GUI Equivalent

None

Examples

envGetVal("graphic" "stretchHandlesLayer")
envSetVal("graphic" "stretchHandlesLayer" 'string "metal1 drawing")

Related Topics

List of ROD Environment Variables

traceTriggerFunctionsOn

rod traceTriggerFunctionsOn boolean { t | nil }

Description

Controls the printing of trace messages for debugging. Set this variable to t when you encounter a problem that requires customer support. The default is nil.

GUI Equivalent

None

Examples

envGetVal("rod" "traceTriggerFunctionsOn")
envSetVal("rod" "traceTriggerFunctionsOn" 'boolean t)
envSetVal("rod" "traceTriggerFunctionsOn" 'boolean nil)

Related Topics

List of ROD Environment Variables

updatePCellIncrement

layout updatePCellIncrement  every_grid_snap

Description

Specifies how often the system updates Pcell parameters and regenerates a Pcell during a stretch operation.

A value greater than zero is used as the grid for regeneration. A negative value forces the grid to use the technology file variable mfgGridResolution. The default is -1.0, implying mfgGridResolution is used.

GUI Equivalent

None

Examples

envGetVal("layout" "updatePCellIncrement")
envSetVal("layout" "updatePCellIncrement" 'float -2.0) 

Related Topics

List of ROD Environment Variables


Return to top
 ⠀
X