Digital Signal Processing Reference
In-Depth Information
The flexibility of SOPC design allows the use of FPGA's logic elements to
interface to a wide range of sensors without the need for additional I/O support
chips that would be needed if a more traditional fixed-processor option was
used. This results in an extremely small and low weight PCB design. An ASIC
could be used instead of the FPGA, but the small production quantities needed
for this system do not justify the greatly increased development time and cost
needed for an ASIC.
Different types of aircraft also require markedly different I/O standards for the
control outputs. Some aircraft controls use serial interfaces, while others use
PWM or even parallel I/O. Here again, the flexibility of using the FPGA's logic
elements to implement the I/O interface is of great benefit. By varying the logic
in the interface peripherals, the same programmable processor core and PCB
board can be used to support a wide range of aircraft without any hardware
changes to the PCB.
The autopilot system requires intensive floating-point calculations to solve the
complex control system equations for the aircraft. While it would be possible to
perform floating-point calculations using a larger FPGA, the decision was made
to use a fixed-processor DSP chip for the intensive floating-point calculations.
By offloading the algorithmic computations to a fixed processor, the Nios II
processor is primarily acting as an intelligent I/O processor for the system. This
partitioning of the system between a fixed-processor DSP and soft-core
processor results in higher computational performance than using just an FPGA
(with floating-point hardware logic) and higher interface flexibility than using
just a fixed processor in the system. However, new generations of FPGAs with
DSP features such as hardware multipliers and floating-point IP cores are
currently changing this set of design tradeoffs.
15.6 Hardware/Software Design Alternatives
The SOPC-based approach offers new design space alternatives. It is possible
to explore design options that use software, dedicated hardware, or a mixture of
both. Hardware solutions offer faster computations, but offer less flexibility
and may require a larger FPGA. Implementation of solutions using software is
easier to design for more complicated algorithms.
It is also possible to consider a combination of both approaches. Some
processor cores allow the user to add custom instructions. If an application
program requires the same calculation repeatedly in loops, adding a custom
instruction using extra hardware to accelerate the inner loop code can greatly
speed up the application.
15.7 For additional information
This chapter has provided a brief overview of SOPC systems and designs. More
information about SOPC systems can be found from manufacturers such as
Altera, Xilinx, Cypress Semiconductor, Stretch Incorporated, and Tensilica.
SOPC systems are an active area of research. Publications of interest include
the following:
Search WWH ::




Custom Search