Magic - A VLSI Layout System

This page is now defunct. Please look at the new page for the latest information.
For historical purposes:

Magic 7.1 is yet another upgrade of magic. It includes all patches posted since the introduction of 6.4.4. Additionally it includes:

This version is an attempt at consolidating all the patches made to magic since version 6.5 so as to prevent the source tree from fragmenting.

New commands added using the scheme interpreter include:

The new Scheme features and commands are described in more detail in the file doc/tutscm{1,2,3,4}.ps. All new features can be turned off when magic is configured.

Magic 7.1 is distributed along with the GNU readline library so as to keep it self-contained. The release is brought to you by the efforts of all the magic hackers listed below.

Mailing Lists

The magic mailing list address is: magic-dev AT Mail sent to the list is automatically archived.

To subscribe: Please check the list web page for instructions.

Current Magic Hackers. The current list of people who have commit priviledges to the magic CVS tree are:

If you would like to reach just the people who modify magic on a daily basis, send e-mail to: magic-hackers AT

Currently, pretty much all the development is being done by Tim Edwards, and none of this is part of the CVS tree. Please see Tim's web page for the latest and greatest.

Downloading / Getting Magic

Unless you want a specific older version, please download version 7.1 or one of the newer development versions. These versions must be compiled with GNU make (gmake). Useful links: Earlier versions: For those interested in the bleeding edge, look at the development versions.

Feature Configuration

The last step in the magic configuration process (encountered when you say "gmake config") is to select a set of features that you'd like compiled. Please note that the following two features should not be turned on unless you are sure you know what you're doing: Both these features are "works in progress."

How to install it

Capsule summary:

  1. mkdir ~/cad-try ~/cad-try/src     # start with a fresh directory, or existing ~cad directory
  2. gunzip magic-xxx.tar.gz     # uncompress the distribution
  3. cd ~/cad-try/src; tar xvf - < ~/magic-xxx.tar     # un'tar the files
  4. cd magic-xxx; setenv CAD_HOME ~/cad-try
  5. gmake config     # configure for your machine & OS
  6. gmake install     # compile & install in CAD_HOME

After retrieving the file, use uncompress and tar to extract the contents. (Your web browser might have already uncompressed it for you.) After you un-tar things you will find a READ_ME file in src/magic. Documentation is in src/magic/doc. Be sure to read the READ_ME file. You MUST type "gmake config" in the src/magic directory to configure things for your particular machine. You should set the CAD_HOME environment variable to point to the root of the place you want the program installed.

If you are one of the magic maintainers, you can access the CVS repository remotely.

How to get a manual

The magic-xxx/doc directory contains Postscript for the manual. You can obtain an electronic copy of the manual for magic 6.5 (DEC WRL report number 90/7) here.