Magic VLSI Layout Tool Version 8.3 *

Download Page

Table of Contents

Distribution (Magic 8.3) Source
Distribution Git Repository
Distribution (Magic 8.1) Executables
Prior Distributions
Other Related Downloads

Distribution (Magic 8.3) Source

In April 2020, the bplane implementation was debugged and has been merged into the master branch, and the version has been updated to 8.3.

Download here:

File Revision Size Date
magic-8.3.462.tgz 462 (4239) February 20, 2024 at 2:00am

Source Distribution Git Repository

git clone git://

or use the github mirror site:
git clone

Distribution (Magic 8.1) Executables

NOTE: Before clicking on the "Windows" link below, note that if you have Windows 10, it comes with a ready-to-install Ubuntu Linux on Windows, which (with all due respect to the hard work put into Cygwin) comes without the huge overhead of a Cygwin installation.

I have found the following link very helpful for instructions on how to get the Ubuntu Linux environment up and running in Windows 10:

How to run graphical Linux applications on Bash on Ubuntu on Windows 10
Follow the instructions to the end, including how to install and launch the VcXsrv X11 server application for Windows.

Once the Ubuntu Linux environment and the X11 server are up and running, from the bash terminal prompt, you can install magic with:

sudo apt-get install magic
Then run magic with:
export DISPLAY=:0
Here, you are working in a real Linux environment and file system, so some familiarity with Linux will be very helpful, but all the instructions on the website for Magic will apply, as they are all written for Unix/Linux systems.

Otherwise, the following download assumes a full installation of Cygwin, which is another way to get a full Linux implementation running on Windows, and is the only way other than running Linux in a VM to get a Linux environment on any Windows version earlier than Windows 10.

Download here:

File OS Revision Size Date

Prior Releases

File Version Revision Type Size Date
magic-7.5.241.tgz 7.5 241 (3.8MB) September 16, 2014
magic-7.4.59.tgz 7.4 59 Source (3.6MB) January 29, 2008
magic-7.3.123.tgz 7.3 123 Source (3.8MB) Februrary 9, 2006
magic-7.3.113.tgz 7.3 113 Source (3.8MB) November 30, 2005
magic-7.3.111.tgz 7.3 111 Source (3.8MB) November 23, 2005
magic-7.3.74.tgz 7.3 74 Source (3.7MB) April 2, 2005
magic-7.3.59.tgz 7.3 59 Source (3.5MB) November 3, 2004
magic-7.3.22.tgz 7.3 22 Source (4.0MB) June 2, 2004
magic-7.2.70.tgz 7.2 70 Source (4.1MB) May 13, 2004
magic-7.2.68.tgz 7.2 68 Source (4.1MB) April 29, 2004
magic-7.2.54.tgz 7.2 54 Source (4.0MB) October 27, 2003
magic-7.2.45.tgz 7.2 45 Source (4.0MB) August 4, 2003
magic-7.2.26.tgz 7.2 26 Source (3.8MB) February 24, 2003
magic-7.1.7.tgz 7.1 7 Source August, 2002
magic-7.1.5.tgz 7.1 5 Source June 18, 2002
magic-7.1.3.tgz 7.1 3 Source October 19, 2001
magic-7.1-3mdk.i586.rpm 7.1 3 RPM binary October 27, 2002
magic-7.1-3mdk.src.rpm 7.1 3 RPM source October 27, 2002

Other Related Downloads

File Description Type Date
platools.tgz PLA Tools mpla, meg, peg, and mquilt Source (Linux port) February 19, 2004
espresso-2.3.3.tgz Espresso logic minimizer Source (Linux port) March 31, 2006
Lager 5.1 Source (Directory) December 22, 2006
pplot.tar.gz CIF-to-PostScript conversion Source November 15, 2005
timberwolf-6.3.5.tgz TimberWolf Place-and-Route tool, last Open Source version Source (Linux port) September 30, 2013
genrouter-1.9.tgz Stochastic descent algorithm channel router Source July 27, 2006
The PLA tools package has its own libmpack.a archive, corresponding to magic 7.1.7. It will link statically to this file when compiling. Check the value of install destination CAD_HOME in the Makefile for mpla and mquilt before installing. This distribution has been successfully compiled under Linux, but compilation/installation is not guaranteed. Please contact me if you have any difficulties, or for any questions regarding the distribution. Note that magic versions 7.2 and 7.3 do not contain the mpack subdirectory and therefore do not compile an mpack library as needed by the PLA tools. Hopefully this will be rectified in the near future. If you encounter problems when linking to the "libmpack.a" library, you will probably need to download and compile magic 7.1.7 first, then copy the file "libmpack.a" into the platools "lib" directory, overwriting the existing one. This ensures that calls made to system routines in the library archive will be recognized by your linker. One problem has already been reported with the call to routine "__ctype_b", a macro expansion from routines such as "isspace()", when compiled under gcc 2.95 ("libmpack.a" in this platools distribution was compiled under gcc 2.96).

Thanks very much to Dr. Poras Balsara of the University of Texas at Dallas for providing the source distribution of PLA tools.

Programs espresso, meg, and peg are independent of magic. Programs mpla and mquilt use magic internal routines from the library libmpack.a but are standalone programs (like ext2sim and ext2spice).

Thanks to Dietmar Lippold for updates to espresso for compilation under gcc-4.

Thanks to Dwayne Jackson for providing the source distribution of Lager 5.1, originally obtained from Bob Reese at Mississippi State University. The stochastic descent algorithm channel router is one that I wrote at Johns Hopkins to help with constructing standard cell libraries, and intern Jennifer Roberts helped with extending it to a general-purpose standard cell router. It has quite a few limitations (e.g., 2-metal layers, and handles only two rows/one channel) and needs a lot of work, but it's usable, and it's the only channel router I've seen based on something other than Steiner trees and simulated annealing.

TimberWolf is modified from the last open source version for which source code was made publicly available, which is version 6.0. The current commercial version of TimberWolf can be found at iTools. Version 6.1 represented my port of the 6.0 source code to Linux. Version 6.2 has some further modifications that will allow compiling on gcc up to and including version 3.4 (haven't tried 4.0 yet). In addition, version 6.2 includes TimberWolfDR (detailed router, otherwise known as "mighty" from the OctTools distribution). Plus, since I was recently testing the use of TimberWolf for producing routed layout, I also included "yacr" from OctTools 5.2. Version 6.3 is an attempt to make TimberWolf 64-bit clean, and corrects at least one fatal memory allocation error.

See Digital Flow for various format translation scripts useful in conjunction with TimberWolf for a digital flow.


Last updated: February 20, 2024 at 2:00am