Arria V Hard Processor System Technical Reference Manual

ID 683011
Date 12/02/2022
Public
Document Table of Contents

10.3.15.3. AXI Master Configuration for ACP Access

To use the ACP for coherent accesses, the following configurations apply:

ACP master configurations must be as follows:
  • The master module must target the ACP in physical memory (address 0x80000000 to 0xC0000000)
  • For coherent ACP read accesses, the AXI bits must be programmed as follows to avoid compromising coherency:
    • AxCACHE[3:0] attributes must match the properties defined in the Cortex-A9 MPCore MMU page tables for the relevant memory region.
    • Shareable attribute AxUSER[0] must be set to 0x1
The Cortex®-A9 MPCore* configuration for ACP use should be as follows:
  • The Snoop Control Unit must be enabled (by setting the SCU enable bit in the SCU Control Register at 0xFFFEC000).
  • Coherent memory must be marked cacheable and shareable.
  • The SMP bit of the ACTLR register must be set in the Cortex®-A9 processor that shares data over the ACP.
Note: It is recommended that the shared attribute override enable bit [22] in the Auxiliary Control register is set. Enabling this bit disables optimizations in the L2 cache controller that can change the point of coherency and cause errors. If this bit is clear, non-cacheable accesses from the MPU cores or ACP port may be transformed into cacheable non-allocated accesses and the point of coherency moves from the SDRAM to the L2 cache.
Note: To achieve maximum performance on the ACP, avoid switching from shared to non-shared requests and vice-versa. When a shared request is latched in the ACP and there are non-shared requests still pending, the non-shared requests must be completed before the shared request can proceed.

The following sections detail the attribute configurations necessary to support coherency.