Visible to Intel only — GUID: zua1625848123122
Ixiasoft
Visible to Intel only — GUID: zua1625848123122
Ixiasoft
7.3.6.2. FPGA-to-HPS CCU to SDRAM/OCRAM memory (Cache-Allocate)
If your logic issues a Cache Allocate transaction, the CCU maintains coherency and allocate in the cache. This is useful when you want to maintain coherency and keep data available in the system with minimal latency, so the masters avoid traversing to the external memory for each transaction.
Reads
- On cache hits, read data is returned by the cache.
- On cache misses, read data is returned from main memory and allocated (stored) in cache.
ATTRIBUTE | VALUE | NOTE |
---|---|---|
ARDOMAIN[1:0] | ’b01 | Inner Sharable |
ARBAR[1:0] | ‘b00 | Normal access, respecting barriers |
ARSNOOP[3:0] | ‘b0000 | ReadOnce |
ARCACHE[3:0] | ‘b1111 | Write-back Read-allocate |
AxUSER[7:0] | ‘b00000100 | 0x04 = CCU |
AxPROT[2:0] | ‘b011 or ‘b010 | Privileged access. Non-Secure access. Data access (or can be ‘b010 for Unprivileged 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 |
Writes
- On cache hits, write data is stored in cache.
- On cache misses, write data is allocated (stored) in cache.
ATTRIBUTE | VALUE | NOTE |
---|---|---|
AWDOMAIN[1:0] | ’b01 | Inner Sharable |
AWBAR[1:0] | ‘b00 | Normal access, respecting barriers |
AWSNOOP[2:0] | ‘b000 | WriteUnique (can be ‘b001 for WriteLineUnique) |
AWCACHE[3:0] | ‘b1111 | Write-back Write-allocate |
AxUSER[7:0] | ‘b00000100 | 0x04 = CCU |
AxPROT[2:0] | ‘b011 or ‘b010 | Privileged access. Non-Secure access. Data access (or can be ‘b010 for Unprivileged 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 |