Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Investigated FPGA boards but cannot find open-sourced board and vendor-neutral FPGA development tools:

  • The ORSoC manufacturer boasts open-sourcing on its website but I cannot really find strong evidence except webmastering OpenCores.org.
  • The duo: Xilinx advertises its products with "Open Source Hardware Innovation Contest for Mainland China Universities". Still their products are proprietary, poor support for *ix --. Similarly, Altera has a poor support for *ix, just check their OS support with Quartus or how to have your logic analyser in the synthetic step?
  • Group of small players -- let you point the best.

Is there some manufacturer strong with open-sourcing things such as hw and dev tools?

share|improve this question

closed as off-topic by Ricardo, PeterJ, Daniel Grillo, Vladimir Cravero, JIm Dearden Jan 28 '15 at 19:35

This question appears to be off-topic. The users who voted to close gave this specific reason:

If this question can be reworded to fit the rules in the help center, please edit the question.

Related question in SO here. – hhh Jan 12 '12 at 20:03
There is now an open source toolchain for the Lattice Semiconductor iCE40 FPGAs, see: github.com/cseed/arachne-pnr – Cotton Seed Jul 22 '15 at 0:49

Sadly, there isn't much free software for programmable hardware. There are a few synthesis tools, such as Lava (which expects largely manual placing), Confluence, HDCaml and Atom, and Icarus Verilog, but next to no fitter, mapper or place and route tools (I would absolutely love to be proven wrong in this). Opencircuitdesign.com has collected some tools, but it probably requires some documentation and a bitstream generator. Simulation, on the other hand, is fairly well covered.

On the non-free side, Xilinx' non-free but gratis tools have seen some improvement recently, by adding libusb support and dropping Wind/U (a horrible non-free winelib analog) in favor of Qt (but they won't be updating for retired chips). Most other tools seem sabotaged using a package called flexlm, to such a degree that it's hard to get them running even with the aid of the vendor. I have also been able to run Lattice Diamond software under Linux, but that lacked simulation. For Atmel AT40KAL, the place and route tool could be run in Wine, but the library demands non-standard components (it uses LPM, but refuses 2-input gates), so a sort of mapper would be needed.

share|improve this answer

The Butterfly Board looks like a good open source beginners route into FPGAs. They've already ported the AVR8 core so you can run Arduino sketches/AVR object code on the thing, so there's a sane learning curve.

Update: Now renamed to Papilio Boards.

I think that Xilinx WebPack is needed and it's available for Windows and Linux.

share|improve this answer
The webpack should be free for you also. – Kortuk Jun 20 '10 at 19:32
sorry but cannot really see what is the "open source" with it. Would rather slip coin with over half cheaper like: item.taobao.com/auction/…. – hhh Jun 25 '10 at 15:11
Although it relies on the proprietary Xilinx toolchain, the Butterfly One includes 1) an open-source board design, 2) an open-source "programmer" (bitstream->flash utility), and 3) lots of open-source IP as examples. Recommended! – Tyler Oderkirk Aug 17 '10 at 14:45
Maybe you should update your link to point to the Butterfly One? Also, do you know how well supported these are(like how many people use them and if they're good for beginners)? – Earlz Dec 17 '10 at 5:55
The schematics and all are open source for the Butterfly One and I got this running completely on my Arch Linux computer. You have to manually compile a few things, but I wouldn't say it's harder than most FPGAs to get started with. (and probably easier because it comes programmed as an AVR softcore – Earlz Dec 22 '10 at 8:26

Unfortunately the synthesis tools are all closed source as far as I know. The code contained in them is a big part of their business advantage, so I feel it is unlikely you will seem them open sourced.

Xilinx does have free toolchains for Windows and Linux, and if you don't like their IDE you are free to use their commandline tools with your own editor. I've done this before, it works well for small projects (eg CPLD) where you don't want to fool around with big complex software packages.

Altera I believe only offers free tools for Windows, their Linux tools are paid only last time I checked (this may have changed, it's been maybe a year or so since I last looked).

share|improve this answer
My understanding is that synthesis - the process of implmenting a design in the technology's building block components - is the last layer where substituting your own is feasable. It's the next layer - place and route, the timing analysis that needs to go with it, and the bitsream generation which follows, where really closely held information is needed. – Chris Stratton Aug 1 '14 at 18:49

FPGA development tools are all tightly coupled with the FPGA devices themselves and are utterly dependent on proprietary details of the FPGA architecture, particularly at the placement, routing, and bitstream generation levels. As such, vendor-neutrality is largely non-existent. Higher-level tools may be vendor-neutral to some degree (e.g., Synplify, ESL tools, verification tools, etc.), but they're certainly not open source.

On the other hand, there are many academic tools that are open source. As long as you don't want to develop for a real physical device, you can use the VPR 5.0 toolchain.

share|improve this answer
I don't buy the "tightly coupled to hardware" explanation. It's the same with different instruction sets for embedded CPUs. – maxy Mar 3 '14 at 19:20
@maxy - no, it's really not. A CPU abstracts away intense amounts of hardware detail which is exposed to, and must be considered by, an FPGA toolchain. A C compiler doesn't really need to know or care if the output of the multiplier will get to the next register on time, and even the board designer only has to look at the maximum allowed clock speed to know this. For an FPGA tool, you have to know how long the multiplier takes, what the setup time of the register is, and then calculate the delay between them based on where you put them on the chip and how you route the signal in between. – Chris Stratton Aug 1 '14 at 18:46

Neither open-source nor still supported but Xilinx offers a free, cross-platform (Java) API called Jbits which allows directly programming (and on-the-fly reprogramming) of FPGAs. I believe only CPLDs and up to Virtex-II are supported, but it's the closest thing to allowing devs to produce their own custom synthesis tools. Planning to play around with this quite a bit in the near future.

share|improve this answer
Jbits was really cool. – Prof. Falken Dec 3 '11 at 22:42

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