AMAB interconnector PL301(二)
1)Frequency Conversion Components:包含三种component。
AXI-AXI async bridge:拥有两种mode:bypass mode 和 async mode。所以需要外加一个independent clock来管理这个独立
的 clock domain。内部有两个信号SYNCMODEREQ(SI 端),SYNCMODEACK(MI 端)。
其中SYNCMODEACK信号由AWSYNCMODEACK,WSYNCMODEACK,BSYNCMODEACK,
ARSYNCMODEACK,RSYNCMODEACK相与来实现。
bypass mode中SYNCMODEREQ是"1"请求,async mode中SYNCMODEREQ是"0"请求。
在async实现中,所有的axi signal都会有register,为了跨时钟域会有3-4个时钟的buffer。
所有的transaction都会有FIFO。
Upwards-sync bridge:SI 端是slower external clock domain,MI 端是faster external clock domain。
global 信号有ACLKS,ACLKM,ACLKEN,ARESETn。其中ACLKEN信号由外部的clock controller来
决定。控制SI和MI端口的clock。
其他的signal,加register来同步。
Downwards-sync bridge:类似。
2)Data Bus Width Conversion Components:包含两种component。Downsizer,Expander两种component类似。
Downsizer:拥有两种模式:Pass-through mode 和 Downsizer mode。
在Downsizer mode中,该component 主要是处理data channel的multiplexing。将一个transaction根据
AxBURST,AxLEN,AxADDR分为多个transaction。其中涉及到address buffer/transition,
Transaction storage,Response signal,Atomic/Exclusive access。
address buffer/transition:AxSIZE需要根据MI接口定义来修改,FIXED/INCR burst变为 INCR burst,多个max length
与一个short length的burst的和,来保证传递的字节数一致。
对于WRAP burst,not-align时,第一个burst先变为一个align address INCR在MI端
口,align时,直接变为INCR burst但是address的处理与上一种FIXED/INCR不一样。
Response signal:对于在MI端口分开的transaction,收到的response是与transaction数目相同的。所以返回
到SI端口的response是经过处理的。详见相册。
Atomic/Exclusive access:这两种transaction再分为多个transaction时,情况比较特殊。
Atomic分成的多个transaction,除了最后一个子transaction是normal,其他所有的
transaction都是lock的。
Exclusive在read/write操作时,可以分为多个transaction仍保持exclusive不变。并各个
response都返回exokay。但是必须保证address不会overlapping。针对WRAP burst。
3)Interface Conversion Components:包含4中bridge,AHB-Lite到AXI,AHB-Lite到AXI for memory optimized.
AXI到AHB-Lite,AXI到APB。
AHB-Lite到AXI:Fixed-length AHB burst转换为等长的AXI burst。
Undefined-length burst转换为single transfer。
由于AHB不支持secure,所以AxPORT[1] tie to "0",所有的access都允许。
生成的AXI中不支持write strobe。
其他信号,如HWDATA,HRDATA,WDATA,RDATA,HWUSER,HRUSER,WUSER,RUSER都处于bypass mode
AHB-Lite到AXI memory optimized:应用HPROT信号,实现buffer writes,来提高总线性能。
支持broken bursts,
并且undefined-length INCR burst转换为INCR4 burst来提高通信速率。
(拥有一个4depth的buffer,并且address 不超过4KB)
register AHB signals来提高timing。
对于AHB侧的lock access,IDLE cycle不可以分隔一个locked access,但是IDLE transfer可以。
主要区别是HREADY是否会有效,这样AHB才会重新采样HMASTLOCK的值。
AXI到APB:因为生产的APB会有PSEL信号,所以bridge内部需要实现一个multiplexor来选择不同slave的PRDATA,PREADY,
PSLVERR信号。因APB总线速率较慢,所以bridge支持PREADY来表示slave插入wait states。
4)Register slice:有三种模式,Fully registerred, Registered forward path, Static bypass。
Fully registerred是一个default configeration,完全隔离Valid and AXI payload和 AXI ready信号。
Registered forward path,valid and payload signals被isolated,ready信号是一个combination path。
Static bypass:no timing isolated。