14 Replies Latest reply on Mar 15, 2019 3:55 PM by jamesgriffin

    Is it worth it to kickstart an open-source FPGA IC project?

    manili

      Hello all,

       

      We know that FPGA itself is a kind of ASIC, i.e. some companies build ICs which have the capability to be reprogramed. We have open-source CPUs, GPUs, Bus Controllers and so many different types of IP cores in the community. Why there is not any sort of open-source FPGA ICs out there, is it because of it's complexity to design or is it even not worth it?

      I just saw a project here which was about creating our own EDAs for FPGAs but the project suffered from lack of informations about the FPGA internals so the creator (@johnbeetem) did some reversed engineering, as far as I understood. I asked this question in a Quora comment and Kyle's answer helped me a lot but I need more info, please.

       

      Cheers,

      Mohammad

        • Re: Is it worth it to kickstart an open-source FPGA IC project?
          genebren

          There is no benefit to manufacturers like Xilinx and others to give away their development on these device to others, i.e. to have open source designs.  FPGAs are very complex devices to design, but their value to engineers is that they can be used to create almost anything.  Most of what was discussed on this site were the creation of tools (EDA) to work with existing FPGA parts.  The currently available tools can be either free or available for purchase (pricey).  They are also quite complex and require a lot of resources.  I think a lot of people are looking for low development boards, with easy to use (and understand) tools sets.

          Gene

          7 of 7 people found this helpful
          • Re: Is it worth it to kickstart an open-source FPGA IC project?
            DAB

            I agree with Gene, the utility of FPGA devices fall into a subset of engineering solutions.

            In most cases, you can do the job using an off the shelf MCU, so why go to the complexity of an FPGA unless you have an application with a lot of sales potential.

             

            For most makers, there is just no return on the investment.

             

            DAB

            2 of 2 people found this helpful
            • Re: Is it worth it to kickstart an open-source FPGA IC project?
              John Beetem

              Thank you for the reference to my Project IceStorm discussion.  I want to clarify that I'm only a user and proponent of IceStorm.  The reverse engineering was done by Clifford Wolf and Mathias Lasser.

               

              I have done some modest reverse-engineering of Xilinx Spartan-3E and Spartan-6.

               

              I answer to your original question, there's no point in doing an open-source FPGA IC because you'd have to sell millions of parts to compete with Xilinx, Altera (now part of Intel), and Lattice.  However, there are plenty of good reasons to make open-source FPGA design software such as IceStorm and my own XXICC.  There are some good discussions in the FPGA Group about this, including Barriers to designing with FPGAs? and Role for FPGA or CPLD with Raspberry Pi.

              8 of 8 people found this helpful
              • Re: Is it worth it to kickstart an open-source FPGA IC project?
                manili

                Thanks a lot for your replies.

                Still I have 5 points to defend myself:

                 

                1. johnbeetem said "you'd have to sell millions of parts to compete ...", but I think this is not what we want from the open-source ecosystem. For example think about Linux OS very first dates, does Linus Torvalds really wanted to replace his OS with every single Unix versions to obtain much more market shares?

                 

                2. In this link michaelkellett said "John B (who will probably chip in himself) thinks that if the Silicon companies would open up a bit and allow third parties including open source people ready access to the necessary info then open source tools could emerge that would change the game. So far no one has done that.", so I think with an open-source FPGA IC we can make very good open-source and free softwares based on it. Thus I think if developing softwares like IceStorm and XXICC have their own benefits, developing free ICs have the same benefits too.

                 

                3. Companies could use this open-source IC to make their own FPGAs and add their own hard cores to the chip (as an example you can see this paper).

                 

                4. Who knows maybe some people could add a new value to this project which makes other companies (Xilinx, Altera, etc.) use that feature in their next products (just like what is happening now in linux ecosystem).

                 

                5. I think the total cost of such product (after manufacturing) is much less than its counterparts. However I'm not sure.

                 

                Cheers,

                Mohammad

                 

                P.S. Please bear with me, I'm asking such questions to learn much more.

                  • Re: Is it worth it to kickstart an open-source FPGA IC project?
                    John Beetem

                    manili  wrote:

                     

                    Thanks a lot for your replies.

                    Still I have 5 points to defend myself:

                     

                    1. johnbeetem said "you'd have to sell millions of parts to compete ...", but I think this is not what we want from the open-source ecosystem. For example think about Linux OS very first dates, does Linus Torvalds really wanted to replace his OS with every single Unix versions to obtain much more market shares?

                     

                    2. In this link michaelkellett said "John B (who will probably chip in himself) thinks that if the Silicon companies would open up a bit and allow third parties including open source people ready access to the necessary info then open source tools could emerge that would change the game. So far no one has done that.", so I think with an open-source FPGA IC we can make very good open-source and free softwares based on it. Thus I think if developing softwares like IceStorm and XXICC have their own benefits, developing free ICs have the same benefits too.

                     

                    3. Companies could use this open-source IC to make their own FPGAs and add their own hard cores to the chip (as an example you can see this paper).

                     

                    4. Who knows maybe some people could add a new value to this project which makes other companies (Xilinx, Altera, etc.) use that feature in their next products (just like what is happening now in linux ecosystem).

                     

                    5. I think the total cost of such product (after manufacturing) is much less than its counterparts. However I'm not sure.

                     

                    Cheers,

                    Mohammad

                     

                    P.S. Please bear with me, I'm asking such questions to learn much more.

                    Good comments.

                     

                    There's a big difference in the amount of fund-raising you need for software versus PC-board-level hardware versus a custom IC.  If you're Linus Torvalds (or me with XXICC), you can do everything by investing your own time to write software and documentation.  There's no out-of-pocket expense other than a PC.  If you go with a cheap PC with limited computing power and limited memory you will produce a much better product than if you have an expensive ultra-fast machine with oodles of memory, which will encourage you to write sloppy code.  With software, if you make a mistake, you just produce a new release.  The only cost is your own time.

                     

                    If you want to prototype PC-board hardware, either microprocessor-based or FPGA-based, you get an inexpensive development board and maybe add on a custom PC board for additional parts.  If the add-on board avoids fine-pitch ICs, you can assemble it yourself with ordinary soldering tools.  Small custom boards with only a few layers are inexpensive.  In some cases you can get away with wire-wrap.  If you make a mistake, you may be able to fix it with re-work, or you fabricate a new PC board.  In any case, if the fine-pitch parts and BGAs are all on the dev board then you don't have to deal with them.  There is some out-of-pocket expense, but not unreasonable for a prototype.

                     

                    If you want to make a custom IC, be prepared to spend USD50K to USD1M depending on the complexity of the IC.  That's for the first IC, the follow-on chips are inexpensive if you make them in quantity of at least 1K (10K is better).  If you make a mistake, be prepared to spend that USD50K to USD1M all over again.  The cost is primarily making the masks, which are expensive for a prototype but cheap when shared over millions of ICs.  In the early days of VLSI there was something called MOSIS that made relatively inexpensive IC prototypes possible by producing wafers with many individual projects so they could share the mask-making cost.  I think MOSIS still exists, but I don't know how much those things cost nowadays.

                     

                    In contrast, I've been told that reverse-engineering an FPGA bit stream isn't that hard: it's something that takes a smart graduate student about 1 year of concentrated effort.  (How concentrated?  Do you like to do 16x16 Sudoku puzzles? Then you're a good candidate.)  The problem is legal.  IANAL, but my understanding is that if you try to do this and publish the results in the USA the FPGA vendor is likely to go after you with a cease-and-desist order.  You can do it in the European Union because their laws permit you reverse-engineering for the purpose of interoperability.  IceStorm's creators are in Austria, and there has been excellent Xilinx reverse-engineering in France and Germany.

                     

                    So, instead of designing a whole new FPGA it's much cheaper to hire an EU graduate student for a year to reverse-engineer an existing FPGA family from Xilinx, Altera, or Lattice.  Then you can buy cheap off-the-shelf chips, program them with your software, and "Bob's your uncle".

                     

                    JMO/YMMV/IANAL

                    6 of 6 people found this helpful
                      • Re: Is it worth it to kickstart an open-source FPGA IC project?
                        manili

                        Thank you very much for the reply. Helped me a lot and now I can admit I defeated .

                        I like to know more about FPGA reverse-engineering... Where should I start that?

                         

                        P.S. I don't know if this community is a good place to ask/share ideas. Please accept my apologize if I did something wrong.

                          • Re: Is it worth it to kickstart an open-source FPGA IC project?
                            rachaelp

                            manili  wrote:

                             

                            P.S. I don't know if this community is a good place to ask/share ideas. Please accept my apologize if I did something wrong.

                             

                            No need to apologize, this community is a perfect place to ask/share ideas! There are lots of people hang out here and there is a vast range of experience and perspectives available and we all love a good discussion about interesting technical topics!

                             

                            Best Regards,

                             

                            Rachael

                            3 of 3 people found this helpful
                            • Re: Is it worth it to kickstart an open-source FPGA IC project?
                              John Beetem

                              manili  wrote:

                               

                              Thank you very much for the reply. Helped me a lot and now I can admit I defeated .

                              I like to know more about FPGA reverse-engineering... Where should I start that?

                              Great topic.  Here are some links that may be helpful.

                               

                              One of the best articles I've seen is "From the Bitstream to the Netlist" by Jean-Baptist Note and Éric Rannaud.  It led me to Xilinx's XDL files.

                               

                              I've done some modest reverse-engineering of Xilinx Spartan-3 and Spartan-6 for my Flavia project.  The most recent version of Flavia is described in The XXICC Anthology.  I describe Flavia's reverse-engineering technique in Taming the Wild Bitstream.

                               

                              Clifford Wolff has a short description of how to do FPGA reverse-engineering at Reddit: scroll down half way.  His technique (as well as all others I've seen) is to figure out intermediate data files produced by the vendor's tools, like Xilinx's XDL.  These are often not documented or poorly documented, but if you've looked at enough net lists you know where to start.  Then you make small changes to a design and see how this affects the intermediate data files.  The reverse-engineering community is small and there's no money in it unless you do something illegal (e.g., reverse-engineering a customer's design to copy a product.)  So we try to help each other.  Documenting an FPGA vendor's bitstream so one can write better tools seems perfectly legit to all of us, and we're helping the FPGA vendor by addressing needs that they're neglecting.

                               

                              Today I found this new item at Reddit.  I haven't watched it but it looks interesting.

                               

                              Edit: I read the comments for the last item.  Sounds like they've reverse-engineered Xilinx series 7.  That is quite wonderful.

                              6 of 6 people found this helpful
                            • Re: Is it worth it to kickstart an open-source FPGA IC project?
                              jamesgriffin

                              I fully agree with you on this issue. For a student, this may take about 1 year of work. After all, this is a very difficult topic. I was working on a similar theme, I thought on the title. But in the end I found a formed topic on the site page with topics with business research proposal topics, because there are the best topics for all academic disciplines. You can find topics for essays, dissertations and other topics.

                          • Re: Is it worth it to kickstart an open-source FPGA IC project?
                            manili

                            Hello guys,

                             

                            Today I just saw a mind-blowing product from "Achronix" called eFPGA. AFAIU this is simply the IP core of an FPGA which could be buy by a company to integrate to its products (ASIC or SoC). I think this could be an application of an open-source FPGA. however I admit that designing/verifying such IP core is very expensive, but it could be very useful for startups and little companies. Do you agree?

                            3 of 3 people found this helpful
                              • Re: Is it worth it to kickstart an open-source FPGA IC project?
                                michaelkellett

                                The Achronix parts are HUGE - and aim to compete at the high end - they have been in business for 10 years and have just about started to make a profit (do some web hunting if you want see how much it has cost investors to get there).. The Achronix IP offering is for companies with deep pockets - 16nm Finfet process - probably $50M minimum to make a chip. This stuff is way outside the range of open source and little companies.

                                 

                                There are plenty of parts out there - what is it you want from an FPGA that you can't buy now ?

                                 

                                MK

                                3 of 3 people found this helpful
                                  • Re: Is it worth it to kickstart an open-source FPGA IC project?
                                    manili

                                    Of course I'm not going to kickstart such project myself. Surly I do not have such ability even in theories!!! I'm just wondering to know if such project has its own benefits?

                                    As I watched the company's ads, it looks like Achronix is going to target startups for its new product, because the company claims that the product is 10x cheaper than real FPGA packages. However I did not find anything about the product's price yet.

                                     

                                    BTW thanks a lot for the reply.

                                  • Re: Is it worth it to kickstart an open-source FPGA IC project?
                                    rachaelp

                                    I hadn't come across Achronix recently, I've been away from the FPGA world for too long clearly.... but.... Wow, those Speedster22i FPGA's are seriously impressive looking parts! So to me it looks like the eFPGA is essentially the basic Speedster22i FPGA fabric as an IP core which you can then incorporate into your own custom ASIC with your own mix of hard IP cores. So, yes it'll bring down the cost of developing an FPGA from scratch, but I think michaelkellett is right, it's going to be extremely costly still so not in range of the Open Source community (without backing of a large corporation willing to fund OSHW development) or small startups (without the backing of venture capitalists with deep pockets).

                                     

                                    I need to do some more research on who Achronix are and what they offer though, they look very interesting. Thanks for bringing these parts to my attention!

                                     

                                    Best Regards,

                                     

                                    Rachael

                                    1 of 1 people found this helpful