Setting up and Running Hspice
Cadence is a bit of a beast and modifications involve a bit of *unix know-how. Also, this was written for Solaris, so if you want to try using Linux, you are on your own since IBM's packages only support Solaris, even though Cadence supports Linux.
In order to ease your pain, there's a tar-gz file in ~degs/ece6130/kuso.tgz, which you should copy to where ever you will be doing work, and unzip.
Here's the suggested method for getting setup:
cd
mkdir ece6130
cd ece6130
cp ~degs/ece6130/kuso.tgz .
tar xzvf kuso.tgz
cd ibm130
caveat lector: for the rest of this page, we'll assume that you setup the files as above. So, everything should be in ~/ece6130/ibm130/.
If you are *unix savvy enough to do otherwise, you should be able to figure it out.
In the directory, you should have the following files:
-rw-r-xr-x 1 tjwatson ibm8rf 1133 Mar 1 09:37 .cdsenv* -rw-r-xr-x 1 tjwatson ibm8rf 17504 Mar 1 10:17 .cdsinit* -rwxr-xr-x 1 tjwatson ibm8rf 1624 Mar 1 09:38 .cdsplotinit* -rw-r--r-- 1 tjwatson ibm8rf 866 Mar 1 10:15 cds.lib -rwxr-xr-x 1 tjwatson ibm8rf 30860 Mar 1 09:38 common_bindkeys.ibm.il* -rw-r-xr-x 1 tjwatson ibm8rf 923 Mar 1 10:11 cshrc.ibm* -rwxr-xr-x 1 tjwatson ibm8rf 245260 Mar 1 10:10 display.drf* -rw-r--r-- 1 tjwatson ibm8rf 530 Mar 1 10:14 libManager.logAll of the files link into the design kit which lives in
/tools/ibm8rf/IBM_PDK/cmrf8sf/relLM/
The critical files for functionality are the following.
.cdsenv - the environment settings
.cdsinit - bindings for AMS and PDK pieces
cds.lib - library listing for included base cells
display.drf - display level listing
cshrc.ibm - a script by degs which sets everything up
.cdsplotinit - the print spool information. You'll have to edit this for your favorite printer.
common_bindkeys.ibm.il - the keybinding which are familiar to Tech people.
You should now be ready to go, so:
source cshrc.ibm
which will setup all of the stuff regarding bindings and paths, including HSPICE, and for later, Assura. You then can type:
icfb
to get the tools up and running. If all is well, you should get the same as the following image with "IBM_PDK" as menu option. In the IBM kits, you use the IBM_PDK menu for just about everything, so if you've used another menu to create, destroy, test, setup, you name it, to a device, you've probably just botched something. Yes, this isn't very user friendly, but there's less than 1000 people using this, so it's not exactly a Microsoft sort of business model.
Now you can create a project, using the IBM_PDK menu.
IBM_PDK -> Library -> Create
Make a project, called whatever you'd like, but I'd call it "hspicelab", and attach a technology file and then hit "OK".
Now, you need to attached the technology to the project. Select "cmrf8sf" from the drop-down list.
IBM has many, many options in their design kits, for the "Add AMS Library Property" dialog, select "6-2", which means 6 thin metals, 2 thick. This won't be important for SPICE simulations, but it's useful as it will make sure that everything behaves in the correct manner.
Now you are ready to make files in your project. We are now going to violate our rule of using the "IBM_PDK" menu just this once because I've kluged the skill files to make life easier. In the ICFB window, go to Tool->Library Manger, and open it up. You can then select the entry for "hspicelab", and go to File -> New -> Cell View... which will allow you to make a schematic entry. I called mine "testcell".
You can now start making your schematics. This isn't really a tutorial about schematic capture, etc, but you need to know where your parts live. The IBM specific library is "cmrf8sf", and inside you'll find nfet, pfet, and more stuff than you'd imagine. The "basic" library has pins, and global nets, etc. All of the IBM documentation lives here below the "/tools/ibm8rf/IBM_PDK/cmrf8sf/relLM/" directory if you want to get deeply involved with the devices. For example, dgnfet is a thick oxide nfet. There's some other devices which will be good for with the high-speed and low-power people.
--rant-- Generally, my approach to this is RTFM. I did, you can too. --end rant--
Once you have made your circuit, you can now go to Tools-> Analog Environment in the schematic window to open Analog environment.
Once you are in Analog Environment, you need to change the simulator tool to be HSPICE. Actually, "hspiceS" is what you'll be using, so go Setup-> Simulator/Directory/Host in the Analog Design Environment window, and then select "hspiceS" for the simulator from the drop-down.
Now, you need to setup where the simulator will look for the model files. So, go to Setup->Model Path ..., and then in the dialog, add /tools/ibm8rf/IBM_PDK/cmrf8sf/relLM/HSPICE/models to the model path, and hit "Apply".
You now can choose your analysis from Analyses -> Choose ..., I chose a transient analysis from 0ns to 100ns for testing purposes. My input to my inverter chain was 20ns period wave. You then hit the "green light" button to start the analysis. At this point, you'll see a bunch of junk in the ICFB window; however, only the HSPICE status is important. The ICFB window will show if things succeeded or failed. Mine succeeded. I then used the Results->Direct Plot -> Transient Signal to get a plot of the voltage at the mid node, which you can see in the following picture.
