Distribution (Magic 8.3) Source
Distribution Git Repository
Distribution (Magic 8.1) Executables
Other Related Downloads
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.
File Revision Size Date magic-8.3.61.tgz 61 (4028) September 26, 2020 at 3:00am
git clone git://opencircuitdesign.com/magic
git checkout magic-8.3
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 10Follow 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 magicThen run magic with:export DISPLAY=:0Here, 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.
File OS Revision Size Date Windows
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
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, 2006The 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: September 26, 2020 at 3:00am