一、 AXI有几个通道
AXI 有5个通道:
1、写地址通道信号;
2、写数据通道信号;
3、写响应通道;
4、读地址通道;
5、读数据通道;
二、 什么是支持 outstanding
Outstanding 支持的多少是需要设定的。举个例子,如果 outstanding设为5,对于写来说,可以连续发送5个写操作而不用等待bresponse的响应,否则必须等待有一个responese回来才能发送下一个写操作,对于读来说,是通过rlast信号来看是否有respone,也类似于写操作;
也就是说,如果没有respone的操作超过了outstanding的值,则会通过拉低响应的ready信号,从而不能发送有效操作;
三、 各个通道的时序关系:
1、读地址通道:
output [0: 0] master_axi_arid; // axi read command ID
output [35: 0] master_axi_araddr; // axi read command address
output [3:0] master_axi_arlen; // axi encoded read command length
output [2:0] master_axi_arsize; //axi encoded read command size
output [1:0] master_axi_arburst; // axi read command burst type.
output [1:0] master_axi_arlock; // axi atomic access indicator
output [3:0] master_axi_arcache; //axi cache control os for the read.
output [2:0] master_axi_arprot; // axi read command protection type.
output master_axi_arvalid; // axi read command valid indicator.
input master_axi_arready; // indicates that aix is ready to accept the read command.
2、读数据通道:
Input [0:0] master_axi_rid; // axi read data ID.
Input [255:0] master_axi_rdata ; // axi read data.
Input [1:0] master_axi_rresp ; // aix read data response a response is sent with each burst indicating the status of the burst.
input master_axi_rlast; // Indicates that this is the final world of the data for the command.
input master_axi_rvalid; // axi read data valid indicator.
output master_axi_rready; // indicates that the axi master is ready to accept read data.
3、读地址和读数据的时序关系:
4、写地址通道:
output [0: 0] master_axi_awid; // axi write command ID
output [35: 0] master_axi_awaddr; // axi write command address
output [3:0] master_axi_awlen; // axi encoded write command length
output [2:0] master_axi_awsize; //axi encoded write command size
output [1:0] master_axi_awburst; // axi write command burst type.
output [1:0] master_axi_awlock; // axi atomic access indicator
output [3:0] master_axi_awcache; //axi cache control os for the read.
output [2:0] master_axi_awprot; // axi read command protection type.
output master_axi_awprot; // axi read command valid indicator.
input master_axi_awready; // indicates that aix is ready to accept the read command.
5、写数据通道:
output [0:0] master_axi_wid; // axi write data ID.
output [255:0] master_axi_wdata ; // axi write data.
output [31:0] master_axi_wstrb ; // axi write data strobe.
output master_axi_wlast; // Indicates that this is the final world of the data for the command.
output master_axi_wvalid; // axi write data valid indicator.
input master_axi_0_wready; // indicates that the axi master is ready to accept write data.
6、写响应通道:
input [0:0] master_axi_bid; // AXI write respone ID.
input [1:0] master_axi_bresp; // AXI write respone A responese is sent for the entire burst.
input master_axi_bvalid; // AXI write response valid indicator.
input master_axi_bready; // Indicates that the AXI master is ready to accepta write respone.
7、写地址、写数据、写响应的时序关系:
四、 传输顺序说明;
AXI 协议可以完成按照固定顺序的传输操作,其通过接口给每一个传输操作一个ID标记,协议要求具有相同的ID标记的传输要按照指定顺序完成,但是不同的ID的传输可以不按照制定的顺序进行传输; 完成乱序传输的能力意味着可以完成向快速内存的传输,不用等待之前向慢速内存的传输,这样可以提高系统的性能,减少不必要的等待时间;
读传输握手信号之间的依赖关系(两个箭头之间是有时序前后关系的):
写传输握手信号之间的依赖关系(两个箭头之间是有时序前后关系的):
通道间关联:
地址通道,读通道,写通道和写响应通道之间的关联很灵活。
例如,写数据能够在与它相关的写地址之前出现,当写地址通道包含寄存器多于写数据通道的时候, 就会出现这种情况,写数据和写地址出现在同一周期也是有可能的。
版权声明:本文为CSDN博主「angelbosj」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/angelbosj/article/details/79773434