The host names for the CLASS machines are:
hazeltop.ee.Virginia.EDU
skyland.ee.Virginia.EDU
rivanna.ee.Virginia.EDU
millcreek.ee.Virginia.EDU
If asked what interface to use we recommend you choose CDE. If you ever want to change your login "session" you may do so by selecting the OPTIONS button on the login window and choose a session listed in the Sessions Menu (CDE, OpenWindows, Startx/X11).
To put the "Xterm" icon on your desktop: click once on the File Drawer icon on the toolbar at the bottom of the screen (third icon from the right) double click on the Desktop Tools icon scroll down through Desktop Tools until you see the "Xterm" icon click once on the "Xterm" icon and drag the icon to the desktop this is a terminal window to the CLASS machine you're logged on. you can open as many of these windows/terminals as necessary
To put the "Xterm Ssh" icon on your desktop: click once on the File Drawer icon on the toolbar at the bottom of the screen (third icon from the right) double click on the EE Tools icon click once on the "Xterm Ssh" icon and drag the icon to the desktop this icon opens a terminal to the remote host machine you would like to log-on to (such as blue.unix.Virginia.EDU). Ssh is a secure way to log into a remote host. you can open as many of these windows/terminals as necessary.
passwd
The screen will then prompt you to enter your "current" password - do so and press ENTER. Then the screen prompts you to enter your "new" password Since "passwd" uses ITC's encryption software, we suggest you use your blue.unix account password or another encrypted password you already have. Your login id and password work on any of the CLASS machines.
LOGGING IN FROM EXCEED ON A NETWORKED PC (not recomended but you are welcome to try, limited support available) From the PCs in THORNTON STACKS:Double Click on the Exceed shortcut and choose one of the 4 CLASS host names above from the "chooser" list that appears.
From your PC at home or in a dorm:
You need to change the Exceed configuration (for example on your personal PC): open Xconfig under the Exceed menu then double click on the Communication icon.
You can either set Exceed to directly login to one machine (choose "query" and then the "configure" button and type the hostname of the machine you want to always connect to (e.g. hazeltop.ee.virginia.edu), or
You can set Exceed to bring up a chooser list of different machines (choose "broadcast" and then the "configure" button and put an X in the "hostfile" box and "edit" the file xdmcp.txt with the names of the hosts you want to appear in your list (e.g. hazeltop.ee.virginia.edu, skyland.ee.virginia.edu, etc.)
The Cadence software has an annoying screen/refresh problem when run on a
PC via Exceed. You need to do the following in order to solve the problem:
Under Xconfig -> Performance.
. cdscdk2003
this script modifies your environment (sets PATH and exports variables). To see your current environment type the following at the prompt:
set
For more info on UNIX commands and different UNIX editors drop by 235 Wilson Hall for some handouts from ITC or check the following on-line resources:
If you have problems with your CLASS account please send email to eeadmin@virginia.edu
mkdir cadence cd cadence icfb &
The command icfb & starts Cadence in the background and, after a couple of "update" messages that you can ignore for now (just click Continue) you should get a window with the icfb Command Interpreter Window (CIW) as below:

You will also get a "Cadence Update" window which you can read and then close or minimize. With the CIW you can launch other applications and you can also manage your files and libraries. NEVER use Unix commands (cp, mv) for moving Cadence design files as you may run into trouble later. For more information on the various Cadence tools I encourage you to read the corresponding user manuals. You can get to the manuals by pressing Help -> Cadence Documentation on any Cadence window (e.g. CIW). You can also open the on-line manuals by typing:
cdsdoc &

Spend some time browsing the manuals to understand what is available (a lot!). During the semester you will have to look for information in the on-line manuals to complement the (limited) info given by these tutorials.
You should also have the Library Manager window open:

In case it's not open you can always go to Tools -> Library Manager on the Tools menu of the CIW.
Now we need to create a new library (to contain your circuits) so go to File -> New -> Library from the File menu of the Library Manager. Then fill in the name of the new library (e.g. Tutorial) in the dialog window, and leave the Path empty (this will create the library in the directory where you started icfb, you could also choose to set a path if you wanted another directory). Click on Attach to existing tech library and choose AMI 060u C5N (#M, 2P, high-res) from all the options. Leave I/O Pad Type as Perimeter then click OK.

Now the Tutorial library should appear in the Library Manager window. Let's start our first schematic now!

You should get the Virtuoso Schematic Editing window. Spend some time analyzing the window. On the left side you have various shortcuts to common used commands such as: placing component instances (looks like an IC), drawing wires, placing ports, stretching, copying, zooming in and out, saving, etc. If you pass the mouse pointer on top of the buttons you get short pop-up help messages. You also have access to these commands (and others) from the menu. It is not possible here to describe all the functionality of Virtuoso Schematic so you are strongly encouraged to read the on-line user manuals in cdsdoc.
Let's start our first schematic which will be used to plot I-V curves. Click on the Instance button (which looks somewhat like an IC, or go to Add -> Instance), this will pop-up two small windows, one being a Component Browser window. In this window choose NCSU_Analog_Parts as the library, click on N_Transistors, then on nmos4 (an NMOS transistor with all 4 terminals, G, S, D, B):

These choices will automatically fill the other pop-up window, called the Add Instance window (you could also have filled this window directly). If you move the mouse now on top of the Virtuoso Schematic window you will see an "outline" (or ghost) of the transistor. You can move, rotate, flip this outline until you get what you want, then by clicking the left-mouse button you can place it in the schematic. You could place the transistors one by one but it's easier if you place multiple ones at a time if you know how many you need. For this part we need 5 transistors so please fill 5 for number of rows and let 1 as number of columns.

Now you can place the 5 transistors by clicking on the left mouse button for the first transistor and then moving the mouse down and clicking again. Do that right now. If you make mistakes you can always go to Edit -> Undo and try again. You can press the ESC key on the keyboard to get out of the place instance mode or you can keep placing other parts.

You can also move, delete parts, please explore the different editing functions, you will only learn by making mistakes and then correcting them. Now we also need to add ports, wires and power supply. First let's add ground by clicking on Instance again and then choosing Supply-Nets and then gnd in the component browser window, then place one gnd below the 5 transistors.

Then add wires (narrow) to connect all transistor sources and bodies to the ground.

Now add 6 DC voltage sources, one for VDS and 5 for each VGS and then connect them with wires. The DC voltage sources are in the analogLib library with the name vdc (there is a vdc cell also in the basic library, don't use it). It's a good idea to save your design from time to time in case the system crashes :)
Now our schematic is complete except for one more step: assigning sizes to the transistors and voltage values to the power supplies (all the library elements are "generic" in nature and you have to make them specific to your schematic). For this go to Edit -> Properties -> Objects and then click on a transistor. We are going to use a 100nm very "aggressive" technology, even more advanced than the 180nm state-of-the art at the current time. Fill in Model name as nrvli (nMOS, regular Vthreshold, low leakage current), width as 300n and length as 100n. Notice that the dialog box actually slightly changes the format of your entries.
CAUTION The parameter entry is very fragile, if you make mistakes you may not get an error message until much later (e.g. simulation). Be very careful! We'll also need to specify some values for the source and drain diffusion areas such that the simulations can take into account the diffusion capacitances. The easiest way to do this is to specify a source and drain length, let's make them 300n. You can change properties for all transistors at the same time by choosing Apply To -> all, or you can do them one at a time by letting the default Apply To -> only current.

Click on Apply. To get out of Edit Properties click OK. Now change the VGS power supplies to be 0.5, 0.75, 1, 1.25, 1.5 by doing Edit -> Properties -> Objects and click on the power supply, then change the DC voltage property. Finally change the voltage of the 6-th power supply (VDS) to the value 1.5.

Click on Apply every time you want to change a value. Click OK when you are done. The final schematic should look like this.

Now you need to Check and Save your design (either the top left button or Design -> Check and Save. Make sure you look at the CIW window and there are no errors or warnings, if there are any you have to go back and fix them.
Assuming there are no errors we are now ready to start simulation!

Go to Setup -> Model Libraries and choose
(you can type directly or use Browse)
/net/sr10/hplp/models/ptm/100nm/bsim100nm.scs
then click Add (this is important, don't forget to do it), then OK.

Now you need to choose the type of simulation, go to Analyses -> Choose... In this case we will choose a dc-sweep so click on the dc radio button, then on Component Parameter, then on Select Component (all of these in the Choosing Analyses dialog window) then on the VDS component in the schematic and choose dc in the pop-up window.

After this choose Start-Stop and 0 as the start value and 1.5 as the stop value, Automatic as a Sweep Type (this will do a dc sweep of VDS from 0V to 1.5V). Then press OK.

Now go to Outputs -> Save All and click on allpub for signals to save (default) and all for device currents. Click OK.

Now we can finally simulate! Click on the Netlist and Run button (looks like a green light) on the right or go to Simulation -> Netlist and Run. Click OK on the Welcome to Spectre window which should start the simulation. In case there are no errors you should get something like this:

In case you have errors you will need to go back and correct them. This can be tricky! You may need to do Simulation -> Netlist -> Recreate if you change the schematic. CAUTION Each time you change the schematic you have to do Check and Save!. Assuming there are no errors you can now admire the simulation results. Go to Results -> Direct Plot -> DC which will pop-up your schematic window. Now you have to click on the signals you want to see. Since this is a dc-sweep we want to see the drain currents into the 5 transistors. In order to do this you have to click on the small red square at the drain (top). Make sure you click on the red square (the pin) which means current, versus any other part which means net, or voltage. Click on all 5 drains. If you are pressing right on the pins there should be a circle around each chosen pin.

Now press on the ESC key (to finish choosing the signals) and you should finally get the desired simulation results, 5 glorious IV curves as in the textbook!

It's a good idea to save the state of your simulation before you exit the simulation window. You can do that by going to Session -> Save State. This will be helpful if you want to redo any of the simualations without having to re-enter everything from scratch.

To print a Waveform, on the waveform viewer menu do Window->Hardcopy. Same as above, create a postscript, then print it.

Click on the IVparam Cell and then double click on the schematic view of the IVparam cell, a schematic should pop-up which is identical to the IVcurves schematic. Let's delete the bottom 4 transistors and their connections, as well as the bottom 4 Vgs power supplies (Go to Edit -> Delete or click on the "pencil" shaped button, then on the item that you want to delete, you can also delete entire areas by clicking and keeping down the mouse button while you draw a rectangle). Also change the value of the Vgs power supply to parameter (this will be just a variable that we will have to define later). Finally move the gnd higher and reconnect it, the final schematic should look like this.

Now start the Analog Environment and load the state that you previously saved.

Go to Variables -> Edit.. and add the varaible parameter with a value of 1.5. Click on Add and then on OK.

You can try now to simulate (Simulation -> Netlist and Run) to make sure there are no problems. After this, instead of the usual simulation we are going to do a parametric simulation (practically this means multiple simulations with a variable as the parameter, our parameter will be the one called parameter). Go to Tools -> Parametric Analysis in the Analog Environment. Fill in parameter as the variable name, 0.5 as the From value, 1.5 as the To value, Linear Steps as Step Control with a Step Size of 0.25.

Go to Analysis -> Run in the Parametric Analysis window. When the simulation is complete go to Results -> Direct Plot -> DC and then click on the drain of the transistor, then hit ESC. Now you should again get a nice family of IV curves.

Congratulations, this is the end of Tutorial1.