Digital VLSI Chip Design
with Cadence and Synopsys
CAD Tools

HOME


By Erik Brunvand

 

UofU_TechLib_ami06

Please note that all this information is provided "as is" and without any warranty of any kind. Please use the information at your own risk. This warning is especially true for the cell libraries!

NEW - The UofU technology libraries are now available for both Cadence IC v5 (CDB format), and Cadence IC v6 (OA format).

This page contains information about the UofU-modified technology library for the ON (formerly AMI) C5N 0.5 micron CMOS process. This is not a required technology. I believe that the information in the book is generic enough that it should be useful in learning how to drive the tools with any process library that you have installed. However, if you'd like to use the UofU cell libraries, they all use this technology library...

This library is based on the NCSU CDK and is a modified version of the NCSU_TechLib_ami06 library. See Appendix C for details of what the changes are.


Cadence IC v6 (OA) version

Here is a tar file of all the IC v6 (OA) files mentioned (and linked) in the following text: OATechLib.tar.gz

If you'd like to install the UofU_TechLib_ami06 technology library, here are the steps:

  1. This library is based on the NCSU CDK v1.6 beta. So, first install that CDK according to the NCSU instructions. You can get the NCSU CDK1.6 beta through the NCSU CDK Wiki. I'll assume that you've installed the CDK at a location pointed to by $CDK_DIR

  2. The UofU_TechLib_ami06 library loads some skill files (Cadence scripting language) from the CDK installation during DRC and extraction. There are two files in particular that have been modified for the UofU version. So, in the $CDK_DIR/techfile direction, put copies of these two files: divaLayerDef.UofU.il and divaMultiLevel.UofU.il

  3. Now you need to modify a couple more skill files so that the NCSU menus know about the new UofU_TechLib_ami06 technology. What I do is rename the files that came with the CDK to <filename>.il.orig, and then put these new copies in thar same directory. The files, and their drectories are: $CDK_DIR/skill/globalData.il, $CDK_DIR/skill/pcells/redoPcells.il, and $CDK_DIR/skill/menus/ciw/createLib.il.

  4. Now you need to install the UofU_TechLib_ami06 technology library directory by unpacking the gzipped and tarred directory. Put this directory wherever you want - the cds.lib file will tell Cadence where to look for it.

  5. Now you can add a reference to the UofU_TechLib_ami06 technology library to your cds.lib file. You can add this in the system-wide cds.lib in $CDK_DIR/cdssetup/cds.lib, or in a class-specific version (see next bullet), or in the cds.lib file that's in the directory from which you start the Cadence tools. This will let the Cadence tools see this new directory. The syntax in the cds.lib file is:

    DEFINE UofU_TechLib_ami06 <path-that-points-to-the-library-directory>

    If you want, you can put the UofU_TechLib_ami06 directory in the $CDK_DIR/lib directory where all the other NCSU CDK technology libraries exist, but you can put anywhere you like as long as your cds.lib points to it. If you did put it in $CDK_DIR/lib, then the cds.lib would include this line:

    DEFINE UofU_TechLib_ami06 $CDK_DIR/lib/UofU_TechLib_ami06

  6. If you've followed the steps this point, now when you fire up icfb with the NCSU CDK (using, for example, the scripts in Appendix A), you should see this new technology file in your Library Manager. You should also see this technology available in the the list to choose from when you're making a new design library and you want to attach a technology to that new design library.

  7. *Optional* You can also modify the main setup files in the $CDK_DIR/cdssetup directory to make your own local version behave how you want it to. At the University of Utah we have things set up so that the setup files look for class-specific setups and load those if found. If the students set their $LOCAL_CADSETUP variable in their shell, then when the Cadence tools are fired up (with these modified setup files), the extra setups pointed to by that variable will also be loaded. This way we can have separate setup tweaks for different classes, and by choosing where to point the $LOCAL_CADSETUP variable, you can automatically get different setups.

    This modification is in the $CDK_DIR/cdssetup/cdsinit file (note that there should also be a symbolic link from cdsinit to .cdsinit). As with the skill files, my recommendation is to save the original file in cdsinit.orig before making changes.

  8. *Optional* At Utah we also modified cds.lib, schPlotTemplate, and layoutPlotTemplate to local tastes. This just adds specific startup information to things. You should check these out and modify as required for local information. For example, the PlotTemplate files refer to the name of a printer that needs to be a printer mentioned in the local version of the cdsplotinit file.

  9. *Optional* If you use the UofU-modified cdsinit file, this will look for information to load from the $LOCAL_CADSETUP/cadence directory. In that directory, for example, you might have class-specific versions of the following files (these are examples from our Digital VLSI class at the University of Utah): cdsenv (linked to .cdsenv), cdsinit (linked to .cdsinit), simrc, and cdsplotinit (linked to .cdsplotinit). You should look at these and make changes for your own local setup. Directory names that you'll have to fill in <are in angle brackets>.

    The procedure for using these local modifications is to put a <class>/cadence directory somewhere that all the students can see, then have the students set their $LOCAL_CADSETUP variable in their shell to point to <class>.

If you've followed these steps, you should end up with an NCSU CDK 1.6 beta installation with a new UofU_TechLib_ami06 technology that is needed to use the UofU cell libraries. You can also use these extensions to customize the tool setup for your own local tastes.

 


Cadence IC v5 (CDB) version

Here is a tar file of all the IC v5 (CDB) files mentioned (and linked) in the following text: CDBTechLib.tar.gz

If you'd like to install the UofU_TechLib_ami06 technology library, here are the steps:

  1. This library is based on the NCSU CDK v1.5.1. So, first install that CDK according to the NCSU instructions. You can get the NCSU CDK1.5.1 through the NCSU CDK Wiki. I'll assume that you've installed the CDK at a location pointed to by $CDK_DIR

  2. The UofU_TechLib_ami06 library loads some skill files (Cadence scripting language) from the CDK installation during DRC and extraction. There are two files in particular that have been modified for the UofU version. So, in the $CDK_DIR/techfile direction, put copies of these two files: divaLayerDef.UofU.il and divaMultiLevel.UofU.il

  3. Now you need to modify a couple more skill files so that the NCSU menus know about the new UofU_TechLib_ami06 technology. What I do is rename the files that came with the CDK to <filename>.il.orig, and then put these new copies in thar same directory. The files, and their drectories are: $CDK_DIR/skill/globalData.il, $CDK_DIR/skill/pcells/redoPcells.il, and $CDK_DIR/skill/menus/ciw/createLib.il.

  4. Now you need to install the UofU_TechLib_ami06 technology library directory by unpacking the gzipped and tarred directory. Put this directory wherever you want - the cds.lib file will tell Cadence where to look for it.

  5. Now you can add a reference to the UofU_TechLib_ami06 technology library to your cds.lib file. You can add this in the system-wide cds.lib in $CDK_DIR/cdssetup/cds.lib, or in a class-specific version (see next bullet), or in the cds.lib file that's in the directory from which you start the Cadence tools. This will let the Cadence tools see this new directory. The syntax in the cds.lib file is:

    DEFINE UofU_TechLib_ami06 <path-that-points-to-the-library-directory>

    If you want, you can put the UofU_TechLib_ami06 directory in the $CDK_DIR/lib directory where all the other NCSU CDK technology libraries exist, but you can put anywhere you like as long as your cds.lib points to it. If you did put it in $CDK_DIR/lib, then the cds.lib would include this line:

    DEFINE UofU_TechLib_ami06 $CDK_DIR/lib/UofU_TechLib_ami06

  6. If you've followed the steps this point, now when you fire up icfb with the NCSU CDK (using, for example, the scripts in Appendix A), you should see this new technology file in your Library Manager. You should also see this technology available in the the list to choose from when you're making a new design library and you want to attach a technology to that new design library.

  7. *Optional* You can also modify the main setup files in the $CDK_DIR/cdssetup directory to make your own local version behave how you want it to. At the University of Utah we have things set up so that the setup files look for class-specific setups and load those if found. If the students set their $LOCAL_CADSETUP variable in their shell, then when the Cadence tools are fired up (with these modified setup files), the extra setups pointed to by that variable will also be loaded. This way we can have separate setup tweaks for different classes, and by choosing where to point the $LOCAL_CADSETUP variable, you can automatically get different setups.

    This modification is in the $CDK_DIR/cdssetup/cdsinit file (note that there should also be a symbolic link from cdsinit to .cdsinit). As with the skill files, my recommendation is to save the original file in cdsinit.orig before making changes.

  8. *Optional* At Utah we also modified cds.lib, schPlotTemplate, and layoutPlotTemplate to local tastes. This just adds specific startup information to things. You should check these out and modify as required for local information. For example, the PlotTemplate files refer to the name of a printer that needs to be a printer mentioned in the local version of the cdsplotinit file.

  9. *Optional* If you use the UofU-modified cdsinit file, this will look for information to load from the $LOCAL_CADSETUP/cadence directory. In that directory, for example, you might have class-specific versions of the following files (these are examples from our Digital VLSI class at the University of Utah): cdsenv (linked to .cdsenv), cdsinit (linked to .cdsinit), simrc, and cdsplotinit (linked to .cdsplotinit). You should look at these and make changes for your own local setup. Directory names that you'll have to fill in <are in angle brackets>.

    The procedure for using these local modifications is to put a <class>/cadence directory somewhere that all the students can see, then have the students set their $LOCAL_CADSETUP variable in their shell to point to <class>.

If you've followed these steps, you should end up with an NCSU CDK 1.5.1 installation with a new UofU_TechLib_ami06 technology that is needed to use the UofU cell libraries. You can also use these extensions to customize the tool setup for your own local tastes.



Last modified May 18, 2011.