has anyone in the dig. design and reconfig. computing community looked seriously at open source hardware design libraries, working toward a hardware paradigm similar to that in the open source software community? I am aware of the existence of opencores.org, but this seems like a small first step, of which many more could be taken toward improving the availability and ease of access and use of open source logic designs. does anyone have any thoughts or knowledge or any thing to say about an open source hardware paradigm? thanks, Geoffrey Wall Masters Student in Electrical/Computer Engineering Florida State University, FAMU/FSU College of Engineering wallge@eng.fsu.edu Cell Phone: 850.339.4157 ECE Machine Intelligence Lab http://www.eng.fsu.edu/mil MIL Office Phone: 850.410.6145 Center for Applied Vision and Imaging Science http://cavis.fsu.edu/ CAVIS Office Phone: 850.645.2257
open-sourced FPGA (vhdl, verilog, C variants) design libraries, working toward a GNU (for hardware) paradigm
Started by ●November 10, 2005
Reply by ●November 10, 20052005-11-10
I seriously doubt you see anything much bigger that the snippets on Open Cores. This is may be different in the educational community where open source is much more widely used, but in industry very few would be willing to give away what they spent zillions of man hours developing. Try going to to nVidia and asking for the source to their logic models of their video chips! Why would they want to give the competitors their design? I understand that a lot of open source is aimed to be portable across many systems. People tend to confuse HDL as 'software'. It is not a program like a 'C' program for a CPU. It is actually describing hardware and often has to use primitives that are only available on certain ASICs, FPGAs, etc. You rarely optimize for portability. When I need to get something running fast, you MUST optimize for the architecture of your medium to push clock speed, etc. The HDL you end up may not be very useful to someone using a different ASIC. Furthermore, many man-hours are spent in this process and most companies are not willing to do this for somebody else's benefit. One could make the argument that there should be a library for simple constructs that would be common to all FPGA, ASIC platforms. What you would end with is the equivalent of a C library that only adds to numbers. Not very useful for serious work. In the FPGA world, there are lots of places were you can buy working IP cores that are fully documented and supported. My boss isn't willing to spend 4 times the cost of working 3rd party IP to debug an open source version that isn't documented that well and has no support. The problem in this model is the same problem with the open source software community. While some of the products are nice, they are plagued with *lots* of useless projects/libraries that take a week to install, have poor documentation and no support. Why would I want to spend my time on that. Most forget that while open source stuff is free , it may take 4 times the time to use. This is only cheaper if your time doesn't cost a whole lot. All this being said, I really like the open cores site. I would use it for hobby/side projects. As for serious commercial projects, I place more trust in either my own or paid for IP that is tested and supported. -Eli g.wall wrote:> has anyone in the dig. design and reconfig. computing community looked > seriously at open source hardware design libraries, working toward a > hardware paradigm similar to that in the open source software community? > I am aware of the existence of opencores.org, but this seems like a > small first step, of which many more could be taken toward improving the > availability and ease of access and use of open source logic designs. > does anyone have any thoughts or knowledge or any thing to say about > an open source hardware paradigm? > > > thanks, > > Geoffrey Wall > Masters Student in Electrical/Computer Engineering > Florida State University, FAMU/FSU College of Engineering > wallge@eng.fsu.edu > Cell Phone: > 850.339.4157 > > ECE Machine Intelligence Lab > http://www.eng.fsu.edu/mil > MIL Office Phone: > 850.410.6145 > > Center for Applied Vision and Imaging Science > http://cavis.fsu.edu/ > CAVIS Office Phone: > 850.645.2257
Reply by ●November 10, 20052005-11-10
I'm using the GRLIB/LEON processor from Gaisler research (www.gaisler.com) which provides a fairly flexible/implementation independent set of VHDL libraries to implement a 32bit SPARC compliant processor. The project appears popular with the European Space Agency, and LEON based designs keep popping up all over... From satellite applications to network routing. The library is available under a dual license scheme where a GPLed version is released, but a commercial license is also available. This allows/encourages academic research/playing around (which I confess i'm doing), while also allowing developers to build their own (proprietary) applications on the LEON base. This model makes the whole project much more sustainable than other after-hours hobby type projects. But it can be tricky applying the GPL to an HDL project, because traditional concepts like source code and binary executables are transferred to a domain with source, several intermediate netlist formats, some of which can be regarded as source when you're wide awake... And distribution of embedded systems is the other ill defined part - most users don't care/know about the embedded configurable logic, and they are unlikely to expand on a very application specific design (as Eli stated above). And what happens when you start combining HDL code with presynthesised netlists? I think a modified (HDL) GPL would be required to accurately cover the issue, much as is done by the GNU Free Documentation License. In the meantime, if I have a nifty piece of HDL solving a problem, I'll probably post it somewhere, and hope someone else finds a use for it... johannes
Reply by ●November 10, 20052005-11-10
On a sunny day (Thu, 10 Nov 2005 11:24:08 -0500) it happened Eli Hughes <emh203@psu.edu> wrote in <dkvs78$s80$1@f04n12.cac.psu.edu>:>I seriously doubt you see anything much bigger that the snippets on Open >Cores. This is may be different in the educational community where open >source is much more widely used, but in industry very few would be >willing to give away what they spent zillions of man hours developing. > >One could make the argument that there should be a library for simple >constructs that would be common to all FPGA, ASIC platforms. What you >would end with is the equivalent of a C library that only adds to >numbers. Not very useful for serious work.Not completely correct, does not Altera has the 7400 TTL library? Is not opencores doing this exactly?>In the FPGA world, there are lots of places were you can buy working IP >cores that are fully documented and supported. My boss isn't willing to >spend 4 times the cost of working 3rd party IP to debug an open source >version that isn't documented that well and has no support.My experience with open source, as a WRITER of open source, is that bug are fixed and replies are within one or 2 days (by me). Some people take weeks to reply-- if at all. YMMV. Some send you a very complicated question you spend ages to figure out, you reply, and then never hear anything.... Some commercial companies have the same pattern, for example Xilinx representatives here. THESE behave almost like it is a favor that you can buy a FPGA. And on the other side of it, lots<<< of those 'commercial companies / IP' you seem to like so much, grab open source code and use it in their product WITHOUT mentioning or respecting GPL. I even found one website that sold my GPL program, hehe I announced a new feature, so did they, then I left it at the announcement :-) So they were stuck.. I could do that.. Bad for a commercial company, not sure they still are on the net. Kiss DVD players grabbed code from the mplayer project, some Chinese company actually ASKED me if they could use my code, I wanted to negotiate a price, then they were going to use it anyways, I referred to the GPL, and 'clean room' BIOS designs, they let somebody else do the coding..... in that company.. who did not use my source.. believe it? Its true, hard to argue. So, and I have seen this happen in places I worked, websearch 'grab those few lines of code'. Natural thing. At that time my boss had the decency to try to contact the guy and pay him something.>The problem in this model is the same problem with the open source >software community. While some of the products are nice, they are >plagued with *lots* of useless projects/libraries that take a week to >install, have poor documentation and no support.Ever try to install and run an official MS library? Most open source projects install without problems (on the right architecture). You mean you do not want to think AT ALL? ;-)> Why would I want to >spend my time on that. Most forget that while open source stuff is free >, it may take 4 times the time to use. This is only cheaper if your >time doesn't cost a whole lot.Not correct, it does not 4 times the time to use, makes no sense.>All this being said, I really like the open cores site. I would use it >for hobby/side projects. As for serious commercial projects, I place >more trust in either my own or paid for IP that is tested and supported.Sure, many times I wrote something because it was not there (in Linux). that is how the 50+ applications I released under GPL came about. If it EXISTED I would not have bothered writing it. Sure a HDL library would be nice, if a university has that, maintains that, then it will benefit everybody, save you money. But if released under GPL-1 the rest of your HDL will likely have to be under GPL too. So, I have heard they are working on GPL-3 now..... do not know details. Software patents should not exist. And yes I admit to keeping HDL secret to protect others copying the design. It is the last border, the last defense! (... capitalism - communism... but maybe we need a synthesis, look at China). But wait, somebody will invent the (startrek) replicator, and then what.
Reply by ●November 10, 20052005-11-10
> > Not completely correct, does not Altera has the 7400 TTL library? > Is not opencores doing this exactly?Yes, but having a TTL library is only useful for doing schematic in Altera's tools, not HDL. Evening thinking in TTL when you have an HDL is counter-productive!> My experience with open source, as a WRITER of open source, is that > bug are fixed and replies are within one or 2 days (by me). > Some people take weeks to reply-- if at all. YMMV. > Some send you a very complicated question you spend ages to figure out, > you reply, and then never hear anything.... > Some commercial companies have the same pattern, for example Xilinx > representatives here. > THESE behave almost like it is a favor that you can buy a FPGA. > And on the other side of it, lots<<< of those 'commercial companies / IP' > you seem to like so much, grab open source code and use it in their product > WITHOUT mentioning or respecting GPL. > I even found one website that sold my GPL program, hehe I announced a new > feature, so did they, then I left it at the announcement :-) So they were > stuck.. I could do that.. Bad for a commercial company, not sure > they still are on the net. > Kiss DVD players grabbed code from the mplayer project, some Chinese company > actually ASKED me if they could use my code, I wanted to negotiate a price, > then they were going to use it anyways, I referred to the GPL, and > 'clean room' BIOS designs, they let somebody else do the coding..... in that > company.. who did not use my source.. believe it? Its true, hard to argue. > So, and I have seen this happen in places I worked, websearch 'grab those > few lines of code'. > Natural thing. > At that time my boss had the decency to try to contact the guy and pay him > something.I would agree mostly with this. But, generally for any company that is worth a damn I have never had a problem with support.> Ever try to install and run an official MS library?Yes, double clikc on icon. Wait a bit. Start programming. My experience with PC/GUI stuff is very limited though. I like to live in the hardware/micrcontroller world where I have control. I do not wish to be encumbered by an operating system which will only get in my way!> Most open source projects install without problems (on the right > architecture). > You mean you do not want to think AT ALL? > ;-)Not when it comes to installing and using something. My job is to make a product work, not chasing down 200 dependecies. :-) You are right though. This has improved. I prefer not to think. I like to "be still like broccolli".> > >>Why would I want to >>spend my time on that. Most forget that while open source stuff is free >>, it may take 4 times the time to use. This is only cheaper if your >>time doesn't cost a whole lot. > > Not correct, it does not 4 times the time to use, makes no sense. >I should have said: "4x the time to get the same useful result". This isn't always true, but when I pay for something I am paying for documentation. When I have to reverse engineer something to get it to work right I am wasting my time. And when the docs are skimpy, I get angry. This is not true of all open-source software (I love the PHP project, I use php for my web scripts!) but most open source projects are not that organized.> > >>All this being said, I really like the open cores site. I would use it >>for hobby/side projects. As for serious commercial projects, I place >>more trust in either my own or paid for IP that is tested and supported. > > > Sure, many times I wrote something because it was not there (in Linux). > that is how the 50+ applications I released under GPL came about. > If it EXISTED I would not have bothered writing it. > > Sure a HDL library would be nice, if a university has that, maintains > that, then it will benefit everybody, save you money. > But if released under GPL-1 the rest of your HDL will likely have to be > under GPL too. > So, I have heard they are working on GPL-3 now..... do not know details. > Software patents should not exist. > And yes I admit to keeping HDL secret to protect others copying the design. > It is the last border, the last defense! > (... capitalism - communism... but maybe we need a synthesis, look at China). > > But wait, somebody will invent the (startrek) replicator, and then what. > >Boy, I wish the replicator existed! Then I could go home. :-) -ELi
Reply by ●November 10, 20052005-11-10
g.wall wrote:> has anyone in the dig. design and reconfig. computing community looked > seriously at open source hardware design libraries, working toward a > hardware paradigm similar to that in the open source software community? > I am aware of the existence of opencores.org, but this seems like a > small first step, of which many more could be taken toward improving the > availability and ease of access and use of open source logic designs. > does anyone have any thoughts or knowledge or any thing to say about > an open source hardware paradigm?One of the reasons behind starting the FpgaC project on sourceforge was to head in that direction, especially in terms of reconfigurable computing at a hobby level, and small business level as the normal commercial tools are way out of sight, and everybody has a proprietary IP mindset. For pure digital design, it's frequently pretty difficult to extract meaningful reusable IP, as many cores have such complex interfaces that it's common to have difficulty in fitting them into a completely difference architecture. For reconfigurable computing, there is a lot of common library code that becomes usable with C based varients, particulary in terms of dynamic reconfiguration, interprocess (hardware threads) communication, and even high level device interfaces (drivers) that can be much more easily reused in various SoC and reconfigurable projects. Even basic OS services for reconfigurable computing are in dire need at this point. And compilers and loader tools that can handle dynamic partitioning and loadable segments. Doing this with ISE and mainstream tools is painful at best. John
Reply by ●November 10, 20052005-11-10
g.wall wrote:> has anyone in the dig. design and reconfig. computing community looked > seriously at open source hardware design libraries, working toward a > hardware paradigm similar to that in the open source software community?Problem 1. There are ten times as many software designers as digital hardware designers. The average software guy is much better at setting up repositories, web sites and running regression tests than the average hardware guy. The average hardware guy knows enough HDL to get get by and maybe enough C language to turn on a circuit board. Standard software development processes like source control and code reuse are much less evolved in the hardware area. Problem 2. The average software designer couldn't describe two gates and flip flop in vhdl or verilog. -- Mike Treseler
Reply by ●November 10, 20052005-11-10
>Problem 2. > The average software designer couldn't describe > two gates and flip flop in vhdl or verilog.does that even matter for "reconfig. computing"?
Reply by ●November 10, 20052005-11-10
Should have noted that the FpgaC project is still looking for additional developers, and the long term results of this project are still very open to change. It would be great to be able to build a comprehensive set of library that allow typical MPI and posix-threaded applications to build and dynamically load/run on multiple FPGA platforms. And to mature the compiler to handle a full traditional C syntax transparently. I personally would like to see it handle distributed arithmetic transparently, so that it handles the data pipelining of high performance applications well using data flow like strategies. But that is open to the team as a whole, with inputs from the user community.
Reply by ●November 10, 20052005-11-10






