Readme for Cadence IC61 examples downloaded from CMOSedu.com
Cadence Version: IC61
Spectre (Cadence’s name for their SPICE)
Version: MMSIM61
Design kit: ncsu-cdk-1.6.0 beta
To use the Cadence IC61 examples from CMOSedu.com follow these steps.
1. Download the NCSU Cadence Design Kit (CDK) version 1.6.0 beta from http://www.eda.ncsu.edu/wiki/NCSU_CDK
2. To install the NCSU CDK:
export SPECTRE_DEFAULTS=-E
export CDS_Netlisting_Mode=Analog
export CDS_LOAD_ENV=CWDElseHome
alias C5='export
CADENCE=IC5141; export PATH=`echo $PATH | sed
s/IC610/IC5141/g`; export CDK_DIR=$HOME/ncsu-cdk-1.5.1'
alias
C6='export CADENCE=IC610; export PATH=`echo $PATH | sed
s/IC5141/IC610/g`; export CDK_DIR=$HOME/ncsu-cdk-1.6.0.beta'
export
CDK_DIR=$HOME/ncsu-cdk-1.6.0.beta
to the .bashrc (don’t add the two alias lines seen above)
DEFINE analogLib /usr/local/Cadence/$CADENCE/tools.lnx86/dfII/etc/cdslib/artist/analogLib
DEFINE functional /usr/local/Cadence/$CADENCE/tools.lnx86/dfII/etc/cdslib/artist/functional
DEFINE sbaLib /usr/local/Cadence/$CADENCE/tools.lnx86/dfII/etc/cdslib/artist/sbaLib
3. Unzip the Cadence examples from CMOSedu.com into $HOME/CMOSedu and then define the path to these examples in the cds.lib file
4. Repeat step 3 for every ChXX_IC61.zip or ChXX_MSD_IC61.zip downloaded from CMOSedu.
5. When finished open a terminal window, navigate to the working directory CMOSedu, enter “C6” and then enter "virtuoso &" to start Cadence
Instructions for using Cadence examples from CMOSedu.com
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.
#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
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_
DEFINE NCSU_TechLib_ami06
$CDK_DIR/lib/NCSU_TechLib_
DEFINE NCSU_TechLib_ami16
$CDK_DIR/lib/NCSU_TechLib_
DEFINE NCSU_TechLib_hp06
$CDK_DIR/lib/NCSU_TechLib_hp06
DEFINE NCSU_TechLib_tsmc02
$CDK_DIR/lib/NCSU_TechLib_
DEFINE NCSU_TechLib_tsmc02d
$CDK_DIR/lib/NCSU_TechLib_
DEFINE NCSU_TechLib_tsmc03
$CDK_DIR/lib/NCSU_TechLib_
DEFINE NCSU_TechLib_tsmc03d
$CDK_DIR/lib/NCSU_TechLib_
DEFINE
NCSU_TechLib_tsmc04_4M2P $CDK_DIR/lib/NCSU_TechLib_
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 3 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 CMOSedu.com are available
in both IC51 and IC61 flavors so this information is simply for reference.