AN 1003: Multi Memory IP System Resource Planning: for Intel Agilex® 7 M-Series FPGAs

ID 788295
Date 11/22/2023
Public
Document Table of Contents

3.2.4. Initiator Target Link Bandwidth

Transactions between an initiator and target that are far apart laterally must transfer through many switches, increasing the minimum latency. Transactions on such initiator-target connections going through the same switches compete for horizontal bandwidth.

Transactions between initiators and targets that connect directly to the same switch route locally. Such transactions need not transfer horizontally along these links, resulting in the lowest latency. Therefore, the bandwidth that these local connections use does not count against the horizontal bandwidth limits.

The separate links service adjacent targets. Therefore, traffic to one target does not compete for bandwidth with traffic to an adjacent target. The combined bandwidth demand of initiator-target links in one direction (left-to-right or right-to-left) must not exceed the capacity of the link in one direction, as Horizontal NoC Ideal Bandwidth shows.

Select an option where initiator and target connect to the same switch, if possible. Although direct connection does not share horizontal bandwidth, you can still observe congestion if there are multiple initiators talking to the target. When multiple initiators talk to one target, the total bandwidth requirement is the sum of all those connections. You can observe congestion on the target if the total bandwidth requirement from multiple initiators (talking to the same target) exceeds the target supported bandwidth. If you specify a bandwidth requirement on a given target, the Intel Quartus Prime software reports whether this bandwidth can be achieved, or if there is too much congestion.

For architectural details on the various NoC segment types, refer to NoC Segments in Intel Agilex® 7 M-Series FPGA Network-on-Chip (NoC) User Guide.

If direct connect is unattainable, try maximizing the distribution of connections across different links to avoid congestion on horizontal links. If you are not using direct-connect, it is best to minimize the number of switches between the initiator and target, on every connection.