Embedded Design Handbook

ID 683689
Date 8/28/2023
Public
Document Table of Contents

7.4. Accelerating Nios® II Networking Applications

This section describes key optimizations you can use to accelerate the performance of your Nios® II networking application. In addition, it describes how the different parts of a Nios® II Ethernet-enabled system work together, how the interaction of these parts corresponds to the total networking performance of the system, and how to benchmark the system.

Ethernet is a standard data transport paradigm for embedded systems across all applications because it is inexpensive, abundant, mature, and reliable.

As seen in the empirical benchmark results, you can achieve minor performance increases in your Ethernet system by applying a single hardware optimization; however, achieving significant Ethernet performance increases involves applying several hardware optimizations together in the same system.

Consider using the following optimizations for your Ethernet system, in decreasing order of importance:

  • Using a DMA engine for moving data to and from the Ethernet device
  • Increasing the overall system frequency, including components such as the processor, DMA peripherals, and memory
  • Using low-latency memory for Nios® II software execution
  • Using a custom hardware peripheral to accelerate the network checksum
  • Using fast packet memory to store Ethernet data

Finally, the overall performance you can achieve from your Ethernet application depends on the nature of the application itself. This section provides you with general techniques to accelerate Nios® II Ethernet applications, but the final measure of success is whether your application meets the performance goals you establish.