Many engineers today have Linux on Desktop as main-OS. Many engineers today use Open Source products because of their quality, stability, and configurability. Today I see no alternative to use Xilinx or Alteras Web Packs. Both are in a very sad state. As Linux or PowerPC user you cannot develop your FPGA design with this tools. On x86 or on Windows they are very buggy, slow, and unproductive as well. So, any idea, how can we change this situation? Will we meet the time of Open Source development tools for programmable logic devices?
Where is Open Source for FPGA development?
Started by ●March 25, 2007
Reply by ●March 25, 20072007-03-25
psihodelia@googlemail.com wrote:> Many engineers today have Linux on Desktop as main-OS. Many engineers > today use Open Source products because of their quality, stability, > and configurability.Hmm, yes, but your many is still a tiny %. Other are more pragmatic: as long as windows does not get in the way, they tolerate it.> > Today I see no alternative to use Xilinx or Alteras Web Packs. Both > are in a very sad state. As Linux or PowerPC user you cannot develop > your FPGA design with this tools. On x86 or on Windows they are very > buggy, slow, and unproductive as well. > > So, any idea, how can we change this situation? Will we meet the time > of Open Source development tools for programmable logic devices?Full end to end flow tools, probably never. Xilinx and Altera's engineers are not inept nor incompetent (tho yes, sometimes users can wonder..) - a large part of their problem is the continually moving target of their silicon. Now, if large teams of SW designers, working with in-house correlation between the Silicon designers, and the SW crew, struggle to achieve quality, how are OpenSource teams, without that link, going to achieve - well, much at all ?. That said, there is plenty of scope for opensouce+FPGA. opencores / Lattice Mico8 / Mico32 are all examples. Others are working on various HDL/Sim alternatives, but back end tools like Map/P&R ? - rather less likely, until the pace of change slows down. Plus, the vendors give free tools, so there is not the price, or sponsored, incentive other open-source targets have. There probably is scope for users to co-operate more with the vendors, in raising Sw quality. As an aside, this made interesting reading http://www.eetimes.com/showArticle.jhtml;jsessionid=XE4AJV2TYRLWGQSNDLRCKH0CJUNN2JVN?articleID=198500084 -jg -jg
Reply by ●March 26, 20072007-03-26
> Plus, the vendors give free tools, so there is not the > price, or sponsored, incentive other open-source targets have.Yes... free tools... with large minimum quantity provisioning contract for anything besides economy/entry-level parts - Quartus Web/ISE Webpack only support Cyclone/Spartan FPGAs and small Stratix/Virtex devices. For small customers, the full Quartus/ISE usually costs a few grands. While it would certainly be nice to have open-source tools to support FPGA development (more options is almost always good for those days where ISE&all keep on crashing and burning), the rather small world-wide pool of FPGA people with both the programming knowledge and motivation to build and maintain this sort of project as volunteers is, unfortunately, almost certainly far too small. There are incentives to having independent tools such as avoiding XST/PAR/MAP bugs by replacing the whole tool chain... but the magnitude and complexity of such a project goes beyond what I believe can be expected from volunteer work. Whether or not the gains would offset the effort is a subjective matter but odds are mostly against it for the foreseeable future as you said. Who knows, maybe some FPGA vendor will open-source their tools some day and get the ball rolling.
Reply by ●March 26, 20072007-03-26
Daniel S. wrote:>> Plus, the vendors give free tools, so there is not the >> price, or sponsored, incentive other open-source targets have. > > > Yes... free tools... with large minimum quantity provisioning contract > for anything besides economy/entry-level parts - Quartus Web/ISE Webpack > only support Cyclone/Spartan FPGAs and small Stratix/Virtex devices. For > small customers, the full Quartus/ISE usually costs a few grands.True, but I did notice Altera is has decided to make the Entire Cyclone III for free : PR: "Quartus II software version 7.0 provides industry-leading performance and productivity features to support the new Cyclone III family, including the EP3C120 device with 120,000 LEs, 4 Mbits of memory and 288 multipliers�the highest-device density available in any FPGA vendor�s free software package." Q: So how many NIOS cores could fit in this device ? -jg
Reply by ●March 26, 20072007-03-26
psihodelia@googlemail.com wrote:> Many engineers today have Linux on Desktop as main-OS. Many engineers > today use Open Source products because of their quality, stability, > and configurability. > > Today I see no alternative to use Xilinx or Alteras Web Packs. Both > are in a very sad state. As Linux or PowerPC user you cannot develop > your FPGA design with this tools. On x86 or on Windows they are very > buggy, slow, and unproductive as well. > > So, any idea, how can we change this situation? Will we meet the time > of Open Source development tools for programmable logic devices? >This is a mix of two different things - running tools in an open source environment, and open-source tools. For a number of reasons, it is unlikely that we will see open source toolsets that cover the whole range of FPGA design. In particular, placing, routing and timing are so tied in with the hardware, and so specialised, that there are few people in the world who are capable of writing such software that are not already working for an FPGA company. Open source is not an appropriate development model for such software. Other parts of the toolset are a different matter. There are a number of open source HDLs, such as MyHDL or confluence, which are at a level above Verilog or VHDL. There are open source synthesisers, compilers, interpreters and simulators (such as Icarus and GHDL). There are also, of course, open source hardware designs (look at www.opencores.org for examples). When it comes to running closed source fpga software in open source environments, however, it's a different matter. Both X and A toolkits rely very heavily on open source software. As far as I can see (and I'm sure I'll be corrected if I've got it wrong), Quartus is build around a few closed source binaries, a gui, a large collection of open source glue such as cygwin, perl, and tcl/tk, and scripts written in these languages. For the binaries doing the hard work, it should make little difference which OS they run on. The infrastructure, written in perl and tcl (and perhaps other languages too), Linux or another *nix would be a far more natural OS than windows. About the only part that is actually tied to windows is the gui. What is needed for a more open-source friendly Quartus (and presumably the same applies to ISE), is two things. First, drop the proprietary closed-source kit used to run the win32 gui on linux (this is, I believe, the main reason why there is no free version of Q on Linux). Either re-write the gui using one of the many cross-platform toolkits available (such as Qt, GTK, or wxWidgets), or make the gui run with wine or winelib on Linux (that would avoid major re-writing). Secondly, drop the requirement for particular distributions, and replace it with a simple requirements for minimum versions of the infrastructure like perl and tcl. In these days of virtual machines, it should be a simple matter to set up automated testing on a dozen different distributions, and if your code works on Red Hat, Suse, Debian, and Ubuntu, then it will work on almost anything. Personally, I don't think there would be any benefit in the critical tools themselves being open source, and have no problem with the idea of a free version supporting the low-end families and paying for support for the high-end families. I don't do much fpga work at the moment - I do mostly embedded software development. As with most professionals in the field, I am happy to pay for quality tools - but I would prefer greater choice in how I run these tools.
Reply by ●March 26, 20072007-03-26
<psihodelia@googlemail.com> wrote in message news:1174871961.121540.72100@d57g2000hsg.googlegroups.com...> Today I see no alternative to use Xilinx or Alteras Web Packs. Both > are in a very sad state. As Linux or PowerPC user you cannot develop > your FPGA design with this tools. On x86 or on Windows they are very > buggy, slow, and unproductive as well.Strange... last time I looked, Xilinx provided full support for Linux as a host environment, even with the free WebPack software. True, it's only on x86. But if there was a great demand for e.g. Mac software for FPGA development, I'm sure FPGA vendors would at least think about providing it. Personally I can't see FPGA vendors going completely open-source with their tool development - they have too much "secret sauce" tied up in their back-end algorithms. Still, it's not hard to imagine a more open approach than what we have at the moment... -Ben-
Reply by ●March 26, 20072007-03-26
On a sunny day (Mon, 26 Mar 2007 10:48:36 +0200) it happened David Brown <david@westcontrol.removethisbit.com> wrote in <4607844a$0$31544$8404b019@news.wineasy.se>:>What is needed for a more open-source friendly Quartus (and presumably >the same applies to ISE), is two things. First, drop the proprietary >closed-source kit used to run the win32 gui on linux (this is, I >believe, the main reason why there is no free version of Q on Linux). >Either re-write the gui using one of the many cross-platform toolkits >available (such as Qt, GTK, or wxWidgets), or make the gui run with wine >or winelib on Linux (that would avoid major re-writing).What are you talking about? Quatus II 5.1 GUI running in wine-0.9.9 in Linux right now! And the Linux version of webpack works too.
Reply by ●March 26, 20072007-03-26
<psihodelia@googlemail.com> wrote in message news:1174871961.121540.72100@d57g2000hsg.googlegroups.com...> Many engineers today have Linux on Desktop as main-OS. Many engineers > today use Open Source products because of their quality, stability, > and configurability. > > Today I see no alternative to use Xilinx or Alteras Web Packs. Both > are in a very sad state. As Linux or PowerPC user you cannot develop > your FPGA design with this tools. On x86 or on Windows they are very > buggy, slow, and unproductive as well. > > So, any idea, how can we change this situation? Will we meet the time > of Open Source development tools for programmable logic devices? >I guess if more people donate more of their own time and effort to the FOSS effort for FPGAs, the situation might change. I'm curious as to how much effort you have contributed. ;-) Cheers, Syms.
Reply by ●March 26, 20072007-03-26
On Mar 26, 3:48 am, Jim Granville <no.s...@designtools.maps.co.nz> wrote:> psihode...@googlemail.com wrote: > > Many engineers today have Linux on Desktop as main-OS. Many engineers > > today use Open Source products because of their quality, stability, > > and configurability. > > Hmm, yes, but your many is still a tiny %. > Other are more pragmatic: as long as windows does not get in the > way, they tolerate it.I had a different impression. In the ASIC EDA world until a few years ago the Windows market share was about 0%. It is a little higher now but most of the tools still do not support windows. Of course there are a lot more FPGA designs done than ASIC designs and the number of licenses sold/given away for FPGA tools outnumbers the ASIC licenses by orders of magnitude, but a lot of the algorithms used in FPGA tools are developed with ASIC EDA money. As an example Magma Design Automation paid something like 150 developers having less than a hundred customers. (Very inaccurate and old numbers, but you get the point.) I soubt that the EDA user community is large enough to spin off a enough developers to get anything useful done. See for example how hard it is to get a working open source IP community together and that should be a lot easier. Other successfull Open Source projects are either a lot easier than EDA or have a marge larger user base to draw developers from. However what can be done, is the development of additional vendor independant tools that complement the major tools as well as replacing parts of the tool chain. One example on the fringe of EDA is Octave as a replacement for Matlab. Antoher one is a recent paper on a GI workshop that show how easy it is to extend the synthesizable subset of VHDL. They presented a VHDL to VHDL preprocessor that allowed you to use more constructs in your synthesizable code than Synopsys supports. Yet another example are timing diagram editors for documentation. Smaller projects like these are much more likely to yield high quality results than aiming for a complete toolchain. Also, they remain useful once they are not developed actively anymore. A backend tool would become useless as soon as development can not match the pace of the introduction of new architectures. Kolja Sulimma (I did EDA research for years)
Reply by ●March 26, 20072007-03-26
Jan Panteltje wrote:> On a sunny day (Mon, 26 Mar 2007 10:48:36 +0200) it happened David Brown > <david@westcontrol.removethisbit.com> wrote in > <4607844a$0$31544$8404b019@news.wineasy.se>: > >> What is needed for a more open-source friendly Quartus (and presumably >> the same applies to ISE), is two things. First, drop the proprietary >> closed-source kit used to run the win32 gui on linux (this is, I >> believe, the main reason why there is no free version of Q on Linux). >> Either re-write the gui using one of the many cross-platform toolkits >> available (such as Qt, GTK, or wxWidgets), or make the gui run with wine >> or winelib on Linux (that would avoid major re-writing). > > What are you talking about? > Quatus II 5.1 GUI running in wine-0.9.9 in Linux right now!I am sure it works (I have not tried it - as I say, I haven't done much fpga work for a while), but the only "official" Altera way to run Quartus on Linux is the paid version, running on a few specific choices of distribution. Since your experience proves that Quartus runs fine under wine, what is needed is for Altera to say so, and to provide instructions and relevant install scripts for their web edition.> And the Linux version of webpack works too. >I have heard that the Xilinx Linux webpack uses the same commercial win32 wrapper, and that Xilinx in fact have to pay a royalty fee for each Linux webpack that is downloaded. I don't know whether this is fact or rumour - again, I hope someone will correct me if I'm wrong.






