NCSU CDK Installation Instructions

This file describes the actions needed to install the N.C. State University Cadence Design Kit (NCSU CDK).

$CDS_DIR == The top level of the Cadence installation tree.
$IC_DIR == The top level of the IC STREAM.

This document contains the following sections:


Installation instructions

These instructions assume you already have the Cadence tool set (e.g. IC 4.4.5) installed and operational. At NCSU we run Cadence (basically IC 4.4.5 and LDV 3.0) on Sun workstations under Solaris 2.6. Our kit has not been tested on other platforms, but there should not be any platform dependent operations in the kit.

Download and unpack the kit

Go to the NCSU CDK download page and get a copy. Then, copy the file to where you want the CDK files to live, cd to that directory and uncompress and untar the file. (Note that you should probably un-set your file permissions mask and untar using the -p (preserve permissions) switch, e.g. umask 000; tar xpf NCSU_CDK.1.1.tar at the shell prompt.)

Note: we have set the kit up to be installed as a sub-directory called local, which can exist in any directory. Ideally it exists as $CDS_DIR/local, but if you already have a directory there, it can go somewhere else. (We call this a ``relocatable installation.'') In that case, however, the install script will need to modify some site-wide files at the top level of the Cadence hierarchy, so you'll probably need some type of sysadmin privileges anyway. See the list of what the install script does below.

You should now have a local/ sub-directory with the unpacked kit. We'll refer to this directory as $cdk_dir from here on.

Installing the kit


Install Script Operations

These are the operations performed by $cdk_dir/bin/install.pl. They are listed here for reference, but we recommend that you run the script instead of doing them by hand.

Links are needed in the hierarchy of all installed platform types (sun4v, hp, etc).


Verifying Installation

There's no formal way to verify everything's hooked in properly, but you can check pretty quickly to see if things look ok:

  1. Set any environment variables necessary (e.g., $CDS_SITE, $USE_NCSU_CDK) and start Cadence.

  2. Make sure you see the message Loading NCSU SKILL routines... in the CIW during startup. If you're running DFII 4.4.2.100.22 or later, you should also see the message Loading NCSU Library Manager customizations...done. in the Library Manager.

  3. Type NCSU_CDK_version in the CIW and hit RETURN; you should get back a version string, e.g. ``NCSU_CDK 1.2''.

  4. Select the ``File->New->Library...'' menu entry in the CIW. A form should appear that looks like the picture below:

    Click the ``Help'' button and make sure the appropriate OpenBook entry appears.

  5. Create a library by choosing ``Compile tech file'' and selecting a MOSIS process from the popup menu that appears. You should see the following messages in the CIW:

    Loading technology files...
    Compiling class 'controls'....
    Compiling class 'layerDefinitions'....
    Compiling class 'devices'....
    Compiling class 'layerRules'....
    Compiling class 'physicalRules'....
    Compiling class 'dleRules'....
    Compiling class 'dlrRules'....
    Storing symbolic cells...
    Generating Pcell for 'm1_n layout'.
    Generating Pcell for 'm1_p layout'.
    Generating Pcell for 'm1_poly layout'.
    Generating Pcell for 'm2_m1 layout'.
    Generating Pcell for 'nmos layout'.
    Generating Pcell for 'pmos layout'.
    Generating Pcell for 'ntap layout'.
    Generating Pcell for 'ptap layout'.
    Generating Pcell for 'm1_elec layout'.
    Creating links to Diva verification rules files...
    Library creation successfully completed.
    

    You might also see some lines like Loading XXX.cxt. Also, the exact Pcells generated will depend on the process you chose.

  6. Create and open a layout in the new library. In the LSW, nwell should be green slash, metal 1 should be blue backslash, metal 2 should be magenta dots. The last menu in the layout window's menu bar should be ``NCSU'' and have the following entries:

  7. Open Analog Artist (``Tools->Analog Environment->Simulation...'' in the CIW) and verify the menu entry ``Setup->Model Corner...'' exists.

If all these are like they should be, you probably have everything installed correctly.


User .cshrc Setup


#---- Cadence user setup ----------------------------------------------

# see local/environment/environment for the full setup script we use at
# N.C. State.

# replace $CDS_DIR below with the root directory of your Cadence
# installation, and $UNAME with the full path to your uname executable
set base_dir = "$CDS_DIR"
set uname    = "$UNAME"

# These are paths to the STREAM release directories (e.g. where IC 4.4.5
# lives); change these to fit your site
setenv IC $base_dir/ic
setenv LDV $base_dir/ldv

setenv CDS $base_dir
setenv CDS_LIC_FILE $CDS/share/license/license.dat
setenv TERM $term

# the lib path setup looks at $CDS_SITE/cdssetup to find the "setup.loc"
# file (other things, like prependNCSUCDKInstallPath(), need $CDS_SITE
# as well) 
# note that "$cdk_dir" below is the local/ directory created when you
# untarred the CDK distribution
setenv CDS_SITE $cdk_dir

# if you did a "relocatable installation",
# set USE_NCSU_CDK to access the CDK features
setenv USE_NCSU_CDK

# use analog netlister for everything
setenv CDS_Netlisting_Mode Analog

# Path additions

alias prepend 'if (-d \!:2) if ("$\!:1" \!~ *"\!:2"*) setenv \!:1 "\!:2":${\!:1}'
alias extend  'if (-d \!:2) if ("$\!:1" \!~ *"\!:2"*) setenv \!:1 ${\!:1}:\!:2'

prepend PATH $LDV/tools/bin
prepend PATH $LDV/tools/dfII/bin
prepend PATH $IC/tools/bin
prepend PATH $IC/tools/dfII/bin
prepend PATH $IC/tools/concice/bin
prepend PATH $IC/tools/dracula/bin

extend MANPATH $LDV/share/man
extend MANPATH $IC/share/man
extend MANPATH $IC/tools/man

prepend LD_LIBRARY_PATH $LDV/tools/lib
prepend LD_LIBRARY_PATH $IC/tools/lib

# this next one sets a path to our wrapper script; the script
# removes this PATH component to unmask the real executable. ONLY USE
# THIS IF YOU"RE USING THE local/bin/dfiiwrapper.pl SCRIPT.

setenv PATH $CDS/bin:$PATH

#---- Start clsbd -----------------------------------------------------
# clsbd should always be running when we start cadence tools
# note that "bar" is a simple suid root program that starts clsbd (the
# theory is that if it's running as root, a userland process is less
# likely to take it down, and it won't be killed when the user logs out.
# we want this because clsbd needs to be running on all workstations
# that run cadence tools so it can respond to queries about locks. see
# chapter 11 of "Cadence Application Infrastructure User Guide" for more
# info on cls.)

if (( "`${uname} -sr`" == "SunOS 5.4") || ( "`${uname} -sr`" == "SunOS 5.5.1") || ( "`${uname} -sr`" == "SunOS 5.6")) then
    $CDS_SITE/bin/bar > /dev/null
else
    $IC/tools/bin/clsbd > /dev/null
endif

unset base_dir uname

#---- End of Cadence Setup --------------------------------------

Return to index