FPGAs are typically 5-20x worse in power consumption and max speed over a dedicated ASIC with the same logic. That is the price you pay for flexibility of being able to change your design at the drop of a hat.
For now, they are the low volume option (<1-10m units) if you need special interfaces. If all you are doing is number crunching a Gpgu would likely be a more effective option.
While superb for power and performance, the problem with ASICs is that you can't embed an ASIC fab in your mobile phone ;) On the other hand, doing number crunching on a GPU will quickly burn your your battery. FPGAs seem like the ideal middle ground.
Yes and no. I would say that GPUs are the middle ground between traditional serial CPUs and truly parallel FPGAs.
FPGAs are not a silver bullet. If you can express your design using a GPGPU instruction set, then by all means please use that. Its going to be more efficient by an order of magnitude, from power consumption and especially cost.
High end FPGAs can easily run in the $30k for a single unit range (this is what NVidia is going to buy to simulate their latest design in hardware, its not likely going to end up in a shipping product). They are also relative power hogs. Their strength lies in highly concurrent systems, especially around data streaming from disparate interfaces to other interfaces, when you can't put enough I/O bandwidth into an existing processing solution.
GPUs are good at processing and will floor an FPGA there. They are relatively terrible at I/O.
Comments
FPGAs are typically 5-20x worse in power consumption and max speed over a dedicated ASIC with the same logic. That is the price you pay for flexibility of being able to change your design at the drop of a hat.
For now, they are the low volume option (<1-10m units) if you need special interfaces. If all you are doing is number crunching a Gpgu would likely be a more effective option.
While superb for power and performance, the problem with ASICs is that you can't embed an ASIC fab in your mobile phone ;) On the other hand, doing number crunching on a GPU will quickly burn your your battery. FPGAs seem like the ideal middle ground.
Yes and no. I would say that GPUs are the middle ground between traditional serial CPUs and truly parallel FPGAs.
FPGAs are not a silver bullet. If you can express your design using a GPGPU instruction set, then by all means please use that. Its going to be more efficient by an order of magnitude, from power consumption and especially cost.
High end FPGAs can easily run in the $30k for a single unit range (this is what NVidia is going to buy to simulate their latest design in hardware, its not likely going to end up in a shipping product). They are also relative power hogs. Their strength lies in highly concurrent systems, especially around data streaming from disparate interfaces to other interfaces, when you can't put enough I/O bandwidth into an existing processing solution.
GPUs are good at processing and will floor an FPGA there. They are relatively terrible at I/O.