|
Partial reconfiguration offers countless benefits
across multiple industries. It can be an
important component to any design or
application – allowing designers more capabilities
and resources than meets the eye.
Partial reconfiguration is the ability to
reconfigure select areas of an FPGA anytime
after its initial configuration. You can
do this while the design is operational and
the device is active (known as active partial
reconfiguration) or when the device is inactive
in shutdown mode (known as static
partial reconfiguration).
By taking advantage of partial reconfiguration,
you gain the ability to:
- Adapt hardware algorithms
- Share hardware between various
applications
- Increase resource utilization
- Provide continuous hardware servicing
- Upgrade hardware remotely
Xilinx has supported partial reconfiguration
for many generations of devices. All
Xilinx® FPGAs support partial reconfiguration,
from Virtex™-4 devices to our lowest
cost FPGAs, the Spartan™-3/E family.
How Partial Reconfiguration Works
Xilinx supports two basic styles of partial
reconfiguration: module-based and difference-based. Module-based partial reconfiguration
uses modular design concepts to
reconfigure large blocks of logic. The distinct
portions of the design to be reconfigured
are known as reconfigurable modules.
Because specific properties and specific layout
criteria must be met with respect to a
reconfigurable module, any FPGA design
intending to use partial reconfiguration
must be planned and laid out with that
in mind. These properties and layout criteria
are outlined in the Xilinx
Development System Reference Guide,
which can be found at http://toolbox.xilinx.com/docsan/xilinx7/books/docs/dev/dev.pdf.
Difference-based partial reconfiguration
is a method of making small
changes in an FPGA design, such as
changing I/O standards, LUT equations,
and block RAM content. There
are two supported ways to make such
design changes: at the front end or the
back end. Front-end changes can be
HDL or schematic. You must re-synthesize
and re-implement the design,
creating a new placed and routed native
circuit description (NCD) file. Backend
modifications are made in FPGA
Editor, a GUI tool within ISE™ software
used to view/edit device layout
and routing.
You can also perform partial reconfiguration
by implementing a basic controller
to manage the reconfiguration of
an FPGA. This could be in the form of
an embedded or external processor.
Xilinx offers a suite of processor
solutions. The PicoBlaze™ and
MicroBlaze™ soft-core processors both
support the Spartan and Virtex families.
The Virtex-II Pro FPGA embodies the
hard-processor solution with the integration
of an IBM PowerPC™ 405 32-bit RISC processor into the FPGA.
Now, with the introduction of the
Virtex-4 FX platform FPGA, Xilinx has
increased processing power by introducing
two PowerPC 405 processor
cores in a single device (see Table 1).
For more information, visit Processor
Central at www.xilinx.com/products/design_resources/proc_central/index.htm.
Benefits
There are many benefits that come with
partially reconfigurable devices:
- Applications. Partial reconfiguration is
useful in a variety of applications across
many industries. The aerospace and
defense industries have certainly taken
advantage of its capabilities. Partially
reconfigurable devices have benefited
the Joint Tactical Radio System (JTRS)
Program, which I’ll discuss more in the
following section.
- Increased system performance. Although
a portion of the design is being reconfigured,
the rest of the system can continue
to operate. There is no loss of performance
or functionality with unaffected
portions of a design – no down time. It
also allows for multiple applications
on a single FPGA.
- The ability to change hardware.
Xilinx FPGAs can be
updated at any time, locally
or remotely. Partial reconfiguration
allows you to easily
support, service, and update
hardware in the field.
- Hardware sharing. Because
partial reconfiguration allows
you to run multiple applications
on a single FPGA, hardware
sharing is realized.
Benefits include reduced
device count, reduced power
consumption, smaller boards,
and overall lower costs.
- Shorter reconfiguration times.
Configuration time is directly
proportional to the size of the
configuration bitstream.
Partial reconfiguration allows
you to make small modifications
without having to
reconfigure the entire device.
By changing only portions of
the bitstream – as opposed to
reconfiguring the entire
device – the total reconfiguration
time is shorter.
Applications
Partial reconfiguration is the cornerstone
for power-efficient, costeffective
software-defined radios
(SDRs). Through the JTRS
Program, SDRs are becoming a
reality for the defense industries as
an effective and necessary tool for communication. SDRs satisfy the JTRS
standard by having both a software-reprogrammable
operating environment and the
ability to support multiple channels and networks
simultaneously.
Figure 1 shows a three-channel SDR
modem supporting a Software
Communications Architecture Core
Framework (SCA CF), as mandated for
JTRS. Current implementations of SCAenabled
SDR modems with multiple channels
require multiple sets of processing
resources and a dedicated set of hardware
for each channel. The more channels SDR
must support, the more dedicated resources
needed. This aversely affects space, weight,
power consumption, and cost.
With partial reconfiguration, the ability
to implement an SDR modem using
shared resources is realized, as shown in
Figure 2. A shared resources model enabled
by partial reconfiguration of an FPGA to
support multiple waveforms can be supported
by the SCA as mandated by JTRS.
FPGA implementations of SDR, with partial
reconfiguration, results in effective use
of resources, lower power consumption,
and extensive cost savings.
Partial reconfiguration can also be used
in many other applications. Another example
is in mitigation and recovery from single-event upsets (SEU). In-orbit,
space-based, and extra-terrestrial applications
have a high probability of experiencing
SEUs. By performing partial reconfiguration,
in conjunction with readback, a system
can detect and repair SEUs in the configuration
memory without disrupting its operations
or completely reconfiguring the FPGA.
(Readback is the process of reading the internal
configuration memory data to verify that
current configuration data is correct.)
Conclusion
The capabilities and benefits offered by partial
reconfiguration reach across many
industries and applications. Leverage partial
reconfiguration by using Xilinx FPGAs in
your next design, the only truly partially
reconfigurable devices. You can take advantage
of any of its benefits, from remote hardware
upgrading to on-chip hardware
sharing, and give your designs the reconfigurability
advantage.
Printable PDF version of this article with graphics. (12/1/05) 325 KB
|