Readme for Cadence IC61 examples downloaded from

Cadence Version: IC61

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

Design kit: ncsu-cdk-1.6.0 beta


1. Download the NCSU Cadence Design Kit (CDK) version 1.6.0 beta from


2. To install the NCSU CDK:


export CDS_Netlisting_Mode=Analog

export CDS_LOAD_ENV=CWDElseHome

export CDK_DIR=$HOME/ncsu-cdk-1.6.0.beta

§  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

DEFINE analogLib /share/apps/cadence/IC615/tools.lnx86/dfII/etc/cdslib/artist/analogLib

DEFINE functional /share/apps/cadence/IC615/tools.lnx86/dfII/etc/cdslib/artist/functional

DEFINE sbaLib /share/apps/cadence/IC615/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, important!)


3. Unzip the examples into $HOME/CMOSedu and then add the "DEFINE..." statements in cds_lib_IC61.txt to the cds.lib file

§  The first 15 or so lines in this text file should already be present in your cds.lib


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


Instructions for using Cadence examples from

§  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


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.


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.



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 for general help with using Cadence







































Notes for converting from IC51 to IC61 when using the NCSU CDKs


1. Make a folder called oa_convert in your home directory
2. In this folder make a file called cds.lib and put the following in it

DEFINE      basic                   $CDK_DIR/lib/basic
DEFINE      NCSU_Analog_Parts       $CDK_DIR/lib/NCSU_Analog_Parts
DEFINE      NCSU_Digital_Parts      $CDK_DIR/lib/NCSU_Digital_Parts
DEFINE      NCSU_TechLib_ami06      $CDK_DIR/lib/NCSU_TechLib_ami06
DEFINE      NCSU_TechLib_ami16      $CDK_DIR/lib/NCSU_TechLib_ami16
DEFINE      NCSU_TechLib_hp06       $CDK_DIR/lib/NCSU_TechLib_hp06
DEFINE      NCSU_TechLib_tsmc02     $CDK_DIR/lib/NCSU_TechLib_tsmc02
DEFINE      NCSU_TechLib_tsmc02d    $CDK_DIR/lib/NCSU_TechLib_tsmc02d
DEFINE      NCSU_TechLib_tsmc03     $CDK_DIR/lib/NCSU_TechLib_tsmc03
DEFINE      NCSU_TechLib_tsmc03d    $CDK_DIR/lib/NCSU_TechLib_tsmc03d
DEFINE      NCSU_TechLib_tsmc04_4M2P    $CDK_DIR/lib/NCSU_TechLib_tsmc04_4M2P

3. In your home directory make a file called cds_convert.lib with the same contents as the cds.lib file above but, in addition, add the path with the library name you want to convert. For example,

DEFINE Ch23_IC51 $HOME/CMOSedu/Ch23_IC51

4. Ensure that you enter C6 above to set the CDK path and version (IC61) correctly. To convert the library from IC51 to IC61 enter, in the oa_convert directory and in a terminal window, 


cdb2oa -cdslibpath ~/cds_convert.lib -lib Ch23_IC51


If this command doesn’t work ensure that you have the alias and CDK set for version IC61 (see number 2 at the top of the page). The converted library is placed in oa_convert and keeps the same name, in this example, Ch23_IC51.


Move the converted library to CMOSedu and rename it using IC61’s Library Manager.

To run the simulations you will have to change the models path from


$HOME/CMOSedu/Ch23_IC51/cmosedu_models.txt to $HOME/CMOSedu/Ch23_IC61/cmosedu_models.txt


The examples from are available in both IC51 and IC61 flavors so this information is simply for reference.