267 lines
11 KiB
TeX
267 lines
11 KiB
TeX
%----------------------------------------------------------------------------
|
|
% Magic Overview
|
|
%----------------------------------------------------------------------------
|
|
|
|
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
|
|
\documentclass[letterpaper,twoside,12pt]{article}
|
|
\usepackage{epsfig,times}
|
|
|
|
\setlength{\textwidth}{8.5in}
|
|
\addtolength{\textwidth}{-2.0in}
|
|
\setlength{\textheight}{11.0in}
|
|
\addtolength{\textheight}{-2.0in}
|
|
\setlength{\oddsidemargin}{0in}
|
|
\setlength{\evensidemargin}{0pt}
|
|
\setlength{\topmargin}{-0.5in}
|
|
\setlength{\headheight}{0.2in}
|
|
\setlength{\headsep}{0.3in}
|
|
\setlength{\topskip}{0pt}
|
|
|
|
\def\hinch{\hspace*{0.5in}}
|
|
\def\starti{\begin{center}\begin{tabbing}\hinch\=\hinch\=\hinch\=hinch\hinch\=\kill}
|
|
\def\endi{\end{tabbing}\end{center}}
|
|
\def\ii{\>\>\>}
|
|
\def\mytitle{Overview of the DECWRL/Livermore Magic Release (Version~6)}
|
|
|
|
%----------------------------------------------------------------------------
|
|
|
|
\begin{document}
|
|
|
|
\makeatletter
|
|
\newcommand{\ps@magic}{%
|
|
\renewcommand{\@oddhead}{\mytitle\hfil\today}%
|
|
\renewcommand{\@evenhead}{\today\hfil\mytitle}%
|
|
\renewcommand{\@evenfoot}{\hfil\textrm{--{\thepage}--}\hfil}%
|
|
\renewcommand{\@oddfoot}{\@evenfoot}}
|
|
\newcommand{\ps@mplain}{%
|
|
\renewcommand{\@oddhead}{}%
|
|
\renewcommand{\@evenhead}{}%
|
|
\renewcommand{\@evenfoot}{\hfil\textrm{--{\thepage}--}\hfil}%
|
|
\renewcommand{\@oddfoot}{\@evenfoot}}
|
|
\makeatother
|
|
\pagestyle{magic}
|
|
\thispagestyle{mplain}
|
|
|
|
|
|
\begin{center}
|
|
This tutorial corresponds to Magic version 7. \\
|
|
\end{center}
|
|
\vspace*{0.5in}
|
|
|
|
\section{Introduction}
|
|
|
|
This version of Magic, version 6,
|
|
gathers together work done by numerous people at
|
|
several institutions since Magic version 4 was released from Berkeley
|
|
on the 1986 VLSI tools tape.
|
|
This is a release of Magic and IRSIM only. You'll probably want to obtain
|
|
other tools by ordering the 1986 VLSI Tools Tape from Berkeley.
|
|
|
|
This release has been prepared with the assistance of several groups.
|
|
Much of the new software came from Walter Scott's group at
|
|
the Lawrence Livermore National Labs (LLNL).
|
|
LLNL also provided partial funding to help prepare the release.
|
|
Digital Equipment Corporation's Western Research Lab (DECWRL)
|
|
helped out by providing computer equipment, a place to work, and
|
|
the services of one of us (Robert Mayo). Don Stark, Michael Arnold, and
|
|
Gordon Hamachi also worked on the release at DECWRL.
|
|
Stanford donated significant pieces of new code, including a simulation
|
|
system called IRSIM.
|
|
Other individuals and institutions have also contributed code and assistance
|
|
in ways too numerous to detail here.
|
|
|
|
New features in Magic Version 6 include:
|
|
|
|
\begin{itemize}
|
|
\item New and Improved Routing---{\itshape Michael Arnold and
|
|
Walter Scott of LLNL} \\
|
|
Three major routing improvements have been made in this version of Magic.
|
|
There is a new, improved, global router courtesy of Walter Scott (of LLNL).
|
|
Walter Scott has also added a gate array router. See the ``garoute'' command
|
|
in the manual page for details.
|
|
Michael Arnold (of LLNL) has written an interactive maze router that allows
|
|
the user to specify hints to control the routing. See the documentation
|
|
for the ``iroute'' command.
|
|
|
|
\item Extractor Enhancements---{\itshape Don Stark of Stanford and
|
|
Walter Scott of LLNL} \\
|
|
The new ``extresis'' command, developed by Don Stark, provides
|
|
substantially better resistance extraction. Magic's
|
|
normal extraction (``extract'') lumps resistances on a
|
|
node into a single value.
|
|
In branching networks, this approximation is often not acceptable.
|
|
Resis was written to solve this problem. Walter Scott added accurate path
|
|
length extraction, an important feature when dealing with high speed
|
|
circuits, such as ECL.
|
|
|
|
\item New contact structure---{\itshape Walter Scott and
|
|
Michael Arnold of LLNL and Don Stark of Stanford} \\
|
|
Multilayer contacts are handled better.
|
|
In the previous version of Magic, there needed to be a separate contact type
|
|
for each possible combination of contact layers over a given point. This
|
|
caused a combinatorial explosion of tile types for multi-layer technologies
|
|
with stacked contacts. Under the new scheme, there are only a couple of
|
|
tile types for each layer: one that connects up, one that connects down,
|
|
and one that connects in both directions.
|
|
|
|
\item Simulator Interface to IRSIM---{\itshape Stanford} \\
|
|
A simulator interface is provided courtesy of Stanford.
|
|
See the commands ``startrsim'', ``simcmd'', and ``rsim''.
|
|
The irsim simulator, Stanford's much improved rewrite of esim, is included
|
|
in this distribution.
|
|
Credit goes to Mike Chow, Arturo Salz, and Mark Horowitz.
|
|
|
|
\item New device/machine Support---{\itshape Various} \\
|
|
X11 is fully supported in this release, and is the preferred interface. Older
|
|
drivers for graphics terminals and X10 are also included, but X11 is the
|
|
preferred interface (meaning it is better supported and you'll have lots of
|
|
company). Magic's X11 driver has a long history, starting with an X10 driver
|
|
by Doug Pan at Stanford. Brown University, the University of
|
|
Southern California, the University of Washington, and Lawrence Livermore
|
|
National Labs all prepared improved versions, some of them for X11. Don
|
|
Stark of Stanford took on the task of pulling these together and producing
|
|
the X11 driver in this release.
|
|
|
|
Magic runs on a number of workstations, such as the DECstation 3100 and Sun's
|
|
SPARC processors. Partial Unix System V support is provided, via the
|
|
compilation flags mentioned below. The system also runs on the MacII.
|
|
Don Stark gets credit for the System V mods and support for HP machines, while
|
|
Mike Chow helped get it running on the MacII.
|
|
|
|
To assist people with small machines (such as the Mac II), Magic can now be
|
|
compiled without some of its fancy features. Compilation flags are provided,
|
|
as indicated below, to eliminate things like routing, plotting, or calma output.
|
|
This is courtesy of Don Stark.
|
|
|
|
\item Reorganization of Magic Source Directory \\
|
|
Magic, as previously distributed, was set up with the assumption that lots of
|
|
people would be changing the code at the same time. As a result, the makefiles
|
|
did all sorts of paranoid things like making extra copies of the source code
|
|
whenever a module was re-installed.
|
|
|
|
Since Magic is more stable now, this copying is no longer needed. Instead,
|
|
each makefile invokes the script {\bfseries ../:instclean} after installing a module.
|
|
This script,
|
|
by default, doesn't copy the source code but does leave the .o files around.
|
|
This cuts down on the disk space needed by a factor of two.
|
|
You can change the script if you want the copying,
|
|
or if you want to delete unused .o files to save even more disk space.
|
|
|
|
\item Lots of bug fixes---{\itshape Various} \\
|
|
Lots of bugs have been fixed in this release. We'd like to thank everybody
|
|
that has reported bugs in the past. If you find a new bug, please report
|
|
it as mentioned below.
|
|
\end{itemize}
|
|
|
|
\section{Distribution Information}
|
|
|
|
This version of Magic is available via FTP. Contact
|
|
``{\ttfamily magic@decwrl.dec.com}'' for information.
|
|
|
|
For a handling fee, this version of Magic may be obtained on magnetic tape from:
|
|
|
|
\starti
|
|
\ii EECS/ERL Industrial Liaison Program \\
|
|
\ii 479 Cory Hall \\
|
|
\ii University of California at Berkeley \\
|
|
\ii Berkeley, CA 94720
|
|
\endi
|
|
|
|
\section{Bug Reports}
|
|
|
|
Maintenance of Magic is a volunteer effort. Please send descriptions
|
|
of bugs via InterNet e-mail to ``{\ttfamily magic@decwrl.dec.com}''
|
|
or via Uucp e-mail to ``{\ttfamily decwrl!magic}''. If you develop a
|
|
fix for the problem, please send that too!
|
|
|
|
\section{Changes for Magic maintainers}
|
|
|
|
Previous releases of Magic expected to find their
|
|
system files in the home directory of the user {\bfseries cad}.
|
|
The default behavior of version 6 is no different, but it
|
|
is possible to put the files in another directory by setting the
|
|
{\bfseries CAD{\_}HOME}
|
|
shell environment variable. If this variable is set, magic will use that
|
|
location instead of the \~{}cad it finds in the password file.
|
|
|
|
\subsection{INSTALLING MAGIC}
|
|
|
|
The distribution tape contains a version of Magic ready to run on Digital's
|
|
line of Ultrix RISC workstations, such as the DECstation 3100. For other
|
|
machines, read ahead.
|
|
In any event, all users should set their shell environment variable
|
|
CAD{\_}HOME to point to the place where the tape is loaded, unless that place
|
|
is \~{}cad, in which case things will default correctly.
|
|
|
|
Before installing Magic, you should set your shell environment variable
|
|
CAD{\_}HOME to point to the place where you loaded the tape.
|
|
If you ``cd'' to the magic source directory (\${CAD{\_}HOME}/src/magic) you will find
|
|
a makefile. A ``{\bfseries make config}'' will run a configuration script that asks
|
|
questions about your configuration and sets up magic to be compiled for your
|
|
local environment.
|
|
|
|
After running a ``make config'', you can run a ``{\bfseries make force}'' to force
|
|
a complete
|
|
recompilation of magic. A "{\bfseries make install}" will then copy the binaries to
|
|
the \${CAD{\_}HOME}/bin area, as well as install things in \${CAD{\_}HOME}/lib
|
|
and \${CAD{\_}HOME}/man.
|
|
|
|
Included in this documentation
|
|
is a set of Magic maintainer's manuals. These should be read by anybody
|
|
interested in modifying Magic or by anybody that is having difficulty
|
|
installing it on their system.
|
|
|
|
\subsection{Technology file changes}
|
|
|
|
Users of Magic 4 should have little trouble switching to Magic 6.
|
|
|
|
A new section, the {\bfseries mzrouter} section needs to be added to your technology
|
|
files. See the mzrouter section of the
|
|
tutorial {\itshape Magic Maintainer's Manual \#2: The Technology File}
|
|
for details.
|
|
|
|
Display styles must be defined in the {\itshape .tech} file
|
|
for the mzrouter hint layers magnet, fence and rotate. We
|
|
suggest copying this information from the styles section of the
|
|
scmos technology file on the distribution tape. You'll also need to include
|
|
these display styles in your {\itshape .dstyle} file.
|
|
|
|
\section{Beta-test Sites}
|
|
|
|
We'd like to thank the beta-test sites that tried out this version of Magic,
|
|
reported bugs and fixes in a timely manner, and ported the code to new
|
|
machines:
|
|
|
|
\starti
|
|
\> Mike Chow, Apple Computer \\
|
|
\> Arun Rao, Arizona State University \\
|
|
\> Richard Hughey, Brown University \\
|
|
\> Rick Carley, Carnegie-Mellon University \\
|
|
\> Hank Walker, Carnegie-Mellon University \\
|
|
\> Christos Zoulas, Cornell University \\
|
|
\> Andreas Andreou, John Hopkins University \\
|
|
\> George Entenman, The Microelectronics Center of North Carolina \\
|
|
\> Shih-Lien Lu, The MOSIS Service \\
|
|
\> Jen-I Pi, The MOSIS Service \\
|
|
\> Guntram Wolski, Silicon Engineering, Inc. \\
|
|
\> Don Stark, Stanford University \\
|
|
\> Gregory Frazier, University of California at Los Angeles \\
|
|
\> Yuval Tamir, University of California at Los Angeles \\
|
|
\> Steven Parkes, University of Illinois \\
|
|
\> Larry McMurchie, University of Washington \\
|
|
\> Tim Heldt, Washington State University \\
|
|
\> David Lee, Xerox Palo Alto Research Center \\
|
|
\endi
|
|
|
|
Martin Harriman of Silicon Engineering wrote a ``select less'' command for
|
|
Magic during the beta-test phase. ``Select less'' has been a
|
|
much-requested feature.
|
|
|
|
In addition to the persons named above, there were many other beta-test
|
|
users of Magic at these and other sites---too many to list here. We
|
|
appreciate their help. We also acknowledge the help of the pre-release
|
|
sites, who tested a version that included most of the fixes from the beta-test
|
|
phase.
|
|
|
|
\end{document}
|