2.1 AXI 通道新增信号
AR 通道信号:

AW 通道信号:

R通道:

2.2 ACE 新增通道
Snoop address channel (AC) 通道:

Snoop response channel (CR) 通道:

Snoop data channel (CD)通道:

2.3 新增response
Read acknowledge 信号:

Write acknowledge 信号:

2.4 复位
ACE跟AXI都使用ARESETn,复位期间:
Master 输出的RACK WACK CRVALID CDVALID 必须为低;
Interconnect 输出的ACVALID 必须为低;

3.1 读写通道信号

3.1.1 Shareable domain 类型
ARDOMAIN[1:0] AWDOMAIN[1:0] 指示当前类型

Inner shareable 在ACE和ACE5-Lite 描述。

不同memory 类型下Shareable domain的应用限制:
 AxCACHE[1]为0的Device transaction,只能使用system domain;
 AxCACHE[3:2]不为0的cacheable transaction,必须不能使用system domain;

注意:

  1. 上图不包含进入local cache 的initial master;
  2. 以上组合都合理,主要用于需要cache 的memory区域,进行snoop,不能cache 到downstream,比如system;
  3. Memory 区域不能被cache,只能在system 区域;
    3.1.2 读写barrier 传输

3.1.3 读写shareable 传输类型

主要有以下一些transaction类型:
 Non snooping:不需要snoop 给其他master 的transaction;
 Coherent:memory的区域可以被其他master cache,需要snooping;
 Memory update:更新main memory,不需要snoop 其他master;
 Cache maintenance:memory的区域可以被其他master cache,需要snooping,且这些transaction 需要穿过downstream cache;
 Barrier:跟其他transaction 建立保序;
 DVM:分布式虚拟memory 场景下多个component 参与的传输;

3.1.4 AWUNIQUE signal
用于指示写transaction 提高cache 层次的信号,比如在L3或者system;

3.1.5 Cache line size restriction
Design 决定ACE master cache line ,有以下限制:
最新cache line size 16B;
最大cache line size 以下取最小:
 2048B;
 最大数据位宽下,最大的burst length为16的数据;

3.1.6 Transaction constraints
3.1.6.1 Cache line size transactions
必须基于cache line size 进行的transaction:

Cache line size transaction 的限制:


以下transaction 必须使用AxLEN 指定正确的cache line size,即使没有数据。

3.1.6.2 ReadOnce and WriteUnique transactions
Readone WriteUnique 对cache line size 没有限制,legacy component 需要添加额外的信息修改transaction。

3.1.6.3 WriteBack and WriteClean transactions
WriteBack 和WriteClean 不限制cache line size,用于更新一条cache line。


WriteBack、WriteClean、Evict transaction 时snoop filter必须指定正确的shareability domain:Inner shareable、Outer shareable。
Snoop filter 不能trace non-shareable 的transaction。不支持snoop filter 的component可以随便指定domain;
3.1.6.4 Barrier transactions
AxBAR[1]为1的transaction。

3.2 Read data channel signaling
3.2.1 Read response signaling

IsShared、PassDirty 必须在一个burst 只能一致;
移除所有cache copy 的transaction 中IsShared 必须为低。具体transaction:

不允许有脏数据的transaction 中,PassDirty 必须为低。具体transaction:

不支持的IsShared和PassDirty的必须为低,具体transaction:

有些Transaction 有一拍可以忽略的数据,完成的标识为RLAST为高。具体transaction:

3.3 Read acknowledge signaling

用于指示当前master完成一次read transaction。
RACK为一个时钟周期信号,Interconnect 必须能接收。
RACK必须不能早于RVALID、RREADY 握手,跟RLAST 同拍。
RACK在coherent、barrier、DVM 中必须有;

3.4 Write response channel signaling
AW 通道的顺序由AXIID指定。

3.5 Write Acknowladge signaling
用于指示当前master 完成一次write transaction。

WACK 一拍,发送到Interconnect;
WACK不能早于BVALID、BREADY握手,不能晚于下一个transaction 的完成。
WACK 表示完成所有write transaction,包括barrier transaction;
WACK 没有order 信息,跟write response 顺序相同。

3.6 Snoop address channel signaling
AC 通道对于master的功能:
 保存cached data;
 支持DVM 传输;
AC 通道为访问cached master 的入口,master 访问cached master,发送snoop 传输。
AC通道的command作为地址通道的一部分控制信息,但是不提供:Burst type、Burst length、Transaction size、Transaction ID。
AC 通道不支持的传输:

  1. Non-snoop 传输不支持
  2. WriteUnique,其他cache line 的copy 需要clean,写之前全部移除;
  3. WriteLinUnique,其他copy 需要移除;
  4. MakeUnique,跟MakeInvalid 类似;
  5. CleanUnique,跟CleanInvalid 类似;

    ACADDR 必须跟data transfer size对齐,ACPROT[1]指示是否secure。ACSNOOP 指示传输类型,不是所有的传输都可以被读、写通道观察到。


    Snoop 传输的burst length 大于1,burst type 必须是WRAP。Burst length 等于1,burst type 必须是INCR。

3.7 Snoop response channel signaling

Snoop response 在cached master 中必须对每个snoop 地址都要有,所有的snoop 是保序的,response 顺序跟AC 地址顺序相同;


Snoop response bit 的应用限制:

  1. DataTransfer,指示是否有snoop 数据返回;
     Cache hit 会有snoop 传输:

     Cache dirty 的时候,hit 会有snoop:
    CleanInvalid、CleanShared;
  2. Error:指示snooped cache line 返回错误,尤其是在ECC。如果检测到error,snooped cache 会丢弃cache line,或者标记error;
  3. PassDirty,写 dirty cache line,是否pass main memory;
  4. IsShared,snooped cache 是否保存一封copy 数据,以下传输必须为低,ReadUnique,CleanIvalid,MakeInvalid;一下传输必须被指定:ReadOnce、ReadClean、ReadNotSharedDirty、ReadShared、CleanShared。
  5. WasUnique,指示snoop 没有发现其他cache 的copy。

3.8 Snoop data channel signaling

Snoop data 的位宽没,CDDATA没有要求跟read data、write data 位宽一样。Snoop data 位宽一般为32、64、128、256、512、1024,所有cache line size 的传输必须是一个data bus 宽度,burst length 必须为1248、16.
Snoop data 不支持strobe,snoop data 通道可以不用,但是snoop address 通道必须有。
Cached master 不能返回snoop 传输 dirty 数据,所以不能保存dirty 数据,遇到dirty 数据必须先WriteBack或者WriteClean,然后返回response。

3.9 Snoop channel dependencies

posted on 2024-12-27 19:56  向前走向钱看  阅读(369)  评论(0)    收藏  举报