When you need to extend your system capabilities and performance, you can use an FPGA coprocessor along with your existing CPU or DSP. This approach not only provides a flexible platform that lets you adapt quickly to market demands, but also helps insulate you from competition.
Application-Specific Coprocessor
Boost system performance by moving compute-intensive algorithms from software running on a processor to application-specific hardware running inside an FPGA. Applications such as signal processing, image processing, and packet processing can achieve orders of magnitude performance increase running in hardware rather than software. Altera provides system-level design tools and hardware acceleration IP to simplify the process of designing an application-specific coprocessor (Figure 1) in an FPGA. For applications that include a Nios® II processor, you can automatically convert C language subroutines to hardware accelerators using the Nios II C-to-Hardware (C2H) Acceleration Compiler.
Figure 1. Application-Specific Coprocessor

- Learn more about DSP coprocessing
- Learn more about video and image coprocessing
- Learn more about communications coprocessing
- Learn more about system-level design tools
- Learn more about the Nios II C2H compiler
Multiprocessor
Accelerate software development and improve code reliability and maintainability by distributing tasks across several CPUs. Multiprocessor systems (Figure 2) can be designed in a single FPGA and used to augment an external CPU or DSP. The Nios II Embedded Design Suite (EDS) and software development tools from industry leading embedded software partners support development and debug of multiprocessor applications.
Figure 2. Multiprocessor

- Article: Subtract Software Costs by Adding CPUs by Jack G. Ganssle
- Download the Creating Multiprocessor Nios II Systems tutorial (PDF)
I/O and Peripheral Expansion
Over time, you may need to add or update peripherals to adapt to market demands. By using an FPGA you can extend the life of your embedded system by adding communications channels, LCD controllers, or general purpose I/O to complement the capabilities of your discrete embedded processor (refer to Figure 3). Because you own the FPGA design, your software drivers and application code are protected from device availability or obsolescence issues.
Figure 3. I/O and Peripheral Expansion

- Learn more about system-level design tools
- Learn more about available peripherals and IP
- Learn more about updating hardware designs remotely (PDF)


