Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 10/10/2025
Public
Document Table of Contents

11.2.1. FPGA-to-HPS Bridge

The F2H bridge provides a cache-coherent memory access path from a manager in the FPGA fabric to HPS DDR memory. If you want the FPGA fabric to make use of the HPS peripherals, you must use a high-level messaging system between the HPS and the FPGA, in order to send/receive data to/from the HPS peripherals, to prevent the need to modify the OS-level drivers.
Note: The HPS F2H interface has a fixed data size of 256-bits. This interface allows for narrow burst sizes less than 256-bits However, if a fabric initiator generates a transfer narrower than the interface width (i.e., less than the 256-bits wide data and a non-zero burst size), there is no guarantee that the HPS F2H interface will respond with narrower data aligned on non-256-bit boundaries of the 256-bit data bus. For example, if ARADDR = 0x0010_0000, ARSIZE = 0x4, and ARLEN = 0x3, the HPS F2H interface returns two beats of 32 bytes per beat followed by two null cycles, instead of four beats of 16 bytes per beat. Altera recommends that you add width adaptation interconnect logic between the fabric initiator and the HPS F2H interface to ensure that the narrow-width data is packed/unpacked properly.
Note: The ARM MMU-600 is compliant with the Arm System Memory Management Unit Architecture Specification, SMMU architecture version 3, which specifies support up to 48 bit address of virtual memory space. However, in the Agilex™ 5 implementation, all transaction clients to the SMMU (TCU/TBU) complex, such as F2H, F2SDRAM, xgmac, usb, dma, I/Os, and so on, are limited to 40-bit virtual addressing. Customers can limit the virtual address space to 40 bits to be compatible with the Agilex™ 5 SMMU implementation.
Warning: Do not send atomic operations to the on-chip RAM.