18
\$\begingroup\$

The title pretty much sums up my question: Are there any native Mac OS X environments for getting started with VHDL / FPGAs?

\$\endgroup\$
10
\$\begingroup\$

Short Answer Nope!

I have investigated this in the past, and sure you can use a text editor to write the code, but none of the major (xilinx and altera) have any design flows for the mac os x platform, so synthesizing and place and route are out.

On the simulation front, I did find a program that claims to perform simulation for the mac platform, but I had my doubts on the quality of said program.

Best option is to dual boot (parallels or fusion) into windows or linux. Having said Linux, I am not sure if you can get the free webpacks to support Linux, they may only be windows based for the free tools.

So either dual boot or use remote desktop type thing to access a windows PC. It is a bugger, I know but such is life on a mac :)

\$\endgroup\$
  • 3
    \$\begingroup\$ Xilinx, Altera and Lattice all have gratis tools for GNU/Linux. \$\endgroup\$ – Yann Vernier Oct 22 '10 at 18:38
  • \$\begingroup\$ @LoneTech: As in binaries, I presume? Not source for the tools? Linux is better than Windows, at least. I will investigate that route… \$\endgroup\$ – Kaelin Colclasure Oct 22 '10 at 19:35
  • \$\begingroup\$ I just had a look at Xilinx and Altera - neither of these supply Modelsim for Linux on the webpack tool editions. Modelsim is only available in the paid editions. I have not checked lattice. \$\endgroup\$ – smashtastic Oct 22 '10 at 22:00
  • \$\begingroup\$ Xilinx webpack includes the ISE simulator, though. Do you need Modelsim specifically? In my quick check, Lattice didn't have simulation, but now they mention Aldec Lattice Web Edition II. Altera list a "ModelSim Altera Starter Edition" as part of Quartus II Web edition. \$\endgroup\$ – Yann Vernier Oct 23 '10 at 1:31
  • 2
    \$\begingroup\$ Ah, premature submission strikes again. The Aldec simulator is Windows only. All of these are non-free binaries, yes, but there are a couple of free simulation tools such as Icarus Verilog, GHDL and FreeHDL. \$\endgroup\$ – Yann Vernier Oct 23 '10 at 1:40
13
\$\begingroup\$

Short answer: yes.

There are a few simulators: GHDL is an open source simulator. Not as good as the mainstream simulators, but it will get you started.

There is Sigasi, a VHDL design entry and code comprehension tool, which works on Mac. This will help you write your code before you send it to the simulator.

As for synthesis tools, you should take a look at Plunify. The offer synthesis "in the cloud," so that's not tied to any platform.

You will probably end up using VMWare or Parallels sooner or later, but sure you can get started designing VHDL on your Mac.

(disclosure: I'm on the Sigasi team)

\$\endgroup\$
  • \$\begingroup\$ There are gcc and direct machine code versions of ghdl-0.31 for OS X 10.9 available from Tristan Gingold's and Brian Drummond's ghdl-updates site on Sourceforge. Also Nick Gasson's VHDL Compiler nvc builds on OS X, only missing configuration specifications from -1993 compatibility. Both are currently moving toward -2008 compatibility. An OS X GTKWave app is also available for download, usable for both. \$\endgroup\$ – user8352 Aug 24 '14 at 16:41
0
\$\begingroup\$

Short answer: Yes, but not easily

icestorm is an open source FPGA compilation toolchain for verilog on Lattice ice40 FPGAs only. I have compiled and am able to run it natively under Mac OS X, although setting it up wasn't as trivial as doing the same under Linux.

Icestorm includes some simple examples which are suitable for an introduction to synthesis HDL for FPGA's, but these are in verilog, not VHDL.

So, if you have your heart set on learning VHDL only, you will need a VHDL to Verilog converter, as VHDL isn't supported directly. I have not actually ran one of those on Mac OS X, which is why this answer is Maybe.

It may well be worthwhile, if you are a beginner to FPGA design, starting with MyHDL (which is a python interface which can both simulate hardware, as well as auto-generate either VHDL or Verilog for FPGA synthesis), until you are familiar with HDL design, then drilling down into detail with VHDL and Verilog later.

If you are serious about learning HDL synthesis for FPGA's, you will probably have to eventually learn be at least passingly familiar with both Verilog and VHDL anyway. The commercial tools support both, even in the same project at once, on a module-by-module basis.

Another very useful simulation tool (which also runs under Mac OS X, via a package in one-or-the-other of homebrew and macports) is Verilator, which allows for compilation of HDL into efficiently-running native binaries for the purposes of running entire SoC's in simulated form. An excellent and useful example of doing so is included in Swapforth, which is used when make -C j1a clean bootstrap is called. Verilator is used to allow the initial Forth image to compile its own initial software installation, which is then re-compiled into the design so the resulting FPGA runs whatever the application is from power up.

Please keep in mind that all of the above is quite non-trivial to get working on MacOS X - you will have to be happy about detecting missing dependencies and installing them via either macports as well as homebrew, as well as hunting around and following notes about

Mac OS X is quite a second-class citizen compared to Linux, for the purpose of FPGA compilation at least. You will find that even FreeBSD has far better support for running the commercial FPGA toolchains (via the linux binary compatibility layer it has that Darwin sadly lacks).

Consequently, it is still far, far easier to either dual-boot or virtualise linux so you can just throw the tools on and get to work. But because one useable Open-Source FPGA toolchain now exists, it is possible to run it natively under Mac OS X.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.