Cadence Environment

From EDA Wiki
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.

The boolean data type takes one of two values: t (true) or nil (false).

User Interface

Show/Hide Options Form

The options form allows command-specific options to be configured when a command is executed. For example, if the Copy command is executed in the Layout editor, then the Copy options form will appear, allowing a number of options to be configured for the command. This form can be set to appear every time a command is executed by adding the following to the .cdsenv file:

ui showOptionForms boolean t

Alternatively, the options form can be disabled from showing automatically so that it does not pop up every time a command is executed (this can be very annoying). Then, it can be displayed on-demand by pressing F3 after executing a command and used just as before.

ui showOptionForms boolean nil
Other
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

Simulator

The simulator can be chosen at startup by adding the following to the .cdsenv file.

asimenv.startup simulator string "spectre"

Other simulator related options allow specifying the save directory for Analog Artist states, and the simulation directory.

asimenv saveDir string "./.artist_states"
asimenv.startup projectDir string "./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"
Multi-threading

Multi-threading can be turned on by adding these lines to the .cdsenv file. Note, these options need to be double-checked.

spectre.opts multithread "t"    ; Turn on multi-threading in Spectre.
spectre.opts nthreads "8"       ; Set the number of threads to use.