Setting up ON's C5 PDK and Calibre in Cadence IC51 from CMOSedu.com

 

It's assumed that C5_MSD_PDK.tar (circled below) was downloaded from MOSIS or ON (formerly AMIS) to set Cadence up for the C5 process.

This page will discuss how to install the PDK using the Bash shell.

If using the C shell see the MSD_UserGuide.pdf downloaded, and seen, below.

 

http://cmosedu.com/videos/cadence/on_c5/on_fig1.jpg

 

The only file we'll use at this point is the C5_MSD_PDK.tar file.

Extract (right click on the file) the contents of the tar file to the Desktop (feel

free to use "Extract Here" and then move the folder to the Desktop).

 

http://cmosedu.com/videos/cadence/on_c5/on_fig2.jpg

 

Rename this folder C5_PDK and move it to your home directory.

 

http://cmosedu.com/videos/cadence/on_c5/on_fig3.jpg

 

In your home directory open the .bashrc file (ensure that you can view hidden files) and add the following.

 

export SPECTRE_DEFAULTS=-E

export CDS_Netlisting_Mode=Analog

export CDS_LOAD_ENV=CWDElseHome

 

export AMIS=/home/bakerj/C5_PDK

export AMIS_DFII_DIR=/usr/cadence/IC5141

export CDS_SITE=$AMIS/tools/msd/current/site

export SIMRC=$AMIS/tools/msd/current/site/.simrc

export AMIS_MSD_PATH=$AMIS/tools/msd/current

 

The highlighted portions should be changed to your home directory and the location of your Cadence installation folder.

When finished, in a terminal window in your home directory, type the command “. .bashrc” (period, space, period bashrc)

to re-source the .bashrc file.

 

Using a text editor make a file called cds.lib containing the following (the lines starting with "DEFINE" seen below).

 

Since this PDK is mature the paths seen below are likely correct. Take a moment to verify this assumption, that is, verify

$AMIS/lib/amis500cx/physical/dfii/amis500cxatxx/Rev4.2 and the other paths are valid.

 

Save the cds.lib file in C5_PDK.

The cds.lib points to the Cadence and the ON (aka AMIS) libraries.

 

DEFINE amisCommonLib        $AMIS/lib/tech_indep/physical/dfii/amisCommonLib/Rev1.5

DEFINE amisSheetLib         $AMIS/lib/tech_indep/physical/dfii/amisSheetLib/Rev4.0

DEFINE amis500cxakxx        $AMIS/lib/amis500cx/physical/dfii/amis500cxakxx/Rev2.10

DEFINE amis500cxatxx        $AMIS/lib/amis500cx/physical/dfii/amis500cxatxx/Rev4.2

DEFINE maskident             $AMIS/lib/amis500cx/physical/dfii/maskident/Rev2.0

 

DEFINE analogLib       $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/analogLib

DEFINE cdsSpice        $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/cdsSpice

DEFINE functional       $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/functional

DEFINE sbaLib          $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/artist/sbaLib

DEFINE basic            $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/basic

DEFINE sheets          $AMIS_DFII_DIR/tools.lnx86/dfII/etc/cdslib/sheets/US_8ths

 

Next save cdsinit to C5_PDK (or save it to the desktop and move it to this folder).

Rename this file .cdsinit (add a period to the front of the filename).

 

Again, ensure that you can view hidden files since adding the period will make this file a "hidden file."

Note that hidden files do not display on your desktop.

They can, however, be viewed with the File Browser via the Desktop icon (circled below).

 

http://cmosedu.com/videos/cadence/on_c5/on_fig4.jpg

 

We won't run Cadence out of the C5_PDK library directory (important!)

 

Next create a folder in your home directory called mydesign.

This will be our design directory.

Copy (DO NOT MOVE) the cds.lib and .cdsinit files in C5_PDK to mydesign as seen below.

 

http://cmosedu.com/videos/cadence/on_c5/on_fig5.jpg

 

We copy cds.lib and .cdsinit so that if we want to create another design directory at another point

in time they will be available (unchanged), again, to copy from C5_PDK.

 

Open a terminal and cd to mydesign.

Start Cadence (in IC51 Cadence is started using "icfb").

 

http://cmosedu.com/videos/cadence/on_c5/on_fig6.jpg

 

Tutorials covering the use of Cadence are found here.

 

Some other random images that may be helpful.

Below shows how we attach an existing technology when creating a library.

 

http://cmosedu.com/videos/cadence/on_c5/on_fig7.jpg

 

http://cmosedu.com/videos/cadence/on_c5/on_fig8.jpg

 

Below shows how, in the ADE, we select Spectre for simulation, that is, Setup -> Simulator/Directory/Host

 

http://cmosedu.com/videos/cadence/on_c5/on_fig9.jpg

 

And below shows Setup -> Model Libraries for Spectre simulations (similar path for other simulators).

Also note that the model files end in *.scs.

 

http://cmosedu.com/videos/cadence/on_c5/on_fig10.jpg

 

The sim will fail if you don't set the Section (e.g. typ, min, max). You'll get an error similar to the following:

 

ERROR (SFE-675): "/home/bakerj/C5_PDK/lib/amis500cx/tech/spectre/amis500cxakxx/Rev2.20/res-Default.scs" 6: Illegal library definition found in netlist

 

Help Printing/Plotting with Cadence is found here.

  


Configuring Calibre for DRCing and LVSing.

 

Copy the contents of calibre.txt to the bottom of the .cdsinit file in the design directory, e.g., mydesign

 

Add the following line to the .bashrc file

 

export CALIBRE_METAL=TLM

   

where TLM indicates a "Triple Layer Metal" process.

When finished, in a terminal window in your home directory, type the command “. .bashrc” (period, space, period bashrc)

to re-source the .bashrc file. 

  

Create folders calibre_drc and calibre_lvs in your design directory. 

Copy (DO NOT MOVE) drc.runset and drc.rf from ./C5_PDK/lib/amis500cx/tech/calibre/amis500cxakxx/Rev2.6 into ./mydesign/calibre_drc

Copy (DO NOT MOVE) lvs.runset and lvs.rf from ./C5_PDK/lib/amis500cx/tech/calibre/amis500cxakxx/Rev2.6 into ./mydesign/calibre_lvs

 

Using a text editor edit drc.runset (the one you just copied into calibre_drc) and replace

 

*drcRulesFile: ./drc.rf

 

with (replace highlighted portion with the path to your design directory)

 

*drcRulesFile: /home/bakerj/mydesign/calibre_drc/drc.rf
*drcRunDir:
/home/bakerj/mydesign/calibre_drc

 

Also delete the following line from the drc.runset file

 

*cmnTemplate_RN: ../../layout/phyver/drc/%l

 

Again, using a text editor edit lvs.runset (the one you just copied into calibre_lvs) and replace

 

*cmnTemplate_RL: ./lvs.rf
*cmnTemplate_RN: ../../layout/phyver/lvs/%l

 

with (replace highlighted portion with the path to your design directory)

 

*cmnTemplate_RL: /home/bakerj/mydesign/calibre_lvs/lvs.rf
*cmnTemplate_RN:
/home/bakerj/mydesign/calibre_lvs
 

Finally, again using a text editor open the lvs.rf file that you just copied to calibre_lvs.

Scroll to the bottom of this file until you see the following.

Change, as has already been done below, the word "current" to "Rev2.6" to ensure the correct path.

 

#IFDEF $PROJECT_BASE_DIR
  INCLUDE "$PROJECT_BASE_DIR/lib/public/amis500cx/tech/calibre/amis500cxakxx/Rev2.6/Calibre_EXT_amis500cxakxx.rf"
#ELSE
  #IFDEF $AMISPRJPATH
    INCLUDE "$AMISPRJPATH/lib/public/amis500cx/tech/calibre/amis500cxakxx/Rev2.6/Calibre_EXT_amis500cxakxx.rf"
  #ELSE
    INCLUDE "$AMIS/lib/amis500cx/tech/calibre/amis500cxakxx/Rev2.6/Calibre_EXT_amis500cxakxx.rf"
  #ENDIF
#ENDIF

 

Cadence should now be setup to run DRCs and LVSs using Calibre.

Let's verify this statement.

 

Open a terminal window and cd to mydesign. Start Cadence (icfb &).

Open a layout and verify that the Calibre menu item shows up as seen below.

 

http://cmosedu.com/videos/cadence/on_c5/calibre_drc.jpg

 

Set the paths as seen below.

 

http://cmosedu.com/videos/cadence/on_c5/calibre_drc1.jpg

 

Next select inputs and then "Export from layout viewer" as seen below.

 

http://cmosedu.com/videos/cadence/on_c5/calibre_drc2.jpg

 

After hitting the "Run DRC" button the RVE window should pop up and report the DRC results. 

 

Next "Run LVS" from the Calibre menu seen above.

Set the paths as seen below.

 

http://cmosedu.com/videos/cadence/on_c5/calibre_lvs1.jpg

 

Next select "Inputs" and then "Export from layout viewer" as seen below.

 

http://cmosedu.com/videos/cadence/on_c5/calibre_lvs2.jpg


 

After hitting the "Run LVS" button the RVE window should pop up and report the LVS results. 

 

Return