Magic Version 6.5.2
Magic 7.1 and the Magic home page
This page documents the release of magic-6.5.2. Since its
release, version 6.5.2 has been consolidated with Rajit
Manohar's Magic 7.0 and other fixes and enhancements to
produce a new stable version 7.1. All features of versions
6.5.2 and 7.0 are incorporated into 7.1.
Magic 7.1 is documented briefly on my own
Magic version 7.1 webpage. The main
source for magic 7.1 or the current version is at
the official magic home page.
OpenGL Graphics Interface
Magic version 6.5.2 is an enhancement to the venerable
magic VLSI layout tool
including support for OpenGL as an optional graphics interface
(X11, SunView, and the defunct X10 and AED are still available).
The major benefit of using OpenGL is the freedom from the
constraint of 8-bit color planes to represent VLSI layers.
Instead, the magic "look and feel" of transparent color layers
is reproduced by a 3D hardware color blending function.
Warning: You will need hardware-accelerated 3D graphics
support for OpenGL to make reasonable use of this program.
This should be readily available on all SGI platforms; check
for compatibility with other systems.
Currently, Linux requires an OpenGL-compliant video card and
the Xi Graphics, Inc., 3D Accelerated-X server
(see http://www.xig.com). Other OpenGL-capable
X-servers are available from MetroLink, Precision Insight, SuSE,
The XFree86 server, beginning with version 4.0, supports OpenGL
and also 8-bit color overlays. The overlay visual is the best
way to use the X11 version in an otherwise-24-bit graphics
Note that most X servers which have OpenGL support will
provide it whether you have the accelerated hardware or not.
Functions which do not have hardware support will be emulated
in software. Running magic with OpenGL graphics using
software-emulated color blending is an exercise in futility.
typically need 32MB of video RAM to fully implement OpenGL in the
kind of resolution (1280 x 1024 or more) that you would want to
have in order to do VLSI layout (here's a hint: Don't do VLSI
layout on anything smaller than a 19" monitor).
- Magic using X11
(magic -d X11) (82KB GIF image)
- Magic using OpenGL
(magic -d OGL) (185KB GIF image)
- magic -d OGL when compiled for both OpenGL and X11
- magic when compiled for OpenGL only.
Also new in Version 6.5.2
This package includes other enhancements by Philippe Pouliquen
(email@example.com) at JHU
(except no. 4 is mine):
- Better handling of keys in X11 for defining macros
on function keys and other non-ASCII keys.
- Command-line history editing using the "readline" package.
This uses "emacs"-style functions. For instance, use
Ctrl-A and Ctrl-E to move to the beginning or end of the
command line; use Ctrl-P and Ctrl-N to scroll through the
command line history.
- Better handling of filenames in the command line:
- multiple filenames allowed
- ".mag" extension not required
- Magic thoughtfully checks whether there is exactly one window
on the display (the usual situation) and avoids those annoying
directives to "Put the cursor in a layout window" when there
is no ambiguity about the matter.
New commands (by Philippe Pouliquen, JHU-ECE):
Note that in version 7.2, the commands "child", "parent", "list",
"listall", and "listtop" have all been replaced by the two
commands "cellname" and "instance".
- imacro: like macro, but doesn't add a newline to the
end, so the macro expansion is added to the current
line, rather than executed.
- select visible: select only those layers which are
- box: now reports box area as well as length and width
- down: set selected cell as new load cell
- child: report children of selected cell
- parent: report parent of selected cell
- list: list child cells
- listall: list all cells
- listtop: list top-level cells
- shell: execute a UNIX shell command
- xload: like load, but ensure that all cells are
Known bugs in the OpenGL interface:
- Box outlines are one pixel wider and deeper than they should
be. This problem has been mostly corrected in version 7.1;
however, there remain some minor problems with round-off
errors, due to the difference between the way OpenGL and X11
count pixels for rectangle boundaries and fills.
- Select box outline is only 1 pixel wide and difficult to see.
This behavior has been corrected in magic version 7.1.
- Multiple windows don't work. This is corrected in version
Known bugs in 6.5.2 extensions:
Please contact me (firstname.lastname@example.org) with any
bug reports or suggestions.
- The readline interface (selectable at compile time) my be
causing malloc-related errors. This doesn't show up on my
Linux system unless the optimization compile flag is used;
however, if magic segmentation faults on you, recompile
without this option. This problem has been fixed in
version 7.0 and 7.1.
For your information:
The READ_ME file
for magic 6.5.2, taken from the top-level source, and the
open_gl.txt file from source
Last updated: April 4, 2006 at 3:12pm