Fink packages for EDA

If you're looking for open-source Electronic Design Automation (EDA) software that runs under Mac OS X, you've come to the right place.

Updated for OS X 10.9 (Mavericks).

The rest of this page assumes that you have Fink, Xcode, and some version of X11 installed on your machine.

Getting Started

  • Fink User's Guide
  • Fink Running X11 guide
  • Apple Configuring and Running X11 Applications guide
  • FinkCommander is a nice shell around the Fink package build and installation process. (Note: if you use FinkCommander's feedback feature, please describe the problem you are having, or indicate if everything worked.)

Binary Packages

If you are running 10.9 (Mavericks) or 10.8 (Mountain Lion), and you use the default Fink installation directory of /sw, you can use binary packages instead of compiling from source.

Building from Source

Fink automates the process of downloading dependencies, patching if necessary, and building binaries. In this regard, it is similar to MacPorts or homebrew. However, one distinction is that Fink stashes the resulting build in Debian-style .deb files that can be managed with dpkg, and goes to great lengths to ensure that nothing is stored outside of the installation directory (/sw by default).

The gEDA bundle

When the gEDA suite consisted of many separate packages, it was convenient to have a "bundle" package to update everything. Now, it is probably easier to install the ones you need:

  • geda-gaf
  • iverilog or iverilog-snapshot,
  • pcb
  • gerbv
  • ngspice
  • gtkwave

After gEDA 1.6.0, gschem and friends (gaf) come in a single tarball. If you only want the core gEDA packages, run fink install geda-gaf.

Project web site:

Fink package database: geda-gaf


Use ngspice for your analog and mixed-signal simulations. Currently maintained by David Fang.

Project web site:

Fink package database: ngspice


PCB allows you to design printed circuit boards. You can use gnetlist (part of geda-gaf) to create a netlist to ensure that your PCB matches a schematic diagram created with gschem. You can then use gsch2pcb to forward-annotate the PCB with part footprint and attribute information from your schematic.

Project web site:

Fink package database: pcb


Once you have laid out the entire circuit, you will probably want to generate Gerber files and verify them. That's where gerbv comes in handy.

Project web site:

Fink package database: gerbv

Icarus Verilog

Icarus Verilog is a Verilog simulation and synthesis engine. Mac OS X support has been in Icarus for a while; however, this Fink package makes it easier to deal with the library and tool dependencies.

Project web site:

Fink package database: iverilog

If you are interested in the latest development version of Icarus, you can see if the snapshot package has been updated.

Project web site:

Fink package database: iverilog-snapshot

You may also be interested in the Icarus Verilog testbench. I try to include testbench results in the commit logs when I update the iverilog and iverilog-snapshot Fink package files.


GTKWave is a fully featured GTK+ based wave viewer for Unix and Win32 which reads LXT, LXT2, VZT, FST, and GHW files as well as standard Verilog VCD/EVCD files, and allows their viewing.

Project web site:

Fink package database: gtkwave


No warranties, etc. [insert boilerplate legal text here] I only wrote the Fink description files, not the software-- it is your responsibility to check each package for license information. If it breaks, you get to keep the pieces.