
Magic - A VLSI Layout System
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 csl.cornell.edu. Mail sent to the list is automatically archived. To subscribe: To subscribe to the mailing list, send e-mail to magic-request AT csl.cornell.edu with the text "subscribe your-email-address" as the subject and an empty body.
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.
Downloading / Getting Magic
Unless you want a specific older version, please download version 7.1. This version has been installed on various operating systems and is what we use on a daily basis. This version 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 CVS instructions.
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.
Questions? Contact Rajit Manohar