FPGARelated.com
Forums

open source fpga programmer programs

Started by Dave Feustel January 25, 2006
I am no longer running Windows. Are there any open source programs
for programming fpgas? I know about Icarus, but I don't think that
program actually programs chips.

Thanks,
Dave Feustel
Dave Feustel wrote:
> I am no longer running Windows. Are there any open source programs > for programming fpgas? I know about Icarus, but I don't think that > program actually programs chips.
I know of no good (*) open source simulators or synthesis tools. You can forget about the back end tools - there are compelling reasons for these to be completely closed. I suggest you drop your dogma, and use some of the many low cost or free (beer) tools, or learn about Wine (assuming you have an x86 machine). (*) other people may regard certain offerings (e.g. Icarus) as good. YMMV. Regards, Allan
Dave Feustel wrote:
> I am no longer running Windows. Are there any open source programs > for programming fpgas? I know about Icarus, but I don't think that > program actually programs chips.
Depends on your fpga's. For Xilinx there is no alternative since the P&R and bitstream generation tools are vendor proprietary. For Altera parts it's unclear at this point, at least one source believes they might open up shortly. Atmel isn't fighting open source at this point, and is actually relatively open about bitstream formats and architecture for AT40K/AT94K products to the point that we will be actively supporting those products in ways with FpgaC that simply are not possible on Xilinx. I suspect that will bring Altera out as well, since the breadth of the FpgaC project is pretty exciting for Reconfigurable Computing (RC). The core patents for Fpga's will be expiring this decade, and if the open source RC movement is careful to establish prior art and register core technology patents, it should be possible to safely create an open source basis for RC similar to what gcc, gnu, FreeBsd, and Linux did for the mainstream software world. Xilinx may try to control the market as AT&T/USL/Novel/SCO did, but in the end vendor neutral open source projects have a strong chance of being mainstream in the FPGA RC community inside a few years. I suspect that Altera, Amtel, Intel, and a few others will sieze the SoC market to take RC mainstream from the ground up. In that market Altera with the Arm core has a clear market edge as most embedded folks are already Arm experienced, where PPC is still a minority player in the global embedded market. The Altera Excalibur devices have been a very interesting pairing in that respect ARM + 20KE fpga and that product family is certainly going to grow, especially if an open source partnership develops for it. With core patents expiring this decade, and early in the next, I would not be suprised if Intel, AMD, Actel, ASCII(One Chip MSX), and a few others are all capable of making the current FPGA leaders marketshare insignificant in a few years as embedded RC goes mainstream. FpgaC is just getting off the ground, but with a strong vision toward realizing the 10 year old dream of mainstream RC.
Dave Feustel wrote:
> I am no longer running Windows. Are there any open source programs > for programming fpgas? I know about Icarus, but I don't think that > program actually programs chips. > > Thanks, > Dave Feustel
Don't waste your time. Vendor's spend a *VERY* long time working out bugs in their software. With the level of complexity of an FPGA, you don't want to waste time with buggy software that is developed in someone else's spare time. All of the actually chip programming, routing stuff is vendor locked(for good reason), so your out of luck on that. That being said, Xilinx does offer their software for Linux. It is not opensource but it does give you a non-windows alternative. -Eli
Eli Hughes wrote:
> Don't waste your time. Vendor's spend a *VERY* long time working out > bugs in their software. With the level of complexity of an FPGA, you > don't want to waste time with buggy software that is developed in > someone else's spare time. All of the actually chip programming, > routing stuff is vendor locked(for good reason), so your out of luck on > that. > > That being said, Xilinx does offer their software for Linux. It is not > opensource but it does give you a non-windows alternative.
Eli ... the open source community does as well. It's rather an insult against those of us that do volunteer our time toward open source project to brashly brand open source that way. Consider that Xilinx believes the Linux is a stable platform for it tools, is it not? Consider thart Xilinx uses the GCC compiler for it's PPC support, does it not? Consider that Xilinx uses the GNU libraries on the PPC, does it not? The only thing here that is wrong, is that Xilinx leaches off the backs of open source developers, then asserts prioprietary rights to open source efforts to do a BETER job at place, route, and bit steam generation. At least other mainstream corporations have the good sense to both embrace open source in their product offerings, and give back to the open source community at the same time. See the what happened to JHDLBits thread. John FpgaC developer
On 2006-01-25, Eli Hughes <emh203@psu.edu> wrote:
> Dave Feustel wrote: >> Are there any open source programs for programming fpgas? > > Don't waste your time. Vendor's spend a *VERY* long time working out > bugs in their software.
"There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies and the other is to make it so complicated that there are no obvious deficiencies." - C A R Hoare
> With the level of complexity of an FPGA, you > don't want to waste time with buggy software that is developed in > someone else's spare time. All of the actually chip programming, > routing stuff is vendor locked(for good reason), so your out of luck on > that.
In other words, "shut up and get back on the couch".
> That being said, Xilinx does offer their software for Linux. It is not > opensource but it does give you a non-windows alternative.
"I won't run software written by cowards." - Adam Stiles, referring to software provided without source code - Larry
fpga_toys@yahoo.com wrote:
> Eli Hughes wrote: > >>Don't waste your time. Vendor's spend a *VERY* long time working out >>bugs in their software. With the level of complexity of an FPGA, you >>don't want to waste time with buggy software that is developed in >>someone else's spare time. All of the actually chip programming, >>routing stuff is vendor locked(for good reason), so your out of luck on >>that. >> >>That being said, Xilinx does offer their software for Linux. It is not >>opensource but it does give you a non-windows alternative. > > > Eli ... the open source community does as well. It's rather an insult > against those of us that do volunteer our time toward open source > project to brashly brand open source that way. > > Consider that Xilinx believes the Linux is a stable platform for it > tools, > is it not? Consider thart Xilinx uses the GCC compiler for it's PPC > support, does it not? Consider that Xilinx uses the GNU libraries on > the PPC, does it not? > > The only thing here that is wrong, is that Xilinx leaches off the backs > of open source developers, then asserts prioprietary rights to open > source efforts to do a BETER job at place, route, and bit steam > generation. At least other mainstream corporations have the good > sense to both embrace open source in their product offerings, and > give back to the open source community at the same time. > > See the what happened to JHDLBits thread. > > John > FpgaC developer >
My aim was not to insult. I am aware of alot of quality open source applications. I agree that Xilinx does use open source tools like GCC and what not because of their quality but I think open source FPGA tools may be a little different. For it to work out, Xilinx would have to give away the gut of the parts so people could write applications properly. This would pose an issue with other companies such as brand 'A' to just take their IP. That is their business, to develop the best guts. Sorry for the insult. -Eli
Eli Hughes wrote:
> I agree that Xilinx does use open source tools like GCC and what not > because of their quality but I think open source FPGA tools may be a > little different. For it to work out, Xilinx would have to give away > the gut of the parts so people could write applications properly. This > would pose an issue with other companies such as brand 'A' to just take > their IP. That is their business, to develop the best guts.
Gcc wasn't the greatest compiler in it's early days either, Nor was linux or the gnu libraries. Over time things get better with use and community commitment. Open source EDA will too. FPGA EDA tools have been high dollar revenue producers ... $10K to $100K per seat license. Xilinx uses that revenue to pay programmers, which have every incentive to protect their jobs by blocking competitive development of similar tools. At the same time, they have very limited resources, and can not respond to all users needs, such as a totally different placement, router, and bitstream tool set for reconfigurable computing because there are not established high volume users asking for this feature set. I can, and will, continue to say that the existing tool chain is horrible for FpgaC to interface to as it's a huge bottle neck for compile, load and go ... and it's utilitization of hardware resources really sucks unless you are willing to let it work for several days ... and often even then the results suck because it makes some poor choices very early that it will not rip up and replace. FpgaC tends to produce lots of very regular mesh structures, which using very different placement/cost algorithm can be routed fast, on the fly, to a bit stream to support compile, load and go operations on the order of seconds, not hours -- with a substantially better fit than par simply by retaining the mesh relationships rather than abandoning them. The compiler by it's very nature, tends to produce a few types of structures, which are emitted with very little change, over, and over, and over. By carefully optimizing those emitted structures, and fine tuning the place and route process to be optimized for them, it a much simplier problem than xilinx par is optimized for, and much, much easiter get better utilization as the end result is something similar to dynamically generated cores which are just replicated and routed togather. The big difference, is that these structures are not pure macros/cores ... but are logic blocks which the complier merges with adjacent blocks into packed LUTs. So what is output are not fixed regular structures in terms of pure macros/cores, but mesh structures of optimized logic pipelines. Xilinx par isn't tuned to recognize these mesh structures, and breaks them apart ... and other poor choices. Some things which FpgaC does as clear optimizations, also just drive par nuts ... like clock enables to reduce the depth of LUT based multiplexors and the need for FF feedback for idle states. The result is that par separates the LUT and FF from each other, then wastes another LUT for pass thru, and burns routing resources/dynamic power in the process. Greatly complicating the FpgaC to optimize around par's faults is a goose chase, since it may do something completely different the next release and we will waste a lot of time optimizing FpgaC for each and every ISE release ... with a growing number of divergent hacks. Simply taking something like the JHDLBits wire database and router and fine tuning it for FpgaC is MUCH MUCH easier, and decouples us from having a different hack for every change in ISE. Plus we get compile, load, and go times down to seconds, instead of the minutes or hours that it takes par to do a poor job. We will put our efforts into supporting FPGA vendors that want our help, and appreciate the long term investment we are making into their products future, and their companies sales.
allanherriman@hotmail.com ha scritto:
> Dave Feustel wrote: > >>I am no longer running Windows. Are there any open source programs >>for programming fpgas? I know about Icarus, but I don't think that >>program actually programs chips. > > > I know of no good (*) open source simulators or synthesis tools. > You can forget about the back end tools - there are compelling reasons > for these to be completely closed.
think to consider ghdl for vhdl simulation. I use it dayly and it is capable to compile the Xilinx unisim library and almost all simprim (except dsp48) so you can use it for rtl design and even for post synthesys and post map simulation.
> > I suggest you drop your dogma, and use some of the many low cost or > free (beer) tools, or learn about Wine (assuming you have an x86 > machine). > > (*) other people may regard certain offerings (e.g. Icarus) as good. > YMMV. > > Regards, > Allan >
In article <dr8h4b$1480$1@f04n12.cac.psu.edu>,
Eli Hughes  <emh203@psu.edu> wrote:
>fpga_toys@yahoo.com wrote: >> Eli Hughes wrote: >> >>>Don't waste your time. Vendor's spend a *VERY* long time working out >>>bugs in their software. With the level of complexity of an FPGA, you >>>don't want to waste time with buggy software that is developed in >>>someone else's spare time. All of the actually chip programming, >>>routing stuff is vendor locked(for good reason), so your out of luck on >>>that. >>> >>>That being said, Xilinx does offer their software for Linux. It is not >>>opensource but it does give you a non-windows alternative. >> >> >> Eli ... the open source community does as well. It's rather an insult >> against those of us that do volunteer our time toward open source >> project to brashly brand open source that way. >> >> Consider that Xilinx believes the Linux is a stable platform for it >> tools, >> is it not? Consider thart Xilinx uses the GCC compiler for it's PPC >> support, does it not? Consider that Xilinx uses the GNU libraries on >> the PPC, does it not? >> >> The only thing here that is wrong, is that Xilinx leaches off the backs >> of open source developers, then asserts prioprietary rights to open >> source efforts to do a BETER job at place, route, and bit steam >> generation. At least other mainstream corporations have the good >> sense to both embrace open source in their product offerings, and >> give back to the open source community at the same time. >> >> See the what happened to JHDLBits thread. >> >> John >> FpgaC developer >> > > >My aim was not to insult. I am aware of alot of quality open source >applications. > >I agree that Xilinx does use open source tools like GCC and what not >because of their quality but I think open source FPGA tools may be a >little different. For it to work out, Xilinx would have to give away >the gut of the parts so people could write applications properly. This >would pose an issue with other companies such as brand 'A' to just take >their IP. That is their business, to develop the best guts.
But they've already got plenty of patents on that IP so it's not like someone could reverse engineer the bitstream and then just copy. Actually, I'm not convinced that you _can_ determine a lot from a bitstream format. Now, as has been said elsewhere in this thread, a lot of those patents start expiring in this decade. At any rate, it seems clear that Xilinx would not be in any way helpful to open source efforts to create alternative tools. Phil