FPGAs Have the Wrong Abstraction for Computing
Like GPUs, FPGAs need a hardware abstraction that embodies this computational pattern:
What’s missing here is an ISA-like abstraction for the software that FPGAs run. The problem with Verilog for computational FPGAs is that it neither does a good job as a low-level hardware abstraction nor as a high-level programming abstraction. The long-term resolution to this problem might only come when the hardware evolves, as GPUs once did:
If computational FPGAs are accelerators for a particular class of algorithmic patterns, there’s no reason to believe that today’s FPGAs are the ideal implementation of that goal.
Source: www.cs.cornell.edu