Talk:Field-programmable gate array

From Wikipedia, the free encyclopedia

This is the talk page for discussing improvements to the Field-programmable gate array article.

Article policies
WikiProject on Electronics This article is part of WikiProject Electronics, an attempt to provide a standard approach to writing articles about electronics on Wikipedia. If you would like to participate, you can choose to edit the article attached to this page, or visit the project page, where you can join the project and see a list of open tasks.
??? This article has not yet received a rating on the quality scale.
??? This article has not yet received a rating on the importance scale.

Contents

[edit] Old / Random Notes

And why is there no discussion of the inherent emulator problems? (such as sequential software vs. parallel hardware) The preceding unsigned comment was added by 66.194.87.250 (talk • contribs) on 21:05, 2 February 2006.

If the figures were made in xfig they can be improved by exporting to image format at 200% or more. Then scale image down if needed in gimp. The preceding unsigned comment was added by Rtdrury (talk • contribs) on 08:33, 23 October 2005.


Curious why Agere/Lucent was deleted - Williamv1138 14:39, Aug 8, 2003 (UTC)

  • Their FPGA division was acquired by Lattice Semi, in 2001 I think. Cheese Sandwich 02:09, 17 August 2005 (UTC)

There's also FPGA (Flip Pin Grid Array), a type of CPU design. -- Tarquin 14:42, 8 Aug 2003 (UTC)

Well, a kind of packaging techonlogy, anyway. -- Anon. The preceding unsigned comment was added by 217.158.229.59 (talk • contribs) on 14:48, 8 August 2003.

This article appears very xilinx-biased in terms of covering a fairly narrow range of FPGA devices, which have many different layouts from what I can tell (ie not all exactly as described). Might be nice to make it more general, or sprinkle a few "In one particular implementation..." type comments around. Mat-C 03:43, 21 Jun 2005 (UTC)

Part of this article reads like a programming manual: "Since the clock is normally routed via a special-purpose dedicated routing network in commercial FPGAs, do NOT route it or include it in your track count results. That is, you can completely ignore the clock net, since it is assumed to be routed on a special global network." I should be excused for thinking some indiscriminate copying has been done here. Radioflux 15:32, 21 September 2005 (UTC)

Would a section on the different design methodologies for fpga vs asic be welcome - e.g. extra use of registering (for speed) designing to available resources, tricks to fit functions into memories etc? Or is this too much detail/not appropriate to wikipedia? It also occured to me that the concepts of embedded vs distributed memory have been skipped over in this article, is something like this needed. How about contrasting the architecture of fpgas to cplds? . -- Rufty 16:57, 19 Aug 2005 (UTC)

I have made some substantial edits/additions to this page related to FPGA history, software tools and related device technologies. Probably more is needed related to design tools, and perhaps more complete links to external resources. I also agree that some of the architecture discussion is Xilinx-specific, but I didn't touch that part. Rudderpost 16:40, 4 November 2005 (UTC)

[edit] Typical Clock speeds

Nowhere does the article mention typical clock speeds for FPGA's - unless I missed it - could someone who is knowledgable add it please? --Wierdy1024 19:49, 4 June 2006 (UTC)

I think that's because the ranges are so large and it depends on the algorithm that is programmed in it. For example, a current generation core can likely exceed 200 MHz. However, that would be an extremely pipelined design, because there is always a tradeoff of space vs. speed - if you do more work in a single clock, it takes you longer, but if you do less work then you need to store more intermediate results. A much more complicated design may only hit 50 MHz in the same part. For I/O, both A and X have high speed I/O serdes that can exceed 10 Gbps, but internally the signal would be 64 bits wide (and therefore only 155 Mbps). -- RevRagnarok Talk Contrib Reverts 20:25, 4 June 2006 (UTC)

[edit] commercial links

This article is thick with commercial links. It seems like the "Some FPGA third-party tool suppliers with descriptions" and "Some FPGA manufacturers and their specialties" should be deleted altogether. -- Mikeblas 03:19, 6 July 2006 (UTC)

There are few enough manufacturers in the industry that I don't really see this being a problem. Your mileage may vary. I agree that the third-party tool vendor list is a bit long. --Christopher Thomas 03:34, 6 July 2006 (UTC)
I agree. As for tool vendors, the two biggest are the two biggest manufacturers, A and X. After that, as far as I know, are ModelSIM and Synplify. I was shocked to see Annapolis Micro in there, I dealth with them years ago, but I am <20 mi from them. -- RevRagnarok Talk Contrib Reverts 10:23, 6 July 2006 (UTC)
So now that 'nearly' every external link has been deleted, shall we have a discussion of what to have? Since there are so few FPGA manufacturers, my opinion is that we should definitely include those. Mrand 14:30, 26 November 2006 (UTC)
Not as list of external links, but as list with internal links to their articles. (Notability criterion: If they're not notable enough to have their own article, they're even less notable to get a link in this one.) WP articles are not an online business directory. Femto 15:34, 26 November 2006 (UTC)

[edit] "Combinational" vs. "Combinatorial"

I noticed somebody changed "combinational" to "combinatorial" - actually "combinational" is a perfectly acceptable term, and is used in the Altera Quartus II software. --Cheese Sandwich 12:24, 17 July 2006 (UTC)

I've never used or heard combinational until this discussion... only combinatorial. But when I google combinatorial combinational fpga, it appears that they are used almost interchangably. Mrand 13:06, 17 July 2006 (UTC)
Combinatorial is the term that I have used and have heard for about a decade now, so that's why I changed it back (and for some reason had been logged out). It's always been combinatorial vs. synchronous processes in VHDL that are being discussed among the engineers. The linked article's talk about "Enumerative combinatorics" seems to back it up - the synthesizer needs to compute every possible outcome from all possible inputs and then try to create a gate/CLB/slice/whatever combination equivalent. Now that I think about it, we may even want to make the word a link with an anchor to 'enumerative combinatorics.' — RevRagnarok Talk Contrib Reverts 13:07, 17 July 2006 (UTC)
The math term is "combinatorial". In digital design, the term is "combinational". Please refer to Carver_Mead and Lynn Conway's book which ushered in the VLSI era, Introduction to VLSI Systems. Also, Wikipedia redirects "combinatorial logic" to "combinational logic" rather than vice versa, so that's probably the right place to have this debate... until then the FPGA article ought to follow that convention. Megacz 19:32, 17 July 2006 (UTC)
Discussed among engineers on what continent? It's "combinational" in every reference I've encountered in North America. If Europe uses different conventions, that should probably be noted in the combinational logic article. --Christopher Thomas 23:37, 17 July 2006 (UTC)
The wonderful People's Republik of Merlin'. Maybe it's a VHDL vs Verilog terminology thing. ;) I even mentioned this article today at work and the 3 engineers I talked to all said "WTF? Of course it's combinatorial!" We are all contractors in gov't work (hence the VHDL). — RevRagnarok Talk Contrib Reverts 02:50, 18 July 2006 (UTC)
Maybe as a compromise we could write "combinational (combinatorial)" instead of "combinational", since both terms are used. --Cheese Sandwich 03:03, 18 July 2006 (UTC)
I'm with the three engineers who said "WTF?" With almost 30 years of experience in the business, I've always heard and said "conbinatorial". And I'm in North America. - Atlant 12:36, 18 July 2006 (UTC)
University of Toronto, ECE 1999+PEY. You have seniority on me, but I still count myself as qualified to comment. I've never heard "combinatorial" used for this context before seeing this talk page. Checking http://ieeexplore.ieee.org for published uses, "combinatorial logic" gets 58 citations, and "combinational logic" gets over 100 citations (list is limited to the first 100 hits). This suggests that while both are used by IEEE members, "combinational" is the more common term. --Christopher Thomas 18:22, 18 July 2006 (UTC)
More importantly, one of the major FPGA vendors' software uses "combinational" (in fact, they deliberately switched from "combinatorial" to "combinational" at one point). --Cheese Sandwich 18:27, 18 July 2006 (UTC)


[edit] Regarding switchboxes

I've read on the comp.arch.fpga newsgroup that there actually are no switchboxes in (at least) modern Xilinx devices. My feeling is that this has been true for quite some time but I don't have any good source on that though. See for example this posting on comp.arch.fpga: [1] --Ehliar 13:00, 12 January 2007 (UTC)

As far as I am concerned, routing resources are "magic." I think 'switch box' is just a way to explain the concepts of what is happening inside, not actually describing the physical layout. — RevRagnarok Talk Contrib 13:22, 12 January 2007 (UTC)
I don't really object to the description of the switch box as an explanation of the concept of routing. My main objection is that it sounds like almost all FPGAs function like that. "Generally, the FPGA routing is unsegmented." http://direct.xilinx.com/bvdocs/publications/ds031.pdf (page 41 in the PDF file) describes the routing resources in a Virtex-2. In that architecture it is very common with routing resources that terminate a couple of CLBs away from the sender. (And the same is true for all other Xilinx devices that I've used.) Perhaps the page should make it clear that it describes a conceptual view and not how it really looks like. --Ehliar 15:18, 12 January 2007 (UTC)
If you want to get picky, just write a section about Manhattan vs. Island style; however, this ruins the conceptual view approach as there are so many approaches. Xilinx, for example, varies between series how the routing is implimented. The complete article could be redone to discuss architecture from a circuit level approach for Xilinx-vs-Altera, etc; however, that's not really the point. There's 10-years of VPR papers discussion routing, and research papers publised by vendors which you'd have to include if you wanted to cover the subject in its entirity. I've found this article adquate to get students started. --Degs 18 January 2007

[edit] "Not a link farm"

User:Michagal is asking about my deletion of many of the external links. My understanding of Wikipedia:External_links is that there should be a compelling reason to have external links, and those external links should be about that topic. Making it "easy" (as in one-click easy) for someone to find a related product doesn't strike me as a really a compelling reason. Each item is very easy to find via a search engine or on the vendors site, so I don't see the products being difficult to find as being a reason. And we aren't talking about links to articles about FPGA's or even to FPGA manufacturers, but to an incomplete list of vendors who sell software tools. Lastly, whenever there are external links, someone has to maintain that list of links for when they change or end up pointing to old versions. Wikipedia strongly prefers internal links. I'm open to other perspectives though... let's hear them! Mrand 16:28, 9 May 2007 (UTC)

I think you're right on the money Mrand. I agree that a (incomplete) list of vendors who sell software tools for this entry is a poor decision. There are some entries that exist in the EDA-industry section of Wikipedia that are essentially lists (with external links) of companies which makes me cringe each time I look at them. Why? Because these entries, to me, don't qualify as Wikipedia entries - they're borderline directory lists. That being said, there are plenty of directories out there that already list EDA companies & tools. --Christian B 17:54, 9 May 2007 (UTC)
I looked at how some other articles handle product links. PowerPC has external links to companies' web sites, with a list of products following each company name. However, those product names are internal links or are not links at all. Pentium and its friends list no compatible processors, instead including a link to Pentium compatible processor, which has only internal links. C (programming language) has few product links, and those few have Wikipedia articles. There are no external product links in Microprocessor: only general microprocessor information or product-specific historical documents. The article has internal links to many processor architectures. KerryVeenstra 18:06, 9 May 2007 (UTC)
I agree. It was a link farm and Mrand did the correct thing by deleting all those external links. Wikipedia is WP:NOT a web directory. (Requestion 19:38, 9 May 2007 (UTC))

[edit] Remarkable similarity

I had a look at this web page: http://www.eecg.toronto.edu/~vaughn/challenge/fpga_arch.html and I feel the similarities to the Wikipedia article is a bit on the high side, and that includes the illustrations too. I am not one to slap on a copyright violation notice but I'd like to have the issue discussed before levelling what could be a serious allegation.

Equally significant is that the article linked to is far more readable and informative than this Wikipedia article which reads like a painful example of over-editing. --21:43, 28 July 2007 (UTC)The previous unsigned comment was added by User talk:85.164.176.78.

ACK! You're right. I've emailed the owner of that web page asking for feedback and/or permission (at least for the images). —Mrand T-C 23:00, 28 July 2007 (UTC)
As the original author is likely to peruse this disaster you might preemptively want to ask him for permission to use more than pictures alone, like for instance his text. --21:38, 29 July 2007 (UTC)

[edit] Microblaze source code: license vs. NDA

User:Megacz changed the statement about Microblaze source code requiring a license to state that it requires an NDA, and claimed that this was clearer. In fact, the license is more broad than an NDA, and the license terms include requirements that would not typically be found in an NDA. It is not clear to me that this level of detail is even appropriate for a genarl article on FPGAs. --Brouhaha 18:55, 21 September 2007 (UTC)

The column is labeled "open source". A non-disclosure agreement is not "open source". Some licenses are "open source". If the column is going to be labeled "open source", then the contents of the cell must be more specific than merely "license". If you like, we could use "non open-source license" instead. Or we could change the column title. Megacz 17:09, 22 September 2007 (UTC)

[edit] FPGA Inventor...

Editors on Wikipedia can not be the judge and jury of who invented what, especially when there might be a possible dispute or conflict of interest. Even if we could manage to nuance the inventor of a small part of a large design by reading complex patents, we aren't allowed to - that would be called original research. Xilinx has always claimed, and continues to clearly claim, that they invented the FPGA. If that were not true, I would suspect someone would have "corrected" them within the past 20 years. Additionally, I can find no other such claims by anyone else. If some can be found, we would be happy to integrate them into the article. Have fun! —Mrand TalkC 17:58, 2 June 2008 (UTC)

It would certainly be useful to point out that Freeman references earlier patents on programmable logic, and that the term "field programmable logic array" was even used in a patent title that issued as early as 1983. That does not give us the right to annoint anyone as "the inventor." For Ross Freeman, we should say he is "considered to be the inventor", or be specific about who says he's the inventor, or of exactly what kind of FPGA he invented. Probably we can do this by pointing out that before Freeman's approach, the devices were simpler, in the category now called CPLD, even though they were literally PLAs that had been made field-programmable. The current text hints at the distinction, but is not clear enough. Dicklyon (talk) 19:24, 2 June 2008 (UTC)
Certainly no opposition to any of this from me. —Mrand TalkC 20:54, 2 June 2008 (UTC)
I agree that Wikipedia cannot be the judge and jury but neither should Xilinx marketing. The legal method in the US for proof of invention is the patent. Patents establish lineage of concepts and ownership of inventor ship. The phrase FPGA, as the Wiki says, is a field programmable logic device:

"A field-programmable gate array is a semiconductor device containing programmable logic components called "logic blocks", and programmable interconnects."

The basic structure of this is clearly defined in the Page et al patents:

http://www.google.com/patents?id=1-gzAAAAEBAJ&dq=4524430

http://www.google.com/patents?id=BB4vAAAAEBAJ&dq=4508977

where the logic blocks are simply and/or gates connected by a re programmable interconnect matrix. Freeman recognized this in his first FPGA patent:

http://www.google.com/patents?id=J3M3AAAAEBAJ&dq=4870302

where he referenced both Page et al patents. Now here is the really interesting thing. An 'gate' in the 80's referred to a CMOS gate used to build logic. The term FPGA really fits the Page et al patent more closely than Freeman's because the logic nodes were described in logic gates. The Freeman patent uses a more combinatorial logic block at the interconnection node attached in the same gated manner as the Page et al. Ultimately both are based on the same concept and the Freeman design uses the same switched gates at the nodes.

So when we speak of who invented the FPGA what is the better reference? Xilinx marketing information or the USPTO? Legally its the USPTO and the date they establish is 1983 or five years before Freeman. —Preceding unsigned comment added by 63.148.72.66 (talk) 14:04, 3 June 2008 (UTC)

Unfortunately, I believe the above falls under WP:No original research. We need to find an article in a journal or magazine as a Reliable (published) source claiming that Peterson or Page invented the FPGA. Despite my efforts, I have not been able to find any.—Mrand TalkC 23:13, 9 June 2008 (UTC)
Mrand- I find that as an odd interpretation of "unpublished facts, arguments, speculation, and ideas; and any unpublished analysis or synthesis of published material". The claims above are published by the US government trough the USPTO. It is a published fact and not speculation what more do you need? The links are there, it is published in the only LEGAL record of invention used by the US government. Do you dispute the USPTO?
63.148.72.66 (talk) 18:04, 11 June 2008 (UTC)
Anything that the USPTO says or that the patent says is fair game to include. But saying who invented something seldom falls into that category. It's OK to point out earlier patents on devices called FPGA or similar, but not so OK to say who invented something, unless you find a source by someone who made such a finding. Dicklyon (talk) 20:35, 11 June 2008 (UTC)
Exactly. I believe that taking the definition of an FPGA and interpreting the contents of patents based upon that definition to conclude that Peterson and/or Page invented the FPGA is a synthesis of published material (which we aren't allowed to do). We have to find that conclusion published somewhere. —Mrand TalkC 21:10, 11 June 2008 (UTC)