在使用Credited传输机制时,需要引入一组附加信号,且实际应用中这些信号须根据所在通道添加相应的前缀。
这些信号包括:
VALID(1位,由发送端产生,在任何条件下拉高即表示当前周期有数据从发送端传向接收端);
PENDING(1位,发送端在AXI_Transport == Credited时有效,拉高表示下一个周期可能有数据传输);
RP(位宽为clog2(Num_RP),仅在Num_RP > 1时出现,由发送端提供,用于指示当前传输所属的资源平面编号);SHAREDCRD(1位,发送端在共享信用启用时置位,表示当前使用共享信用);
CRDT(位宽等于Num_RP,由接收端在AXI_Transport == Credited条件下驱动,对应位拉高表示给该资源平面增加一个信用);
CRDTSH(1位,接收端在共享信用启用时置位,表示发出一个共享信用)。
关于Credited流程控制,其基本规则如下:
- 复位期间,发送端初始不持有任何信用,所有信用均由接收端持有,此时CRDT和CRDTSH必须保持为低电平。
- 在每个时钟周期,接收端最多可通过CRDT或CRDTSH向发送端提供1 bit的信用信息。
- 发送端消耗1个信用即可拉高VALID,若发送端当前没有可用信用,则无法拉高VALID。
- 接收端可授予的最小信用单位为每资源平面1个信用,最大授予能力为每资源平面15个普通信用加上15个共享信用(即每RP最多15个普通信用和15个共享信用)。
信用信号与其他信号(无论是单向还是双向)之间严禁存在组合逻辑路径,这带来两个重要约束:其一,同一周期内授予的信用不能立即被该周期使用;其二,同一周期内被使用的信用不能在同一周期再次被授予(即授予与使用必须隔周期)。
资源平面(Resource Plane, RP)是实现同一物理通道上不同流量间独立性的机制,旨在避免死锁或提升服务质量。每个RP拥有自己独立的信用池,因此即使某个RP因等待信用而阻塞,其他RP仍可获得信用并继续传输,从而保证整体进度。只要传输发生在不同RP之间,这种无阻塞特性就可以持续延伸。系统中通过参数Num_RP指定通道支持的RP数量,信号RP携带每次传输的编号,范围从0到Num_RP-1,其位宽为clog2(Num_RP);若Num_RP=1,则该信号被省略。
信用按RP分别管理,CRDT信号为每RP 1位,意味着每个周期接收端可为每个RP最多增加1个信用,且各RP的信用数可独立不等。发送端仅当某RP至少持有1个信用时,才能在该RP上发起传输;接收端则必须保证至少为每个RP独立提供1个信用。地址写(AW)、地址读(AR)和数据写(W)通道均可配置多个独立RP,但同一事务的AW和W必须使用相同的RP号。不同RP间的传输允许乱序,但发送端不得在不同RP上发送与正在处理中事务具有相同ID的请求;同时,允许在不同RP间进行写数据交织。相比之下,响应通道(B)和读数据通道(R)只支持单个RP。
在接口互连时,主机和从机可支持不同数量的RP,但主设备请求使用的RP编号绝不能超过从设备所能提供的最大数量。另外,若AXI传输属性(AXI_Transport)被配置为传统的Ready握手机制(即非Credited),则写地址和读地址通道的RP数量必须固定为1。
9621

被折叠的 条评论
为什么被折叠?



