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.10 (Yosemite).
My daily driver still runs 10.9, and I don't use the bindist, so bear in mind
that a few things might need to be adjusted. Feel free to email corrections to
the address shown at the bottom of fink info geda-gaf
. The output of
fink --version
is helpful.
The rest of this page assumes that you have Fink, Xcode, and Xquartz (X11 runtime) installed on your machine.
Getting Started
- Fink Download Quick Start
- Fink User's Guide
- Fink Running X11 guide
- XQuartz FAQ
- 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. Otherwise, I get confusing blank emails.)
Binary Packages
If you are running 10.10 (Yosemite), 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: http://www.geda-project.org
Fink package database: geda-gaf
ngspice
Use ngspice for your analog and mixed-signal simulations. Currently maintained by David Fang.
Project web site: http://ngspice.sourceforge.net/
Fink package database: ngspice
pcb
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: http://pcb.geda-project.org/
Fink package database: pcb
gerbv
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: http://gerbv.sourceforge.net
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: http://iverilog.icarus.com/
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: ftp://icarus.com/pub/eda/verilog/snapshots/
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
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: http://gtkwave.sourceforge.net
Fink package database: gtkwave
Disclaimer
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.