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:
- Bug fixes for the Alpha port to Digital Unix
- GNU readline support for the command-line interface
- An interpreted subset of the scheme programming language
- Functions defined using the scheme interpreter
- Support for OpenGL
- Extended macro support
- (in progress) Support for non-Manhattan Geometry
- (in progress) File locking
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:
- Select all networks connected to a specified label.
- Draw transistor stack that implements a specific boolean function
- Rename labels under the current box
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
vlsi.cornell.edu
. 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:
- Tim Edwards (Johns Hopkins)
- Mike Godfrey (Stanford)
- Rajit Manohar (Cornell)
- Mika Nystrom (Caltech)
- Jeff Solomon (Stanford)
If you would like to reach just the people who modify magic on a daily
basis, send e-mail to: magic-hackers AT csl.cornell.edu
.
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).
- Version 7.1 (download). This is the current stable
version of magic, and contains all the enhancements of previous
versions that we know of. We will make this an official release as
soon as we have consolidated all known patches to the magic 6.5 tree.
Useful links:
Earlier versions:
- Version 7.0 (download). This version is an extension
of 6.5 (not 6.5.2) and contains a Scheme command line interpreter and
various additional commands documented in the new scheme tutorials.
- Version 6.5.2 (download). This version extends 6.5 with commands and features documented on Tim's web page.
- Version 6.5, released by DEC WRL (download)
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:
- multiuser file-locking
- Non-Manhattan geometry
Both these features are "works in progress."
How to install it
Capsule summary:
- mkdir ~/cad-try ~/cad-try/src # start with a fresh directory, or existing ~cad directory
- gunzip magic-xxx.tar.gz # uncompress the distribution
- cd ~/cad-try/src; tar xvf - < ~/magic-xxx.tar # un'tar the files
- cd magic-xxx; setenv CAD_HOME ~/cad-try
- gmake config # configure for your machine & OS
- 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.