4 ms·
I've been hearing about FPGAs for the last few years or so, what would be the benefit to using one over something like a Raspberry Pi? What's the killer applica
by bArray 7y ago
I've been hearing about FPGAs for the last few years or so, what would be the benefit to using one over something like a Raspberry Pi? What's the killer application?
- alexhutcheson 7y agoFPGAs have high-end and low-end uses: - Low-end: I'm designing a board, and I have one place where I need a little bit of digital logic, but putting a sufficiently capable microcontroller would be too expensive (in money or power budget), and there's no easily available cheap ASIC that does what I need. I put a small low-end FPGA in, and write a little bit of HDL to implement the logic I need. - High end: I have a very specific computation that I want to perform with very low latency or high throughput, and I've determined that I can design digital logic that will perform better than a general purpose processor (often via massive parallelism that wouldn't work well on a GPU for some reason and/or extremely deep pipelining beyond what a CPU would do). Because performance is so important to me, I'm willing to pay a massive up-front development cost for the digital logic that lives on the FPGA and the software that integrates with it. However, my expected volume is still low enough that getting an ASIC made would be too expensive for my budget. Examples here include packet filtering, bioinformatics, various forms of signal processing, etc. I'll choose a high-end FPGA that meets the specific needs of my application. - Extremely high end: Same as the above, but I expect to continue to make improvements and incremental changes to the digital logic after it's been deployed. Alternatively, I'm selling my board to customers who will employ their own hardware engineers to add their own digital logic to my high-level design. I'll probably choose a very high-end FPGA that exceeds my current needs to allow space for future changes. None of the above are likely to apply to hobbyists, so most hobbyists who are developing for FPGAs are likely doing so just because they find it very interesting. The development process is much slower than it is if you're writing code for an ARM chip, and the tools are much more cumbersome, but the process of designing digital logic systems and then having a way to actually implement them can be interesting.
- bArray 7y agoThank you for your explanation. I guess your last point is why I thought I was missing something: > None of the above are likely to apply to hobbyists, so most > hobbyists who are developing for FPGAs are likely doing so > just because they find it very interesting. I see posts on HackerDay about FPGAs and think: "What am I missing?". I build robots as part of a hobby and was wondering where on earth they fit into that pipeline. Most of the things I build are either already solved within a single chip, or are easily solved with the addition of a small micro. Developing something using a HDL would be too extreme, even for me. One thing that I think might be of interest in the future is when the cell count is such that we can process large neural networks, although I suspect they might always lag behind GPUs and/or TPUs.