By John Keller
Tools that enable systems designers to alter and control the functionality of field-programmable gate arrays (FPGAs) have improved substantially over the past few years, yet FPGA users still are looking for the capability to shorten design cycles and easily combine third-party tools in common operating environments, industry experts say.
FPGAs are vastly complex devices. In fact, many consider these parts to be integrated systems unto themselves-with their own unique hardware and software issues-rather than just integrated circuits.
Today’s most advanced FPGAs have hundreds of thousands of logic cells, and hundreds of I/O pins, and future generations will be even larger. The more complex the FPGA becomes, the more demands are placed on the FPGA programming tools necessary to adapt these devices to specific applications.
“We are allowing users to pack more and more into their devices,” says Hitesh Tatel, director of software product marketing at FPGA manufacturer Xilinx Inc. in San Jose, Calif. “Going from the Virtex 4 to the Virtex 5 FPGA had a 65 percent increase in resources available on the chip.”
Nevertheless, one of the primary demands of FPGA users is an ever-shortening compile time-or the time it takes to change or create new FPGA functionality with software programming tools. “The number-one thing with our customers is compile time; that’s what we focus on,” Tatel says.
That is not easy with devices as large and complex as the Virtex 5. Still, “I think the software is able to keep pace,” Tatel says. “For the larger devices, the runtime is a little on the long side, but that’s to be expected. Our customers won’t accept fast compile times at the cost of performance.”
The FPGA world today still revolves mainly around programming tools that target specific FPGAs or FPGA manufacturers. Although some tools and research projects seek to target a wide variety of devices, most tools today are optimized only for one manufacturer or another-which tends to keep FPGA users tied to specific tools vendors.
“Once you invest in the tools-and that could be hundreds of thousands of dollars-you don’t want to change too often,” says Paul Martino, vice president of sales and marketing at FPGA integrator TEK Microsystems in Chelmsford, Mass.
The expense involved with choosing FPGA programming tools encourages systems designers to make their selections very carefully. This job, however, is rarely easy.
“Consider the sheer variety of tools you can use to target FPGAs,” says Neil Harold, product manager at FPGA integrator Nallatech Ltd. in Glasgow, Scotland. “The drawback is being able to stitch together the technologies that the different companies offer.”
That problem is not likely to change anytime soon. FPGAs are a long way from becoming the kinds of commodity items that some typical general-purpose microprocessors have become, and the FPGA makers have a vested interest in keeping their customers locked in. That means a continuing reliance on manufacturer-specific proprietary solutions, experts say.
“The FPGA world doesn’t have the interest in standards that there is in the software community,” explains Mark Littlefield, product marketing manager for FPGA products at embedded computer specialist Curtiss-Wright Controls Embedded Computing in Leesburg, Va.
“If there were certain design standards for blocks and FPGA intellectual property, that would help matters immensely, and tools could be made more efficient by putting those things together,” Littlefield says.
What FPGA systems integrators may want most may also be the most elusive technological goal-that is, the ability to describe FPGA functionality in a high-order language like C or C++, and translate that functionality directly onto the FPGA.
“In a perfect world-and we may never get there-is the concept of writing in C or another language, and translating and running that code directly to the FPGA,” says Nallatech’s Harold.