Cadence 6.1 Setup: Difference between revisions
Jump to navigation
Jump to search
m Added tsmc's 20um model libraries to the spectre model libraries string |
|||
(17 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
==Cadence 6. | ==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 15: | Line 15: | ||
*<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 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><big><pre> | |||
SPECTRE | |||
IC | IC | ||
SIGRITY | |||
MODUS | |||
GENUS | |||
CALIBRE | CALIBRE | ||
QUANTUS | |||
INNOVUS | |||
</pre></code></blockquote> | |||
</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> | |||
Line 41: | Line 46: | ||
**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 | *<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> | *<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 | :*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><pre> | <blockquote><code><big><pre> | ||
bash | bash | ||
</pre></code></blockquote> | </pre></big></code></blockquote> | ||
Or reload the config by typing | :*Or reload the config by typing | ||
<blockquote><code><pre> | <blockquote><code><big><pre> | ||
source ~/.bashrc | source ~/.bashrc | ||
</pre></code></blockquote> | </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. | ||
* | *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_oa/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> | ||
* | *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). | ||
<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. | |||
* | *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><pre> | <blockquote><code><big><pre> | ||
;-------------------------------------------------------------------------- | ;-------------------------------------------------------------------------- | ||
; Analog Artist Simulation Environment Defaults | ; Analog Artist Simulation Environment Defaults | ||
Line 108: | 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 116: | Line 134: | ||
spectre.envOpts controlMode string "batch" | spectre.envOpts controlMode string "batch" | ||
</pre></code></blockquote> | </pre></big></code></blockquote> | ||
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> | ||
*Optional: You may edit the ~/<proj dir>/.cdsinit file to add the following script to set the default editor in Cadence to gedit. | *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><pre> | <blockquote><code><big><pre> | ||
editor="gedit" | editor="gedit" | ||
</pre></code></blockquote> | </pre></big></code></blockquote> | ||
*You are now ready to run Cadence 6.15. You can invoke cadence using the following command: | *You are now ready to run Cadence 6.15. You can invoke cadence using the following command: | ||
<blockquote><code><pre> | <blockquote><code><big><pre> | ||
virtuoso & | virtuoso & | ||
</pre></code></blockquote> | </pre></big></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:
- 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
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 &