Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 7/19/2024
Public
Document Table of Contents

11.8.3.1. FPGA-to-SDRAM Direct (Cache Non-Allocate)

The interface from the FPGA to the SDRAM directly is AXI4. 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.

For reads, cache is not looked up. Read data is returned directly from SDRAM. The following table shows the read data attribute list.

Table 345.  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: 64-,128-, or 256-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

For writes, cache is not looked up. Write data is stored directly to SDRAM. The following table shows the write data attribute list.

Table 346.  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[3:0] ‘b0000

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