Open Circuit Design      bright ideas. . . no strings attached

Thank you for visiting the Open Circuit Design website. This website is the repository for the suite of open-source EDA (Electronic Design Automation) tools including Magic, IRSIM, Netgen, PCB, and XCircuit. These tools are all provided for free under the GNU Public License (GPL) or similar open-source license.

Open Circuit Design is committed to keeping open-source EDA tools useful and competitive with commercial tools.


Open Circuit Design Software

Click on the buttons in the menu on the left to get to the home page of each of the major electronic design automation (EDA) tools hosted by Open Circuit Design:


See my interview on EEWeb for a pretty concise summary of what Open Circuit Design and EDA tool open source development mean to me.

About the website

The OpenCircuitDesign domain is owned by me (Tim Edwards) and registered through Initially, I ran it off of a computer in my basement in Maryland and tracked the Comcast dynamic IP address using the DynDNS service. Currently, the OpenCircuitDesign computer sits in the network closet at MultiGiG, where it has a fixed IP address. OpenCircuitDesign is a Debian Linux system. runs a Wiki service using UseMod software, mailing lists using MailMan, and spam filtering using SpamAssassin. It runs an IMAP mail server for me at MultiGiG for inbound mail, and operates as a relay for outbound mail when I have my laptop connected at work. HTDig is installed as the search engine for the site, which is also integrated into MailMan for searching the mailing list archive.

As of May 2011, all of the primary software projects are placed under git, the software versioning system created for Linux development. This is a slight update from the previous system, dating from April 2006, in which all projects were placed under CVS (concurrent versions system). Since I normally prefer tarballing distributions regularly, I have instituted a complicated system of scripts on OpenCircuitDesign. I have a copy of all the source distributions on OpenCircuitDesign in git repositories. At the end of the day (during the night), cron launches a script that checks each project, and does the following:

  1. Determines if any commits have been made during the day. If not, no further action is taken. Otherwise:
  2. Updates the revision number of the project
  3. Creates a new tarball
  4. Updates the download web page to point to the new tarball
  5. Compiles all of the commit messages since the last tarball was made
  6. Appends the messages to the history ("changes") web page.
As part of all this activity, the script is careful to keep separate the "stable" and "development" distributions where I have both (e.g., Magic and XCircuit).

A separate cron script runs roughly once a week, checking the "last modified" date on each file in the website and updating the "Last Updated" message at the bottom of each web page if it is different, so I don't have to.