What is FPGA for?
What is FPGA for?
An example of this is video decoding/encoding, which is commonly implemented by dedicated hardware.
Admittedly, I haven't had the opportunity to play with FPGAs very often in my professional career, but the limited experience I've had with them showed me you need an entirely different mindset when programming in a hardware description language. With assembly everything is global, and similarly with FPGAs almost everything is asynchronous and parallel.
FPGAs are often times for prototyping hardware designs, but also for bespoke parallelized or hardware operations that are too low of yield to justify ASIC development.
ASIC -> is hardware that may run only single program which is hardcoded into the chip.
FPGA is something between CPU and ASIC.
Right? (At eli5 level)
I bet this is primarily to compete with fixed function AI accelerators, so that you can adapt to new generations of the AI hype.
It doesn’t really need to be a better piece of engineering, or more power efficient. I’d say it is more guided by a marketing thing.