Difference between revisions of "Cadence Environment"

From EDA Wiki
Jump to navigationJump to search
 
(12 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
# Run "cdnshelp" at the UNIX terminal to load the Cadence Help.
 
# Run "cdnshelp" at the UNIX terminal to load the Cadence Help.
 
# DFII, Virtuoso Design Environment User Guide, Chapter 7 - Specifying Environment Settings
 
# 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 environment variable '''CDS_LOAD_ENV''' to '''addCWD''' to load ~/.cdsenv, and then load ''currentWorkingDirectory''/.cdsenv.
+
= 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
 
  export CDS_LOAD_ENV=addCWD
  
= Environment Variables =
+
The cadence environment variables are stored in the '''.cdsenv''' file.  This file is 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 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 ==
 +
 
 +
;<u>Show/Hide Options Form</u>
 +
 
 +
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
 +
 
 +
;<u>Other</u>
 +
 
 +
ui undoLevel int 128
 +
ui infix boolean t
 +
ui showScrollBars boolean t
 +
 
 +
== Schematic Editor ==
 +
 
 +
;<u>Solder Dot On Crossover</u>
 +
 
 +
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 ==
 +
 
 +
;<u>Grid Spacing</u>
 +
 
 +
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
 +
 
 +
;<u>Pin Names</u>
  
 
Pins in a layout indicate the physical location of terminals that correspond to pins in the schematic.
 
Pins in a layout indicate the physical location of terminals that correspond to pins in the schematic.
Line 14: Line 62:
  
 
  layout displayPinNames boolean t
 
  layout displayPinNames boolean t
 +
 +
;<u>Snap Mode</u>
  
 
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 &rarr; Display &rarr; 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 &rarr; Display &rarr; Snap Modes - Edit'''.  To set default snap modes, put the following in the '''.cdsenv''' file:
 
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 &rarr; Display &rarr; 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 &rarr; Display &rarr; Snap Modes - Edit'''.  To set default snap modes, put the following in the '''.cdsenv''' file:
Line 20: Line 70:
 
  layout segSnapMode string "anyAngle"    ; Snap Mode - Edit
 
  layout segSnapMode string "anyAngle"    ; Snap Mode - Edit
  
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 belowNote, 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.
+
;<u>Start & Stop Level</u>
 +
 
 +
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 ==
 +
 
 +
;<u>Simulator</u>
 +
 
 +
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"
  
layout xSnapSpacing float 0.05          ; X grid spacing measured in microns
+
;<u>Spectre model files</u>
layout ySnapSpacing float 0.05          ; Y grid spacing measured in microns
 
  
Other useful environment variable options:
+
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.
  
schematic srcSolderOnCrossover cyclic "ignored"
 
ui undoLevel int 128
 
ui infix boolean t
 
ui showScrollBars boolean t
 
layout stopLevel int 32
 
 
  spectre.envOpts modelFiles string "/usr/local/cadence/ncsu/models/spectre/nom/ami06N.m /usr/local/cadence/ncsu/models/spectre/nom/ami06P.m"
 
  spectre.envOpts modelFiles string "/usr/local/cadence/ncsu/models/spectre/nom/ami06N.m /usr/local/cadence/ncsu/models/spectre/nom/ami06P.m"
 +
 +
;<u>Multi-threading</u>
 +
 +
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.

Latest revision as of 04:03, 7 December 2010

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.