
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.