Last week BDTI released a benchmark report on FPGAs that was met with much fanfare. To read the press coverage of the report, you would think that DSPs are doomed, and that FPGAs are taking over the world. The report's benchmark results certainly back that impression: They show that FPGAs have an order-of-magnitude advantage over DSPs. Things look particularly grim for DSP when you put this in the context of Forward Concepts' latest bulletin, which says:
"…both Xilinx and Altera had DSP FPGA revenues in excess of $200 million in 2005, essentially ranking them ahead of both Freescale and Agere in non-cellphone DSP silicon shipments…"
That's all very impressive, but don't be fooled: There are lots of applications where FPGAs stink. The main advantage of FPGAs is that they are configurable, letting you mold the devices to the needs of your application. That's great, but it doesn't matter if you can buy an off-the-shelf device that meets your needs—and you usually can buy such a device if your application has high volumes and/or stable requirements.
The other big advantage of FPGAs is that they support massive parallelism. That's great if you can use it, but it's worthless if your application involves lots of decision-making. Decision-making limits parallelism any architecture, but it's a particularly big problem for FPGAs. The only way to make decisions on an FPGA is build a state machine—or even a whole processor—into the FPGA fabric. This is an awfully slow and inefficient way to handle control tasks.
It's easy to dismiss this as an unimportant consideration because the classical DSP problems (filtering, FFTs, etc.) don't involve much decision-making. However, the reality is that many DSP applications are decision-intensive. For these applications, a DSP will outperform an FPGA every time.
VoIP gateways are a good example of both situations. VoIP technology is relatively stable, so it's easy to find chips designed specifically for this market. Plus, voice codecs involve a lot of decision-making, which severely limits parallelism. (Just look at TI's solution, which is based on a lowly dual-MAC DSP!)
Thankfully, the word is getting out that FPGAs aren't the ultimate solution for every DSP problem. Even BDTI acknowledges that FPGAs have serious drawbacks.
Of course, I've presented only one side of the debate here. Next week I'll revisit this topic, and explain why some of the traditional criticisms of FPGAs are no longer valid.