

Ask HN: Exists Open Source FPGA Tool Chain? - live_to_code

Is there any FPGA (slightly expensive is okay) that has an completely open source tool chain? I'm not a big GPL/BSD fanatic per say, but when things break / things need to be optimized / tweaked, I like having the source code around (rather than banging my head wondering what's happening in the black box).<p>Thanks!
======
profquail
I actually don't have an answer for you, but perhaps you could ask around on
the forum at OpenCores:

<http://www.opencores.org/>

(It's kind of like SourceForge, but for hardware designs.)

~~~
live_to_code
Great thanks, this is even better (a community rather than just a yes/no
answer). :-)

------
duskwuff
I do have an answer for you: basically, no. A huge part of the development
work done in the FPGA field is in the software - the hardware is comparatively
easy.

If you're complaining about the quality of the official software (especially
for Xilinx or Altera) - you're far from alone. Unfortunately, the open-source
alternatives are nowhere near the official tools in terms of functionality.

------
sybreon
Writing a synthesis tool is like writing a high-level language compiler,
fairly difficult. On top of that, synthesis (by definition) targets a specific
technology. This is like targeting different CPU architectures and platforms
with said compiler except that the targets are not publicly documented.

Even with so many OSS developers in this world, we only have one decent
compiler that targets multiple platforms - GCC, and even that has lots of
issues. The number of FPGA developers is far smaller and most of us would
rather focus on the hardware design, than write software tools.

So, if you want to see a good FPGA tool chain, you would need to convince
enough FPGA developers with software skills and enough software developers
with hardware skills, to put an effort behind actually making it work.

------
amirh
There's some useful code for reading and modifying Xilinx bitstream files up
here: <http://www.ulogic.org/trac>

if you want to learn more bout the Xilinx chip internals you can learn the XDL
format: with the command line ISE tools you can use the flag -ncd2xdl to
convert a compiled NCD design to XDL.

------
badri
icarus verilog can get you as far as synthesis. But, like duskwuff mentioned,
the open-source alternatives are nowhere near the official tools in terms of
functionality.

------
CamperBob
I wish. FPGA tools, without exception, suck. No C programmer would put up with
compilers and linkers that work the way FPGA synthesis tools do. Open-source
efforts could only improve things.

FPGA vendors don't document the details needed to configure their chips at the
nuts-and-bolts level, so any FOSS toolchain would have to rely on a sustained
reverse engineering effort.

~~~
live_to_code
What's preventing the reverse engineering effort? Legality issues? Difficulty?
Time? (I've heard stories about samba, and it seems like if MS protocols can
be reverse engineered, then things that have to obey the laws of physics
couldn't be that much worse).

~~~
CamperBob
I'm not sure. Probably the relatively obscure nature of the task and the
manufacturers' relatively short design-life cycles discourage any sort of
heroics.

