Cadence 6.1 Setup: Difference between revisions

From VLSI
Jump to navigation Jump to search
Radodge (talk | contribs)
m Added tsmc's 20um model libraries to the spectre model libraries string
 
(39 intermediate revisions by 8 users not shown)
Line 1: Line 1:
==Cadence 6.15 Setup==
==Cadence 6.18 Setup==
This tutorial is designed to help students set up their accounts in order to run Cadence 6.15 with the NCSU Cadence Design Kit.
This tutorial is designed to help students set up their accounts in order to run Cadence 6.15 with the NCSU Cadence Design Kit.


Line 7: Line 7:
*<b>Set Bash Shell for your account</b>
*<b>Set Bash Shell for your account</b>
**Login to http://www.asw.iastate.edu
**Login to http://www.asw.iastate.edu
**Click on: Manage user <net-id>
**Click on: Manage Net-ID (password, email settings, etc.)
**Click on: View/Edit your (Linux/Unix) login shell
**Select: "/bin/bash"
**Select: "/bin/bash"
**Click on: Update Shell
**Click on: Update Shell
Line 13: Line 14:
**<i>Note: These changes will take overnight to take effect. Until that time you will need to set your shell manually by typing '''bash''' at the command prompt. You will only need to do this for the first day and then your shell will default to the Bash Shell.</i>
**<i>Note: These changes will take overnight to take effect. Until that time you will need to set your shell manually by typing '''bash''' at the command prompt. You will only need to do this for the first day and then your shell will default to the Bash Shell.</i>


*<b>Creat a .bashrc File</b>
You will need to create a ~/.bashrc file which contains the following 3 lines:
<blockquote><code><pre>
if [ -f /etc/bashrc ]; then
  ./etc/bashrc
fi
</pre></code></blockquote>
:*After making sure that these lines are present in the ~/.bashrc file, you need to source this file. You can do this by typing
<blockquote><code><pre>
source ~/.bashrc
</pre></code></blockquote>


*<b>Create a ~/.software File</b>
*<b>Create a ~/.software File</b>
**The Computer Support Group (CSG) has made a variety of software available for student use. To enable the use of different software tools, every user needs to have a special file, the <code>.software</code> file located in their home directory (i.e., ~/.software). Using a text editor of your choice, create the new file ~/.software and enter the following lines:
**The Computer Support Group (CSG) has made a variety of software available for student use. To enable the use of different software tools, every user needs to have a special file, the <code>.software</code> file located in their home directory (i.e., ~/.software). Using a text editor of your choice, create a new file by that name in your home directory, e.g. by entering “gedit ~/.software”, and enter the following lines in that file:


<blockquote><code><pre>
<blockquote><code><big><pre>
 
SPECTRE
IC
IC
MMSIM
SIGRITY
</pre></code></blockquote>
MODUS
GENUS
CALIBRE
QUANTUS
INNOVUS
 
</pre></big></code></blockquote>


:These entries enable the use of the IC design tools with the Spectre circuit simulator. You will need to close your terminal and open a new terminal in order for these changes to take effect. If other tools are needed (i.e., tools for automatic place-and-route) you will have to edit this file and add the appropriate entreis as directed by your TA.
:These entries enable the use of the IC design tools with the Spectre circuit simulator. You will need to close your terminal and open a new terminal in order for these changes to take effect. If other tools are needed (i.e., tools for automatic place-and-route) you will have to edit this file and add the appropriate entreis as directed by your TA.
*<b>Creat a ~/.bashrc File</b>
:*You will need to create a ~/.bashrc file which contains the following 3 lines:
<blockquote><code><big><pre>
if [ -f /etc/bashrc ]; then
  . /etc/bashrc
fi
</pre></big></code></blockquote>


*<b>Create a ~/.bash_profile File</b>
*<b>Create a ~/.bash_profile File</b>
**Create a file named ~/.bash_profile and add the following lines to that file:
**Create a file named ~/.bash_profile and add the following lines to that file:


<blockquote><code><pre>
<blockquote><code><big><pre>
if [ -f ~/.bashrc ]; then
if [ -f ~/.bashrc ]; then
   . ~/.bashrc
   . ~/.bashrc
fi
fi


PATH=$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
BASH_ENV=$HOME/.bashrc
USERNAME=""
USERNAME=""
export USERNAME BASH_ENV PATH DISPLAY
export USERNAME BASH_ENV PATH DISPLAY
</pre></code></blockquote>
</pre></big></code></blockquote>
:This file is where you will add any other types of customization to your shell, such as aliases etc.


This file is where you will add any other types of customization to your shell, such as aliases etc.
 
*<b>Create a ~/cds.lib file</b>
:*The Library Manager keeps information about system-wide libraries as well as your design libraries in a special file called "cds.lib"(the contents of "cds.lib" file are ''case-sensitive''). For better organization purposes, you will create a "cds.lib" in your home directory. This file will include definitions of system wide libraries as well as any library that you would like to be available for all of your projects
<blockquote><code><big><pre>
INCLUDE /usr/local/cadence/iclocal/local/cdssetup/cds.lib
DEFINE analogLib $IC/tools/dfII/etc/cdslib/artist/analogLib
</pre></big></code></blockquote>
:The first line includes a cds.lib file created by the system administrators from another location on the system. The second line defines a library “analogLib” supplied by Cadence which includesthe basic circuit elements. Except for transistors, most of your schematic components will be instantiated from this library.
 
 
*<b>Open A New Terminal</b>
:*After making sure that these lines are present in the ~/.bashrc, ~/.bash_profile, and ~/.software files, you will need to start a new terminal in order for these changes to take effect.  You can do this by typing
<blockquote><code><big><pre>
bash
</pre></big></code></blockquote>
 
:*Or reload the config by typing
<blockquote><code><big><pre>
source ~/.bashrc
</pre></big></code></blockquote>


==New Project Setup==
==New Project Setup==
The following steps should be taken for <i>every</i> new project.
The following steps should be taken for <i>every</i> new project.


*<b>Creat a Project Directory</b>
*Create a Project Directory
**It is best to organize your work into multiple directories with each directory being dedicated to a specific class or research project. We will create a new directory where all of our libraries will be stored. Type the following lines at the command line:
**It is best to organize your work into multiple directories with each directory being dedicated to a specific class or research project. We will create a new directory where all of our libraries will be stored. Type the following lines at the command line:


<blockquote><code><pre>
<blockquote><code><big><pre>
mkdir <proj dir>
mkdir <proj dir>
cd <proj dir>
cd <proj dir>
</pre></code></blockquote>
</pre></big></code></blockquote>
 


**You must now copy some Cadence configuration files into your newly created project directory. You will need to copy several files by typing the following commands at the prompt:
*You must now copy some Cadence configuration files into your newly created project directory. You will need to copy several files by typing the following commands at the prompt:


<blockquote><code><pre>
<blockquote><code><big><pre>
cp /remote/ncsu_oa/local/cdssetup/cdsenv ~/<proj dir>/.cdsenv
cp /remote/ncsu_oa/local/cdssetup/cdsenv ~/<proj dir>/.cdsenv
cp /remote/ncsu_oa/local/cdssetup/cdsinit ~/<proj dir>/.cdsinit
cp /remote/ncsu_oa/local/cdssetup/cdsinit ~/<proj dir>/.cdsinit
cp /remote/ncsu_oa/local/cdssetup/cds.lib ~/<proj dir>/cds.lib
cp /remote/ncsu_oa/local/cdssetup/cds.lib ~/<proj dir>/cds.lib
cp /remote/ncsu_al/local/cdssetup/display.drf ~/<proj dir>/display.drf
cp /remote/ncsu_oa/local/cdssetup/display.drf ~/<proj dir>/display.drf
</pre></code></blockquote>
</pre></big></code></blockquote>


**<code>/remote/ncsu_oa/local/cdssetup/cds
*Now open your ~/<proj dir>/cds.lib file and add the following one line to its contents (remember to press enter at the end of the line).
**y
<blockquote><code><big><pre>
INCLUDE ~/cds.lib
</pre></big></code></blockquote>
:This line will include the contents of our ~/cds.lib file giving us access to the common libraries defined there. Whenever you launch Cadence IC tool from ~/<proj dir> and create any new libraries, this file will be automatically updated to include the definitions of the new libraries.


==Other==


*Optional (the .cdsenv is set correctly for AMI0.6um CMOS process by default) : you may edit the ~/<proj dir>/.cdsenv file. Using a text editor add the following lines under their respective heading to your .cdsenv file to set the default simulator as Spectre and set the correct model files (TSMC0.25um, TSMC0.35um, and AMI0.5um CMOS) for NCSU PDK.  If there is an existing command of the same type, please alter the existing command.


 
<blockquote><code><big><pre>
 
 
 
 
1. Edit your .software file (loading the environment setting of the desired tools) in your home directory using
<blockquote><code><pre>
gedit ~/.software
</pre></code></blockquote>
It should include at least MMSIM, ASSURA and IC. CALIBRE and IUS may be included if they are needed. A sample file may look like this
<blockquote><code><pre>
MMSIM
CALIBRE
IUS
ASSURA
IC
</pre></code></blockquote>
 
2. Edit your .cdsenv file (setting the default setup of your Cadence environment) in your home directory (Skip this if you are using Hspice simulator.)
 
<blockquote><code><pre>
gedit ~/.cdsenv
</pre></code></blockquote>
 
and add the following scripts to .cdsenv
 
<blockquote><code><pre>
;--------------------------------------------------------------------------
;--------------------------------------------------------------------------
; Analog Artist Simulation Environment Defaults
; Analog Artist Simulation Environment Defaults
Line 117: Line 124:
; spectre environment variables
; spectre environment variables
;--------------------------------------------------------------------------
;--------------------------------------------------------------------------
spectre.envOpts    modelFiles      string  "$CDK_DIR/models/spectre/standalone/tsmc25N.m \
spectre.envOpts    modelFiles      string  "$CDK_DIR/models/spectre/standalone/tsmc20N.m \
                                            $CDK_DIR/models/spectre/standalone/tsmc20P.m \
                                            $CDK_DIR/models/spectre/standalone/tsmc25N.m \
                                             $CDK_DIR/models/spectre/standalone/tsmc25P.m \
                                             $CDK_DIR/models/spectre/standalone/tsmc25P.m \
                                             $CDK_DIR/models/spectre/standalone/tsmc35N.m \
                                             $CDK_DIR/models/spectre/standalone/tsmc35N.m \
Line 125: Line 134:


spectre.envOpts controlMode string "batch"
spectre.envOpts controlMode string "batch"
</pre></code></blockquote>
</pre></big></code></blockquote>
to set the default simulator as Spectre and set the correct model files (TSMC0.25um, TSMC0.35um, and AMI0.5um CMOS) for NCSU PDK.


You may also add the following script to setup the default directory to store simulation results.
*You may also add the following script to setup the default directory to store simulation results.
<blockquote><code><pre>
<blockquote><code><big><pre>
asimenv.startup      projectDir      string  "~/cadence/simulation"
asimenv.startup      projectDir      string  "~/cadence/simulation"
</pre></code></blockquote>
</pre></big></code></blockquote>
 
 
3. If you are using NCSU PDK, copy cdsinit file to your working directory
 
<blockquote><code><pre>
cd <path to your working directory>
cp $CDK_DIR/cdssetup/cdsinit .cdsinit
</pre></code></blockquote>
 
4. If you need to use Calibre, add the following script to your .cdsinit file in the working directory.
<blockquote><code><pre>
 
;; Calibre setup
 
;; Load Calibre Skill Interface if environment var is set
mgc_home=getShellEnvVar("MGC_HOME")
 
if( mgc_home!=nil && isDir(mgc_home) && isReadable(mgc_home) then
    ; Load calibre.skl for Cadence versions 4.4 and greater
    load(strcat(mgc_home "/shared/pkgs/icv/tools/queryskl/calibre.skl"))
else
    ; MGC_HOME is not set
    printf("Calibre Skill Interface not loaded.\n")
)
;; End of Calibre Skill Interface


*Optional: You may edit the ~/<proj dir>/.cdsinit file to add the following script to set the default editor in Cadence to gedit.
<blockquote><code><big><pre>
editor="gedit"
</pre></big></code></blockquote>


</pre></code></blockquote>
*You are now ready to run Cadence 6.15. You can invoke cadence using the following command:


5. If you ever use $CDS_SITE in your configuration files, define CDS_SITE in your .basrhc file. (You probably need it if you use Cadence 5.4 in the linux servers before July 2011.)
<blockquote><code><big><pre>
<blockquote><code><pre>
virtuoso &
gedit ~/.bashrc
</pre></big></code></blockquote>
</pre></code></blockquote>
and add
<blockquote><code><pre>
export CDS_SITE /usr/local/cadence/iclocal/local
</pre></code></blockquote>

Latest revision as of 18:40, 1 October 2023

Cadence 6.18 Setup

This tutorial is designed to help students set up their accounts in order to run Cadence 6.15 with the NCSU Cadence Design Kit.

Setup

Once you have successfully logged into your account on a Linux machine, you need to take a few steps before you can start using the IC design tools. The following steps will only need to be perfromed once.

  • Set Bash Shell for your account
    • Login to http://www.asw.iastate.edu
    • Click on: Manage Net-ID (password, email settings, etc.)
    • Click on: View/Edit your (Linux/Unix) login shell
    • Select: "/bin/bash"
    • Click on: Update Shell
    • Click on: Logout
    • Note: These changes will take overnight to take effect. Until that time you will need to set your shell manually by typing bash at the command prompt. You will only need to do this for the first day and then your shell will default to the Bash Shell.


  • Create a ~/.software File
    • The Computer Support Group (CSG) has made a variety of software available for student use. To enable the use of different software tools, every user needs to have a special file, the .software file located in their home directory (i.e., ~/.software). Using a text editor of your choice, create a new file by that name in your home directory, e.g. by entering “gedit ~/.software”, and enter the following lines in that file:

SPECTRE
IC
SIGRITY
MODUS
GENUS
CALIBRE
QUANTUS
INNOVUS

These entries enable the use of the IC design tools with the Spectre circuit simulator. You will need to close your terminal and open a new terminal in order for these changes to take effect. If other tools are needed (i.e., tools for automatic place-and-route) you will have to edit this file and add the appropriate entreis as directed by your TA.


  • Creat a ~/.bashrc File
  • You will need to create a ~/.bashrc file which contains the following 3 lines:
if [ -f /etc/bashrc ]; then
   . /etc/bashrc
fi


  • Create a ~/.bash_profile File
    • Create a file named ~/.bash_profile and add the following lines to that file:
if [ -f ~/.bashrc ]; then
   . ~/.bashrc
fi

PATH=$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME=""
export USERNAME BASH_ENV PATH DISPLAY
This file is where you will add any other types of customization to your shell, such as aliases etc.


  • Create a ~/cds.lib file
  • The Library Manager keeps information about system-wide libraries as well as your design libraries in a special file called "cds.lib"(the contents of "cds.lib" file are case-sensitive). For better organization purposes, you will create a "cds.lib" in your home directory. This file will include definitions of system wide libraries as well as any library that you would like to be available for all of your projects
INCLUDE /usr/local/cadence/iclocal/local/cdssetup/cds.lib
DEFINE analogLib $IC/tools/dfII/etc/cdslib/artist/analogLib
The first line includes a cds.lib file created by the system administrators from another location on the system. The second line defines a library “analogLib” supplied by Cadence which includesthe basic circuit elements. Except for transistors, most of your schematic components will be instantiated from this library.


  • Open A New Terminal
  • After making sure that these lines are present in the ~/.bashrc, ~/.bash_profile, and ~/.software files, you will need to start a new terminal in order for these changes to take effect. You can do this by typing
bash
  • Or reload the config by typing
source ~/.bashrc

New Project Setup

The following steps should be taken for every new project.

  • Create a Project Directory
    • It is best to organize your work into multiple directories with each directory being dedicated to a specific class or research project. We will create a new directory where all of our libraries will be stored. Type the following lines at the command line:
mkdir <proj dir>
cd <proj dir>


  • You must now copy some Cadence configuration files into your newly created project directory. You will need to copy several files by typing the following commands at the prompt:
cp /remote/ncsu_oa/local/cdssetup/cdsenv ~/<proj dir>/.cdsenv
cp /remote/ncsu_oa/local/cdssetup/cdsinit ~/<proj dir>/.cdsinit
cp /remote/ncsu_oa/local/cdssetup/cds.lib ~/<proj dir>/cds.lib
cp /remote/ncsu_oa/local/cdssetup/display.drf ~/<proj dir>/display.drf
  • Now open your ~/<proj dir>/cds.lib file and add the following one line to its contents (remember to press enter at the end of the line).
INCLUDE ~/cds.lib
This line will include the contents of our ~/cds.lib file giving us access to the common libraries defined there. Whenever you launch Cadence IC tool from ~/<proj dir> and create any new libraries, this file will be automatically updated to include the definitions of the new libraries.


  • Optional (the .cdsenv is set correctly for AMI0.6um CMOS process by default) : you may edit the ~/<proj dir>/.cdsenv file. Using a text editor add the following lines under their respective heading to your .cdsenv file to set the default simulator as Spectre and set the correct model files (TSMC0.25um, TSMC0.35um, and AMI0.5um CMOS) for NCSU PDK. If there is an existing command of the same type, please alter the existing command.
;--------------------------------------------------------------------------
; Analog Artist Simulation Environment Defaults
; FORMAT: tool[.partition] varName type value private {choices, minmax} comment
;--------------------------------------------------------------------------
asimenv.startup       simulator       string  "spectre"

;--------------------------------------------------------------------------
; Graphics Editor and Design Editor Environment Variables
;--------------------------------------------------------------------------
graphic       drfPath string  "/usr/local/cadence/iclocal/local/cdssetup/display.drf"

;--------------------------------------------------------------------------
; spectre environment variables
;--------------------------------------------------------------------------
spectre.envOpts    modelFiles       string  "$CDK_DIR/models/spectre/standalone/tsmc20N.m \
                                             $CDK_DIR/models/spectre/standalone/tsmc20P.m \
                                             $CDK_DIR/models/spectre/standalone/tsmc25N.m \
                                             $CDK_DIR/models/spectre/standalone/tsmc25P.m \
                                             $CDK_DIR/models/spectre/standalone/tsmc35N.m \
                                             $CDK_DIR/models/spectre/standalone/tsmc35P.m \
                                             $CDK_DIR/models/spectre/standalone/ami06N.m \
                                             $CDK_DIR/models/spectre/standalone/ami06P.m"

spectre.envOpts controlMode string "batch"
  • You may also add the following script to setup the default directory to store simulation results.
asimenv.startup       projectDir      string  "~/cadence/simulation"
  • Optional: You may edit the ~/<proj dir>/.cdsinit file to add the following script to set the default editor in Cadence to gedit.
editor="gedit"
  • You are now ready to run Cadence 6.15. You can invoke cadence using the following command:
virtuoso &