Setup for 130nm IBM PDK

From VLSI
Revision as of 17:56, 24 September 2019 by Sjnystro (talk | contribs) (→‎Setup)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

How to Setup the 130nm IBM PDK

This tutorial is designed to help students set up a cadence working directory that is linked to the 130nm IBM PDK.


IMPORTANT Before any student will be granted access to the IBM PDK, they must sign the MOSIS Individual NDA for University Account Students and Staff which can downloaded from: https://www.mosis.com/files/mosis_forms/academic_nda_non-liaison.pdf

The signed NDA should be submitted, along with a valid ISU NetID to Dr. Nathan Neihart.

Setup

In order to use the IBM PDK you will need to create a directory that will house all of the necessary configuration files. This is the directory from which you will launch Virtuoso and will heretofore be referred to as the IBM working directory. To facilitate the creation of your IBM working directory, a template directory has been created.

  • Fist copy the DM_template61 directory and place it wherever you store your cadence directories (the copied directory can be named anything that you like). You can do this by entering the following command into a terminal:

cp -r /remote/cadencelib/nda/ibm8rfcmos/DM_template61 ~/<CADENCE_DIR>/cmrf8sf

where <CADENCE_DIR> is the name of your directory where you store all of your cadence files and cmrf8sf is what I chose to call my IBM working directory.
  • There are several environment variables that need to be assigned for the PDK to run correctly. Add the following lines to your .bash_login.
export SPECTRE_DEFAULTS=-E
export CDS_LOAD_ENV=CWDElseHome
export QRC_ENABLE_EXTRACTION="t"
export QRC_HOME="/usr/local/cadence/ext"
  • Finally, modify your ~/.software file to include the following lines:
IC
ASSURA
CALIBRE
SPECTRE
EXT
SIGRITY
MODUS
GENUS
INCISIVE
INNOVUS
Note that you may have additional entries, however none of them can be duplicates.

You can NOT have two of the same product listed. For example you can not have CALIBRE2009 and CALIBRE both listed at the same time. Also, the order of the entries can be important.

  • The setup is now complete. To use the PDK simply launch virtuoso from your newly created IBM working directory.

Description of PDK Files

What follows is a brief description of the organization of the files that make up the PDK.

PDK Versions

While this PDK is relatively stable, there are occasionally updates. For testing purposes, however, all older versions are kept. The different versions can be accessed at /remote/cadencelib/nda/ibm8rfcmos/IBM_PDK/cmrf8sf/.

There is also a symbolic link relDM that will always link to the latest version of the PDK. This is used in all paths in the template directory and should only be changed in very rare circumstances.

PDK Directory Structure

Under the directory /remote/cadencelib/nda/ibm8rfcmos/IBM_PDK/cmrf8sf/ there are many sub-directories. Below is a brief explanation of the most pertinent.

ADS - This directory contains various files for supporting integration with Advanced Design Systems (ADS2009 Update 1).
Assura - Contains all of the necessary definitions for using Assura for performing DRC, LVS, and parasitic extraction.
Calibre - Contains all of the necessary definitions for using Calibre for performing DRC, LVS, and parasitic extraction.
doc - Contains the user guides for the PDK. Of particular importance is the cmrf8sf.design_manual.pdf and the cmrf8sf.model_guide.pdf
EM - Contains the substrate files for use in ADS Momentum simulations.
HSPICE - HSPICE model files
Spectre - Spectre model files

IBM Working Directory Contents

The IBM working directory contains several important files. Below is a description of the most important:

cds2gds.map - This file contains the mapping when streaming OUT to a gds file.
.cdsenv - Files for configuring the look and feel of virtuoso
.cdsinit - Setup file needed for the PDK
cds.lib - File that contains all of the libraries that you will access
display.drf - File that contains the layer definitions for layout
steamin.map - File containing maps for when you stream IN from gds