ACE
awakeup
1、spec description
awakeup: Indicates that activity is initiated on the write or read
address channels.指示在写或者读地址通道上的业务启动。
2、该信号用于AXI5和ACE-LITE spec中。
awakeup不止与aw通道相关,同样与ar通道相关。awvalid或arvalid拉起,awakeup必须拉起。
axcache
axi3中axcache如下:
AxCACHE Value Transaction attribute
[0] 0 Non-bufferable1 Bufferable
[1] 0 Non-cacheable1 Cacheable
[2] 0 No Read-Allocate1 Read-Allocate
[3] 0 No Write-Allocate1 Write-Allocate
bufferable:trans是否到终点。
cacheable:trans是否可以merged。如果为1表示允许,则可以参考read/write-allocate hint。
allocate:trans是否merged。如果cacheable为0,read/write-allocate必须为0。
axi4中axcache[1]rename为modifiable,更符合其含义。
axcache[1]为高时,trans可以修改,fields如下:axaddr/axregion/axsize/axlen/axburst/axlock/axprot。
axcache[1]为低时,trans不可以修改,为non-modifiable transaction。
从axi4开始通过axcache引入新的memory types。
awcache[3:0]
0b0000 Device Non-bufferable
0b0001 Device Bufferable
0b0010 Normal Non-cacheable Non-bufferable
0b0011 Normal Non-cacheable Bufferable
0b0110 Write-Through No-Allocate
0b0110 Write-Through Read-Allocate
0b1110 (0b1010) Write-Through Write-Allocate
0b1110 Write-Through Read and Write-Allocate
0b0111 Write-Back No-Allocate
0b0111 Write-Back Read-Allocate
0b1111 (0b1011) Write-Back Write-Allocate
0b1111 Write-Back Read and Write-Allocate
注意:Device axcache[1]=0; Normal axcache[1]=1;
上述不同memory type详见spec说明。
简要理解:
3、device non-bufferable
写响应必须从终点返回,读数据必须从终点取出。
读不能预取,写不能merged。
transaction必须为non-modifiable transaction。non-modifiable transaction中axcache[1]必须为0,其trans中的以下fields在传输中。
axaddr/axregion/axsize/axlen/axburst/axlock/axprot。
4、device bufferable
与device non-bufferable相比,bresp可以从中间节点获取,其它限制均一样。
5、Normal Non-cacheable Non-bufferable
写响应必须从终点返回,读数据必须从终点取出。
读可以预取,写可以merged。
transaction可以改变。
6、Normal Non-cacheable Bufferable
bresp可以从中间节点获取。读数据有限制,可以是终点,也可以与写trans相关。
读可以预取,写可以merged。
transaction可以改变。
axprot
AxPROT Value Function
[0] 0 Unprivileged access1 Privileged access
[1] 0 Secure access1 Non-secure access
[2] 0 Data access1 Instruction access
ACE
awakeup
1、spec description
awakeup: Indicates that activity is initiated on the write or read
address channels.指示在写或者读地址通道上的业务启动。
2、该信号用于AXI5和ACE-LITE spec中。
awakeup不止与aw通道相关,同样与ar通道相关。awvalid或arvalid拉起,awakeup必须拉起。
axcache
axi3中axcache如下:
AxCACHE Value Transaction attribute
[0] 0 Non-bufferable1 Bufferable
[1] 0 Non-cacheable1 Cacheable
[2] 0 No Read-Allocate1 Read-Allocate
[3] 0 No Write-Allocate1 Write-Allocate
bufferable:trans是否到终点。
cacheable:trans是否可以merged。如果为1表示允许,则可以参考read/write-allocate hint。
allocate:trans是否merged。如果cacheable为0,read/write-allocate必须为0。
axi4中axcache[1]rename为modifiable,更符合其含义。
axcache[1]为高时,trans可以修改,fields如下:axaddr/axregion/axsize/axlen/axburst/axlock/axprot。
axcache[1]为低时,trans不可以修改,为non-modifiable transaction。
从axi4开始通过axcache引入新的memory types。
awcache[3:0]
0b0000 Device Non-bufferable
0b0001 Device Bufferable
0b0010 Normal Non-cacheable Non-bufferable
0b0011 Normal Non-cacheable Bufferable
0b0110 Write-Through No-Allocate
0b0110 Write-Through Read-Allocate
0b1110 (0b1010) Write-Through Write-Allocate
0b1110 Write-Through Read and Write-Allocate
0b0111 Write-Back No-Allocate
0b0111 Write-Back Read-Allocate
0b1111 (0b1011) Write-Back Write-Allocate
0b1111 Write-Back Read and Write-Allocate
注意:Device axcache[1]=0; Normal axcache[1]=1;
上述不同memory type详见spec说明。
简要理解:
3、device non-bufferable
写响应必须从终点返回,读数据必须从终点取出。
读不能预取,写不能merged。
transaction必须为non-modifiable transaction。non-modifiable transaction中axcache[1]必须为0,其trans中的以下fields在传输中。
axaddr/axregion/axsize/axlen/axburst/axlock/axprot。
4、device bufferable
与device non-bufferable相比,bresp可以从中间节点获取,其它限制均一样。
5、Normal Non-cacheable Non-bufferable
写响应必须从终点返回,读数据必须从终点取出。
读可以预取,写可以merged。
transaction可以改变。
6、Normal Non-cacheable Bufferable
bresp可以从中间节点获取。读数据有限制,可以是终点,也可以与写trans相关。
读可以预取,写可以merged。
transaction可以改变。
axprot
AxPROT Value Function
[0] 0 Unprivileged access1 Privileged access
[1] 0 Secure access1 Non-secure access
[2] 0 Data access1 Instruction access