Readme for Cadence IC51 examples downloaded from CMOSedu.com

Cadence Version: IC51

Spectre (Cadence’s name for their SPICE) Version: MMSIM61

Design kit: ncsu-cdk-1.5.1

 

1. Download the NCSU Cadence Design Kit (CDK) version 1.5.1 from http://www.eda.ncsu.edu/wiki/NCSU_CDK

 

2. To install the NCSU CDK:

  • Extract the contents of ncsu-cdk-1.5.1.tar.gz into your home directory, $HOME
  • In your home directory open the .bashrc file (ensure you can view hidden files and assuming that you are using the bash shell) and add the following lines

export SPECTRE_DEFAULTS=-E

export CDS_Netlisting_Mode=Analog

export CDS_LOAD_ENV=CWDElseHome

export CDK_DIR=$HOME/ncsu-cdk-1.5.1

§  note that only one CDK_DIR directory can be exported (not to be confused with CDS_DIR)

§  when finished, in a terminal window in your home directory, type the command “. .bashrc” (period, space, period bashrc) to re-source the .bashrc file

  • Make a working directory in your home account called CMOSedu
  • Copy everything in the directory $HOME/ncsu-cdk-1.5.1/cdssetup into $HOME/CMOSedu
  • In the working directory CMOSedu, rename cdsinit, simrc, and cdsenv to .cdsinit, .simrc, and .cdsenv (add a period)
  • Finally, open the file cds.lib and add the following lines to point to the built-in Cadence libraries

DEFINE analogLib /usr/local/Cadence/IC5141/tools.lnx86/dfII/etc/cdslib/artist/analogLib

DEFINE functional /usr/local/Cadence/IC5141/tools.lnx86/dfII/etc/cdslib/artist/functional

DEFINE sbaLib /usr/local/Cadence/IC5141/tools.lnx86/dfII/etc/cdslib/artist/sbaLib

§  make sure that the above installation directories/names are consistent with your installation (verify that the path is correct)

 

3. Unzip the Cadence examples from CMOSedu.com into $HOME/CMOSedu and then define the path to these examples in the cds.lib file

  • For example, unzip Ch1_IC51.zip into $HOME/CMOSedu
  • and then add the following line to the $HOME/CMOSedu/cds.lib file

DEFINE Ch1_IC51 $HOME/CMOSedu/Ch1_IC51

    • This text file may prove useful if downloading all IC51 Cadence examples.

 

4. Repeat step 3 for every ChXX_IC51.zip or ChXX_MSD_IC51.zip downloaded from CMOSedu.

 

5. When finished open a terminal window, navigate to the working directory CMOSedu, and type "icfb &" to start Cadence.

Instructions for using Cadence examples from CMOSedu.com

  • With Cadence running use the Library Manager to open the schematic view of a cell for simulation using Virtuoso Schematic Editor (SE)
  • In the menu of the SE Window select Tools -> Analog Environment to open the Virtuoso Analog Design Environment (ADE) Window
  • In the ADE Window’s menu select Setup -> Simulator/Directory/Host… and then set the Simulator menu item
    • for most simulations Spectre will be used, if UltraSim or some other simulator is used it will be noted on the schematic
    • to make Spectre the default simulator used by Analog Artist add envSetVal("asimenv.startup" "simulator" 'string "spectre") to the bottom of your .cdsinit file in CMOSedu
  • Next, again in the ADE Window’s menu, select Session -> Load State
    • set the Load State Option to Cellview and press OK
  • Finally, in the ADE Window’s menu select Simulation -> Netlist and Run (or just hit the green traffic light) to simulate

 

If the examples are not placed in $HOME/CMOSedu then, to run a simulation in the ADE, the location of the models will need to be specified after the state is loaded.

  • In the ADE window select Setup -> Model Libraries then browse to the model file location (/path/ChXX_IC51/name.txt) and press Add

 

Finally, if you are using Matlab Spectre’s Toolbox (for determining SNR from the KD1S in Ch. 9 of the mixed-signal book) ensure that something similar to the following is added to the .bashrc file.

 

#MATLAB

export PATH=$PATH:/usr/local/MATLAB/R2010b/bin

 

#MATLAB Spectre Toolbox

export LD_LIBRARY_PATH=`cds_root spectre`/tools/dfII/lib:`cds_root spectre`/tools/lib/64bit

export LD_LIBRARY_PATH=`cds_root spectre`/tools/spectre/matlab/64bit:${LD_LIBRARY_PATH}

export MATLABPATH=`cds_root spectre`/tools/spectre/matlab/64bit

 

See the links to Cadence Tutorials at CMOSedu.com for general help with using Cadence