Agilex™ 7 Hard Processor System Technical Reference Manual

ID 683567
Date 8/13/2024
Public
Document Table of Contents

7.3.5.1. FPGA-to-SDRAM direct (Cache Non-Allocate)

The interface from the FPGA to the SDRAM directly is AXI* 4. These transactions route directly to the EMIF circumventing the CCU and are not cached. You must manage coherency in software because the CCU is not involved with this traffic. Transactions can be Privileged or Non-privileged depending on memory allocation.

Reads

Cache is not looked up. Read data is returned directly from SDRAM.

Table 71.  Read Data Attribute List
ATTRIBUTE VALUE NOTE
ARDOMAIN[1:0] ’b00 Non-shareable. (non-coherent, non-snooping)
ARBAR[1:0] ‘b00 Normal access, respecting barriers
ARSNOOP[3:0] ‘b0000 ReadNoSnoop
ARCACHE[3:0] ‘b0010 or ‘b0011

Normal Non-cacheable Non-bufferable

(or Normal Non-cacheable Bufferable)

AxUSER[7:0] ‘b11100000 0xE0 = SDRAM direct
AxPROT[2:0] ‘b001

Data access. Secure access. Privileged access.

AxLEN[7:0]
The burst length for:
  • WRAP burst type must be 1, 2, 4, 8 or 16 transfers.
  • INCR burst type is 1 to 256 transfers.
AxSIZE[2:0] The number of bytes in a transfer must be equal to the data bus width: 128-, 256-, or 512-bit.
AxBURST[1:0] ‘b01 or ‘b10 Must be INCR(‘b01) or WRAP(‘b10)
AxLOCK[1:0] ‘b00 Must be normal access
AxQOS Do not care

Writes

Cache is not looked up. Write data is stored directly to SDRAM.

Table 72.  Write Data Attribute List
ATTRIBUTE VALUE NOTE
AWDOMAIN[1:0] ‘b00 Non-shareable. (non-coherent, non-snooping)
AWBAR[1:0] ‘b00 Normal access, respecting barriers
AWSNOOP[2:0] ‘b000 WriteNoSnoop
AWCACHE[3:0] ‘b0010 or ‘b0011

Normal Non-cacheable Non-bufferable

(or Normal Non-cacheable Bufferable)

AxUSER[7:0] ‘b11100000 0xE0 = SDRAM direct
AxPROT[2:0] ‘b001 Data access. Secure access. Privileged access.
AxLEN[7:0]
The burst length for:
  • WRAP burst type must be 1, 2, 4, 8 or 16 transfers.
  • INCR burst type is 1 to 256 transfers.
AxSIZE[2:0] The number of bytes in a transfer must be equal to the data bus width
AxBURST[1:0] ‘b01 or ‘b10 Must be INCR(‘b01) or WRAP(‘b10)
AxLOCK[1:0] ‘b00 Must be normal access
AxQOS Do not care