Creating a new field programmable gate array is no small feat. FPGA vendors spend tens-of-thousands of man-hours simply researching markets to determine the feature set a given device will require and the silicon process that they will use to manufacture the device. This starts years before they embark on the ever more difficult task of actually designing the IC and the software to allow users to program it.
While creating a next-generation
FPGA is difficult, creating a device that
combines a microprocessor and programmable
logic on the same device is
even more daunting. Vendors not only
have to figure out the most efficient way
to integrate programmable logic with a
microprocessor in a tiny square of silicon,
they must also create an infrastructure
that allows users to quickly and easily
program both the programmable
logic and on-chip microprocessor portions
of the device. For silicon vendors,
the Holy Grail is to create a device that
appeals not only to traditional FPGA
users but to embedded system architects
and software programmers as well.
A new class of device called an
Extensible Processing Platform (EPP) is
making great strides on this journey.
Hard IP and Soft IP
Implementing microprocessors on FPGAs isn’t new. In fact, for almost two decades now FPGA vendors have offered soft cores (silicon intellectual property, commonly called IP) that users can program (with logic synthesis and place and route tools) into the programmable logic in FPGAs. About a decade ago, FPGA vendors took that a step further and designed microprocessor hard cores — PowerPC, ARM, and MIPs processors — into the silicon alongside traditional programmable logic blocks. Both soft IP and hard IP approaches have their advantages and disadvantages.
Implementing soft IP into an FPGA offers maximum flexibility at the expense of performance, power consumption, and area utilization. Users can determine what processor functionality they need for their specific design and synthesize a single processor core, or multiple processor cores — 8-bit, 16- bit or 32-bit MCU, MPU, or DSP — into the programmable logic in their designs. This, however, means they have to give up programmable logic element real-estate and design around the core they implement in their design. And in designing around the soft MPU, they must also be very mindful of timing constraints and power budgets, which can change depending on what applications are ultimately run on the microprocessor — a task which, unfortunately, typically comes after the hardware has been designed.
Subscribe today to receive the INSIDER, a FREE e-mail newsletter from Embedded Technology featuring exclusive previews of upcoming articles, late breaking NASA and industry news, hot products and design ideas, links to online resources, and much more.