Agilex™ 7 M-Series FPGA Network-on-Chip (NoC) User Guide

ID 768844
Date 1/27/2025
Public
Document Table of Contents

2.6.7. Options for Managing NoC Bandwidth

The hard memory NoC in Agilex™ 7 M-Series FPGAs provides the following options for managing NoC bandwidth usage:

  • AXI4 QoS settings
  • Bandwidth limiter
  • Transaction limiter

Using AXI4 QoS to Manage NoC Bandwidth

Managing NoC bandwidth usage using AXI4 QoS settings is the default method that is typically suitable for most applications. You can set the priority for each read or write transaction individually by driving the appropriate value on the arqos or awqos signals. Alternatively, you can configure the NoC Initiator Intel FPGA IP to use a fixed QoS value for all read transactions. You can configure an independent fixed QoS value for all write transactions. For guidance on how QoS settings correspond to NoC traffic priority, refer to Quality of Service (QoS) Support.

Using Bandwidth Limiter to Manage NoC Bandwidth

The bandwidth limiter provides an alternative method to manage NoC bandwidth. Using the bandwidth limiter requires that you configure the NoC initiator to disable the AXI4 QoS settings. The bandwidth limiter then throttles the bandwidth the initiator uses to a specified percentage of its normal maximum bandwidth. Settings are available in 5% increments from 40% to 100%, with 100% corresponding to no limiting.

The bandwidth limiter is useful if the target (high-bandwidth memory or external memory) has a lower throughput than the initiator. You can use the bandwidth limiter to match the initiator and target bandwidth, which can help reduce congestion on the NoC. Refer to the High Bandwidth Memory (HBM2E) Interface Intel Agilex 7 M-Series FPGA IP User Guide or the External Memory Interfaces Intel Agilex 7 M-Series FPGA IP User Guide for details on the available bandwidths of these targets.

The bandwidth limiter is also useful in balancing or prioritizing traffic on one of the NoC links. For example, if after optimizing initiator placement, initiators towards the center of the horizontal NoC are consuming more bandwidth than the initiators towards the left or right edges, the bandwidth limiter can balance the bandwidth usage by throttling the bandwidth of the center initiators.

Using Transaction Limiter to Manage NoC Bandwidth

The transaction limiter limits the number of outstanding read or write transactions in the initiator. You can set read transaction limits and write transaction limits independently. You can set the initiator read transaction limit from 1 to 128, where 128 is the default value. You can set the initiator write transaction limit from 1 to 64, where 64 is the default value. You can configure the transaction limiter according to how many pending transactions your logic can support.

For information on configuring the NoC Initiator Intel FPGA IP to use AXI4 QoS settings or to use the bandwidth or transaction limiters, refer to NoC Initiators for Fabric AXI4 Managers