Last modified 4/04/08

EECS Instructional Computing

Because you're enrolled in an EECS course, you have access to the instructional computing system (called "inst"). However, you do not have access to campus-wide services, such as free copies of Exceed.

Inst provides login servers running Unix (and, less usefully, Windows). For some reason, people tend to log in to cory, as a result of which it sometimes runs very slowly. When you log in to a server, use who to see how many people are logged in. The servers work similarly, although some software may be absent on some machines. You are not required to use software on the instructional servers if you have access to identical or equivalent software elsewhere.

SUGAR (CAD for MEMS)

We will be using Sugar this semester - an open source CAD for MEMS package which is used with Matlab(R). Sugar provides a netlist interpreter (similar to its IC counterpart Spice) as well as the ability to solve small, coupled systems of differential equations with Matlab(R).

To use Sugar, you will need either a local copy of Matlab or you will use Matlab from your instructional UNIX account. Instructions for both are listed below.

Status for Spring '08: I have tested Sugar in Windows on Matlab R2007a, and it works. Instructional Computing tried to get Sugar to run in UNIX on a recent version of Matlab, with no success. It appears that Sugar is incompatible with their version of UNIX. The UNIX instructions below use an older version of Matlab; I have tested this and it also works.

Sugar on Local Copy of Matlab (Windows)

To use Sugar with your local copy of Windows, all that is required is for you to download Sugar, set your Matlab Path correctly, and run.

  • Download Sugar from http://sourceforge.net/project/showfiles.php?group_id=50424&package_id=44022. You'll want the latest item in "SUGAR 3.1 Windows" which should be sugar31-010906.zip. Unzip this into a local folder, which we'll call $SUGAR.
  • Switch to the $SUGAR directory in Matlab.
  • >> sugar_init
    This should output a four-line message.
  • Now you can switch to whatever directory you want to do your work in and use Sugar.

Sugar on Windows from Instructional UNIX Account

Sugar is now installed and configured in students' instructional accounts. You will need to set up connectivity software as described below. If you have that set up, you can follow the following instructions:

  • Run your x-windows program if necessary.
  • SSH into your instructional account.
  • Make sure that you have mumps.net and cantilever.net in your home directory (see below).
  • Run Matlab: /usr/sww/pkg/matlab-r2006a/bin/matlab
  • Initialize Sugar: sugar_init
    This command should say running sugarmex and print version information for Sugar. If it does not, contact your course consultant.
  • Now you can execute commands in Sugar's Matlab interface, such as cho_load.
If this is your first time running Sugar, you will need to copy two files from a shared directory to your home directory. The files are:
  • /share/instsww/matlab/sugar/src/lua/mumps.net
  • /share/instsww/matlab/sugar/src/lua/stdlib.net
There is probably a more elegant way to make all of the search paths work correctly, but I don't know it.

Cadence (Layout)

For your project, you will also be using Cadence design suite to lay out your designs. It will run on cory.eecs, but pulsar usually runs faster. Inst provides a summary of the installation, and troubleshooting guide.

We have a short tutorial for getting used to some of the layout features in Cadence, but don't hesitate to ask questions about it.

Here are instructions for how to export a GDS file from Cadence. This non-proprietary format describes your layout in terms of simple shapes, and is useful for sharing designs with other people.

Inst makes Cadence's official documentation available online. You'll need to log in with your class account to access it. This documentation is extensive and generally quite good.

Those who wish to get really fancy with layouts will want to learn SKILL, Cadence's Lisp-based internal scripting language.

If you are using your own copy of Cadence, here is the PolyMUMPS techfile in ASCII form.

Software Required for Instructional Accounts

You will need an ssh program and an X-Windows Manager to log in to instructional Unix servers. If you have a Unix computer, it probably has ssh. Students can download SSH for Windows or Putty. Putty is less user-friendly, but supposedly more secure.

Students will also need an X Window manager (such as Exceed on a PC). Microsoft Windows doesn't include it, and unfortunately, we don't have one to give away. Alternative sources for the NTU students include:

Alternatively,

To display graphics, you'll either have to set the display variable or tunnel the connections. Since this is different for most versions of ssh/x-windows, let your course consultant know if there are problems. To test and make sure everything is working properly,

  • log into your account at cory.eecs.berkeley.edu
  • >> xterm &

If it opens up a new window for you, you're good. If not, something isn't working properly. If it's not obvious, try contacting your consultant first before going to help@inst.eecs.berkeley.edu.