Here at BDTI, we just wrapped up a new study comparing DSP-oriented FPGAs to DSP processors. Like many DSP engineers, I started the project extremely familiar with processors and relatively new to FPGAs. I've ended it with a deeper understanding of the many surprising differences between the two technologies. I'm not talking about performance differences—though our benchmark results do show some big ones. No, what I'm talking about is how data that's straightforward to obtain for processors can be downright squirrelly for FPGAs.
Take clock speeds. You ask a simple question: "What's the clock speed of this chip?" A processor vendor will give you a simple answer: "It's X MHz." But an FPGA vendor will say, "It depends," followed by an hour-long explanation. It depends on the application, on your design techniques, and on where in the chip you measure the clock speed. Trying to determine a "typical" clock speed for an FPGA is next to impossible.
Then there's the issue of multiply-accumulate (MAC) throughput. MAC throughput isn't a great predictor of overall signal processing performance, but it's still interesting for first-order comparisons. On a processor, MAC throughput is the number of MAC units times the clock rate. Simple. But on an FPGA, it's not so clear cut. It depends on (among other things) whether you use only the embedded hardwired multipliers, and whether you base your calculation on MAC implementations that use distributed arithmetic.
And don't even get me started on pricing. As part of our cost-performance benchmarking, we originally got FPGA pricing directly from the FPGA vendors—but then we discovered that the distributor pricing for the same chips was 3-4 times higher. This caught us off-guard; our experience with processors has been that distributor pricing is usually within about 40% of vendor pricing. So how do you choose a price point that will yield fair cost-performance comparisons across the technologies? We spent weeks haggling over that question.
In the end, we were able to make meaningful comparisons between the two technologies and evaluate key strengths and weaknesses. And now if you ask us, "So how do FPGAs compare to DSPs?" we'll answer, "It depends"—and follow it up with an eight-hour explanation.
Add new comment