Cadence Environment
Contents
Help Resources
Cadence Help for the .cdsenv file:
- Run "cdnshelp" at the UNIX terminal to load the Cadence Help.
- DFII, Virtuoso Design Environment User Guide, Chapter 7 - Specifying Environment Settings
- DFII, Virtuoso Software Licensing and Configuration User Guide, Setting up the Virtuoso Software
Set UNIX environment variable CDS_LOAD_ENV to addCWD to load ~/.cdsenv, and then load currentWorkingDirectory/.cdsenv.
export CDS_LOAD_ENV=addCWD
Cadence Environment Variables
The cadence environment variables are stored in the .cdsenv file. This file loaded from several places:
- your_install_dir/tools/dfII/etc/tools/binargName/.cdsenv
- your_install_dir/tools/dfII/local/.cdsenv
- ~/.cdsenv
- currentWorkingDirectory/.cdsenv (∗ see note below)
∗ Note - The current working directory is only searched if the CDS_LOAD_ENV UNIX environment variable is set to addCWD.
Schematic Editor
Layout Editor
Grid Spacing
The X and Y grid spacing in the Layout editor are controlled by the xSnapSpacing and ySnapSpacing environment variables. These can be set in the .cdsenv file as shown below. Note, the NCSU CDK automatically overwrites these values in the "<ncsu>/skill/menus/triggers.il" script. The "<ncsu>/cdssetup/cdsenv" file says that the snap spacing is set to be a multiple of all the mfgGridResolutions and that the correct value is set in the trigger script.
layout xSnapSpacing float 0.05 ; X grid spacing measured in microns layout ySnapSpacing float 0.05 ; Y grid spacing measured in microns
Pin Names
Pins in a layout indicate the physical location of terminals that correspond to pins in the schematic. Pins are added to a layout to indicate their physical location which corresponds to logical pins in the schematic. These pins are identified by name. By default, the pin names in the layout editor are not shown. To display the pin names, either interactively check the box labeled Pin Names under Options → Display, or add the following to the .cdsenv file to always display pin names:
layout displayPinNames boolean t
Snap Mode
The snapMode variable determines how the Create command entry points snap to the grid in the Layout editor. In the GUI, this corresponds to Options → Display → Snap Modes - Create. The segSnapMode variable determines how Edit command entry points snap to the grid in the Layout editor. In the GUI, this corresponds to Options → Display → Snap Modes - Edit. To set default snap modes, put the following in the .cdsenv file:
layout snapMode string "anyAngle" ; Snap Mode - Create layout segSnapMode string "anyAngle" ; Snap Mode - Edit
Stop Level
The start and stop levels control which hierarchical levels are visible in the Layout editor. By default, only level 0 is shown. This means that hierarchical layouts will be displayed as an outlined box without any additional layout detail shown. To set the start and stop levels in the .cdsenv file, add the following:
layout startLevel int 0 ; Start at level 0 (almost always want this to be 0) layout stopLevel int 32 ; Stop at level 32 (show basically everything)
Other
Other useful environment variable options:
schematic srcSolderOnCrossover cyclic "ignored" ui undoLevel int 128 ui infix boolean t ui showScrollBars boolean t spectre.envOpts modelFiles string "/usr/local/cadence/ncsu/models/spectre/nom/ami06N.m /usr/local/cadence/ncsu/models/spectre/nom/ami06P.m"