Jeff Bier’s Impulse Response—FPGAs as Embedded Processors

Submitted by Jeff Bier on Tue, 06/27/2006 - 17:00

The next time you’re choosing an embedded processor, you should consider choosing an FPGA. This was the take-home message from FPGA vendors at the Embedded Systems Conference Silicon Valley in April—and in my opinion, it’s a message with merit.

Although FPGAs aren’t widely used as embedded processors today, there are some compelling advantages to doing so. In the embedded world, processor selection is often made on the basis of which chip offers the best combination of on-chip peripherals and interfaces, as much as on the merits of the processor core itself. Processor chip vendors typically offer multiple chip variants with different peripherals and interfaces, but they can’t provide as many options as FPGA vendors, who can give users the ability to drop in a custom mix of off-the-shelf interfaces. And with FPGA-based processors, if you need to change the interfaces later, no problem—you’re not wedded to a static processor design.

One thing that has historically limited the appeal of FPGAs is that you had to be a hardware engineer to use one. But that’s changing. For example, at ESC Altera announced a new tool, called the “C-to-Hardware Acceleration Compiler.”   The C2H compiler analyzes application C code to identify bottlenecks, then generates custom hardware accelerators in the FPGA fabric to alleviate them. These accelerators are automatically interfaced to Altera’s soft 32-bit RISC core, the Nios II, thus creating a customized FPGA-based processor  This puts the power of custom hardware into the hands of software engineers, giving them a powerful new means of accelerating their algorithms.

The new tools and intrinsic advantages of FPGAs mean that they could start giving  traditional embedded processors a run for their money in many applications.   But FPGAs’ success in this area is by no means guaranteed. To leverage the key benefits I’ve described, you have to be willing to use the particular processor core that your FPGA vendor supports. For developers with an existing software base, this may mean migrating to a new processor—which can be a big hurdle to overcome. It would be great if FPGA vendors would let users choose from a range of popular processor architectures—ARM, MIPS, PowerPC, etc.—and provided a C2H-style tool that would work with any of them. But that’s not on the table right now. If you choose an FPGA, your processor choices are extremely limited.

In addition, it’s still unclear how well the new tools work, and how easy they are to use. It’s also unclear whether FPGA-based embedded processors will be competitive with conventional embedded processors in terms of cost and energy efficiency (which have long been bugaboos for FPGAs.)

What is clear is that FPGA vendors are contemplating enormous opportunities in the embedded processor market, and making big investments in pursuit of this market. Whether they become key players or remain in the category of niche solution remains to be seen, but if I were an embedded processor vendor, I’d keep an eye out for some serious new competitors.

Jennifer Eyre of BDTI contributed to this column.

Add new comment

Log in to post comments