FPGAs vs. ASICs: Cost, Performance, and Scalability
A central theme is the trade-off between FPGAs and ASICs, especially in terms of cost, performance, and scalability. "avidiax" kicks this off stating FPGAs "are a product that is too expensive at scale. If an application takes off, it is eventually cheaper and more performant to switch to ASICs".
"maxdamantus" reinforces this: "Basically, at scale an ASIC will always win out over an FPGA, unless your application is basically 'give the user an FPGA'". He argues this is due to ASICs having smaller physical size, less resistance and thus better efficiency.
However, others point out that ASICs aren't always the better choice. "esseph" notes that "ASICs require scale that doesn't always make sense. Many things using FPGAs aren't necessarily mass-market / consumer devices."
"kev009" mentions the cost of failure with ASICs noting "...the costs of associated failures, FPGAs can certainly be cost neutral at scale, especially accounting for risk and reputational damage, into production lines."
"stephen_g" offers a real world viewpoint by adding that "if there was a problem in part of the ASIC, or if you needed new features that were outside the original scope, the time and cost to respin was massive over fixing problems or implementing new standards in the FPGA bitstream!"
The Role of Open Source in FPGA Development
A strong sentiment revolves around the potential for open-source tools to improve FPGA development. "inamberclad" argues "The problem is that the tools are still weak. The languages are difficult to use, nobody has made something more widely adopted than Verilog or VHDL. In addition, the IDEs are proprietary and the tools are fragile and not reproduceable." He highlights the success of open-source tools for Lattice FPGAs, adding, "I would love to see the open source world come to the rescue here."
"zxexz" supports this idea, noting the impact of Lattice's open-source situation: "Iโm sure the Lattice open source situation is driving sales in a more than substantial way. Iโve definitely spent >2k in the past five years on lattice boards and chips... I honestly feel that if Lattice embraced open source further, they could be a leading player in the space."
The Difficulty and Complexity of FPGA Development
Several users highlight the challenges inherent in FPGA development. "inamberclad" points out that "Synthesis results can vary from run to run on the exact same code with the same parameters, with real world impacts on performance."
"15155" emphasizes the design effort required: "Someone has to design each of those reconfigurable digital circuits and take them through an implementation flow... Only certain problems map well to easy FPGA implementation: anything involving memory access is quite tedious."
"fake-name" explains the unpredictability of synthesis: "This is because some of the challenges for the synthesis/routing process are effectively NP-hard. Instead, the compiler uses heuristics and a random process to try to find a valid solution that meets the timing constraints, rather then the best possible solution."
AI and LLMs for FPGA Design
There's speculation and debate about using AI, particularly LLMs, to aid in FPGA design. "checker659" speculates that "I think FPGAs (or CGRAs really) will make a comeback once LLMs can directly generate FPGA bitstreams."
However, this idea is met with skepticism. "duskwuff" questions the feasibility of using LLMs for FPGA bitstream generation, arguing that it's "a problem which doesn't involve language."
"15155" agrees noting they "are 'okay' at generating RTL, but are likely never going to be able to generate actual bitstreams without some classical implementation flow in there."
"buildbot" offers a more optimistic, but still cautious, counterpoint: "I think in theory, given terabytes of bitstreams, you might be able to get an LLM to output valid designs... Given the right type of positional encoding I think you could maybe get simple designs working at a small scale."
"throwawayabcdef" notes a success story using ChatGPT: "No need. I gave ChatGPT this prompt: 'Write a data mover in Xilinx HLS with Vitis flow that takes in a stream of bytes, swaps pairs of bytes, then streams the bytes out' And it did a good job. The code it made probably works fine and will run on most Xilinx FPGAs."
The Ongoing Use Cases and Niche Applications of FPGAs
Despite the discussion around ASICs, contributors acknowledge FPGAs continue to be used in niche fields. "duskwuff" remarks that "FPGAs are still quite common in niche hardware like oscilloscopes or cell towers, where the manufacturer needs some sophisticated hardware capabilities but isn't manufacturing enough units to make the NRE for an ASIC worthwhile."
"kev009" mentions, "...some useful parts are not much more than a mid range microcontroller. The top end is for DoD, system emulation, novel frontier/capture regimes (like 'AI', autonomous vehicles).."
"bluGill" concludes that, "There are a large number of products that will never sell enough to be worth going to an ASIC."
Cost of advanced FPGAs
Several posts commented on the price of high end FPGAs, with "bigfatkitten" correcting a prior, low, estimate of 4-digits for the price of these FPGAs, by saying in reality they have "6-digit at the high end." and referring to a $140,000 Xilinx FPGA.
"stephen_g" replied "I mean, it's not like people producing products with those parts actually pay that for production though, except for some really tiny volume ones (such as some defence projects)."
"bigfatkitten" responded "At that end of the market they cost an astronomical amount of money, no matter what. The $140,000 device doesnโt become a $400 device in any volume; it might become a $90,000 device."