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.
Checking the Value of a ROD Environment Variable
To determine the current value of an environment variable,
-
Type in the CIW
For example:envGetVal( "rod" "variable_name" )envGetVal( "rod" "preserveAlignInfoOn" )
How the System Evaluates ROD Environment Variables
The system looks for the value of a ROD environment variable as follows:
-
First, the system looks in the local .
cdsenvfile in your home directory,~/.cdsenv
-
If the variables are not defined in your
~/.cdsenvfile, 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:
-
In the CIW, set the value of the variable with the following statement:
where variable_name is the name of the variable. The backwards tick mark (envSetVal("rod" "variable_name" ‘data_type value)‘) in front of data_type is necessary. It tells the system not to interpret the value of the argument, but to use it literally, as a data type. For example:envSetVal("rod" "preserveAlignInfoOn" ‘boolean nil)
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.
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 booleanvalue
rod traceTriggerFunctionsOn booleanvalue
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:
-
In one window, open your
~/.cdsenvfile. -
In another window, open your_install_dir
/dfII/samples/.cdsenv
where your_install_dir is the path to your Cadence hierarchy. -
In the
samples/.cdsenvfile, search forrodand then for the variable name, such aspreserveAlignInfoOn. -
Copy the setting for the ROD environment variable and paste it into the
.cdsenvfile in your home directory. - If desired, change the setting.
-
Save your
~/.cdsenvfile. - 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
- distributeSingleSubRect
- preserveAlignInfoOn
- rodAutoName
- stretchDuplicateHandles
- stretchHandlesLayer
- traceTriggerFunctionsOn
- updatePCellIncrement
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
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
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.
GUI Equivalent
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
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
|
Create - Pin, Create - Shape - Rectangle, Create - Shape - Polygon, Create - Shape - Path, Create - Wiring - Wire |
|
|
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
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
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
Examples
envGetVal("graphic" "stretchHandlesLayer")
envSetVal("graphic" "stretchHandlesLayer" 'string "metal1 drawing")
Related Topics
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
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
Examples
envGetVal("layout" "updatePCellIncrement")
envSetVal("layout" "updatePCellIncrement" 'float -2.0)
Related Topics
List of ROD Environment Variables
Return to top