On Nov 13, 2011, at 12:17 AM, Mouse wrote:
> I
wonder if there is open source / reasonably priced tools to
> take the source -> workable code.
Open source, no. But both Xilinx and Altera
offer the compiler
tools (runnable on Windows and Linux) needed to run on all their
low-cost devices (and some of their high-end ones) for free;
...except that you have to (a) be willing to run either Windows or
Linux, (b) run on their choice of hardware, and either (c1) set up
a very heavily firewalled sacrificial system or (c2) trust the
security of your system to code they aren't even willing to let you
look at.
I'm not willing to do (c2) at all, and not willing to do either (a)
or (c1) unless I'm getting paid a fair bit to do so ((b) might join
(a) and (c1), if their required hardware is something I don't have,
though that's highly unlikely).
That's great, and I'm with you in that I'd much rather see open
source tools for this. However, the devices themselves and their
configuration details are generally closely-held trade secrets, so
closed vendor tools are what we've got. If you're not willing to run
Windows or Linux to develop FPGAs, you better be satisfied with only
simulation.
I'm much less concerned about tools than I am
about documentation
on the hardware's interface, on what the bits in the blob thrown at
the hardware mean (and how to thrown them at it, though that part
is much more likely to be documented). I would probably find
open-source tools useful mainly as hardware documentation, though
if they are properly designed I might be able to pull off their UI
and stick on something I find usable.
I would love that. For my master's thesis, I'd hoped to gain some
insight into the configuration bitstreams so I could configure the
FPGA as a neural network dynamically. I got a very flat "no, and if
you try to reverse engineer our bitstreams there may be trouble"
answer from the major vendors.
It would be nice to see someone make more open silicon, but without
literally billions of dollars and thousands of employees, you
couldn't hope to compete with the major players on performance (or
even performance per watt), or in the marketplace. It's a sad aspect
of the Free Market(tm), I guess. There is as much money and R&D
poured into developing FPGA silicon as there is in memory and CPUs;
those three are basically the main areas TSMC (and a few other
foundries) focus their efforts on.
I'd love to get into FPGA hacking. But not
nearly enough so to
tolerate something as abusive towards their users as "you have to
run our closed-source code". :-?
There's always simulation. You can go a long way in simulation (in
fact, you should) and have someone else implement it in an FPGA (if
you've done your job right and read the synthesis manual, they
shouldn't even need to tweak your code), and there are definitely
open-source ASIC design tools. Icarus Verilog will even synthesize
to a netlist intermediate, but that still requires closed vendor
tools to turn it into a hardware implementation.
I would also say that closed-source design implementation tools
aren't as abusive towards the users as you might think; it's really
just a proprietary translation using optimization algorithms they've
spent millions of dollars on. While I think there's a case to be
made that they could offer the source for money (like DEC did for
most of their OSes), it would be a hard sell.
You're welcome to lobby them; I'd support that effort. I think it
could improve the ecosystem; I think the existence of cheap,
GCC-based developer tools has bolstered the sales of ARM chips, for
example, much more than Keil or IAR would like to admit. It'll be an
uphill battle, though, because you have to convince the people who
just want to make money that it will make them more money (I can tell
you categorically that they are not interested in goodwill from the
community, nor are they interested in hobbyists; they are interested
in military and telecom sockets, because that's where their money
comes from).
My beef is that all the low cost boards, still needed to connected the PC
for use. You can't burn and go.