Cadence Environment

From EDA Wiki
Revision as of 20:15, 11 November 2010 by Mhall24 (talk | contribs)
Jump to navigationJump to search

Help Resources

Cadence Help for the .cdsenv file:

  1. Run "cdnshelp" at the UNIX terminal to load the Cadence Help.
  2. DFII, Virtuoso Design Environment User Guide, Chapter 7 - Specifying Environment Settings
  3. DFII, Virtuoso Software Licensing and Configuration User Guide, Setting up the Virtuoso Software

Cadence Environment Variables (cdsenv)

Set the UNIX environment variable CDS_LOAD_ENV to addCWD to load ~/.cdsenv, and then load currentWorkingDirectory/.cdsenv.

export CDS_LOAD_ENV=addCWD

The cadence environment variables are stored in the .cdsenv file. This file is loaded from several places:

  1. your_install_dir/tools/dfII/etc/tools/binargName/.cdsenv
  2. your_install_dir/tools/dfII/local/.cdsenv
  3. ~/.cdsenv
  4. currentWorkingDirectory/.cdsenv (∗ see note below)

∗ Note - The current working directory is only searched if the UNIX environment variable CDS_LOAD_ENV is set to addCWD.

User Interface

ui undoLevel int 128
ui infix boolean t
ui showScrollBars boolean t

Schematic Editor

Solder Dot On Crossover

By default, if a solder dot is placed at the crossing of two wires, the Schematic editor gives a warning when doing a Check & Save. The rationale for this warning is that when schematics are printed out and copied using copy machines, the solder dot can become less visible and hard to distinguish, thus creating ambiguity about the intention for a connection at that junction. Therefore, the convention is to place solder dots only at T-intersections where there is no ambiguity. This warning can be disabled by adding the following line to the .cdsenv file:

schematic srcSolderOnCrossover cyclic "ignored"


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
Start & 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)

Simulation

Spectre model files

The Spectre model files are set by adding the lines below to the .cdsenv file. Note, you can replace the values below with the actual model files on your system.

spectre.envOpts modelFiles string "/usr/local/cadence/ncsu/models/spectre/nom/ami06N.m /usr/local/cadence/ncsu/models/spectre/nom/ami06P.m"