【学习记录】AXI总线协议

AXI协议的特点

  1. 地址/控制信号与数据之间分开传输
  2. 支持基于stobes的不对齐数据传输
  3. 使用基于burst的传输(仅在发布起始地址时)
  4. 读、写数据分开传输,并提供低开销的DMA
  5. 支持提前发布多个地址
  6. 支持乱序事务完成
  7. 允许方便地添加寄存器阶段,以提供定时关闭

AXI协议一共有5个通道

  1. read address(M)
  2. read data(S)
  3. write address(M)
  4. write data(M)
  5. write reponse(S)

AXI中的通道都是单向的,就像水流只能从高处流向低处,上面每个通道后面表明了该通道哪里是数据的发出端,即水流的上游高地。

 

每一个独立的channel都包括了一组信息和握手信号VALID/READY

各通道信号说明

WRITE ADDRESS

信号名       source描述
AWID
Master这个信号是信号的写地址组的标识标签
AWADDR
..写地址给出了写突发事务中第一次传输的地址
AWLEN
..

burst length,突发长度给出了突发中传输的确切数量。此信息确定了与该地址相关的数据传输的数量

(传了多少个)

AWSIZE
..

burst size,描述了在burst中每一次传输的size

AWBURST
..

burst type,type和size信息,确定如何计算突发内每个传输的地址

(每个的地址是多少)

AWLOCK
..

提供有关传输的原子特性的其他信息

AWCACHE
..memory type,用于指示事务被要求如何在系统中执行
AWPROT
..protection type,该信号指示事务的特权和安全级别,以及该事务是数据访问还是指令访问
AWQOS
..
Quality of Service,为每个写事务发送的标识符(axi4)
AWREGION
..区域标识符,允许从服务器上的单个物理接口用于多个逻辑接口(axi4)
AWUSER
..用户信号,可选写地址通道中的用户自定义信号(axi4)
AWVALID
..写地址有效,指示该通道正在发送有效写地址和控制信息
AWREADY
slave写地址ready,指示slave已经ready to接收一个地址和相关的控制信号

WRITE DATA

信号名       source描述
WID
Master写数据传输的标签tag(axi3)
WDATA
写数据
WSTRB
write strobe,指示了哪些byte lanes上的数据是有效的。写数据总线上,每8bit有一个write strobe bit控制
WLAST
指示写burst中的最后一次传输
WUSER
可选写数据通道中的用户自定义信号(axi4)
WVALID  
写有效,指示写数据是有效的而且strobes是available的
WREADY
slave写ready,slave可以接收写数据

WRITE RESPONSE

信号名       source描述
BID
slave

写响应的ID

BRESP
写响应,指示了写事务的状态
BUSER
BVALID
指示该通道正在发送有效的写响应信号
BREADY
master指示master可以接收写响应,这里的master是接收端(下游)

READ ADDRESS

READ DATA

接口要求

全局信号

Clock:每个AXI组件都使用同一个ACLK,上升沿有效

Reset:异步低有效

复位时,master的读、写地址valid和写数据valid置低;slave的读数据valid和响应valid置低;其他信号随意。(就是置低所有的valid,其中master作为发送端控制3个valid,slave作为发送端控制2个valid。valid就像水坝一样,由上游控制是不是要开闸放水)

复位解除之后,允许master在clk上升沿到来时把valid置高(master是slave的上级,要先决定是不是放水)

 读写事务

 握手信号的存在使master和slave都可以控制信息传递的速率,只有当valid和ready同时拉高时数据才可以被传输

下图中,信息(地址、数据或info) 在T1到来,valid置高,但ready在T3才被置高。所以source必须保持信息的稳定直到传输完成。

下图中,ready很早就被置高了,这样valid一旦被置高,传输就可以在单周期内完成。

 注意,valid的产生与ready无关,且一旦valid置高就必须保持,直到一次握手完成。

但是ready可以在等待valid的过程中被重新置低。

不同通道的握手机制

每一个通道都有valid/ready握手信号

写地址通道 

master作为source

写的master只有在信息有效的时候才能断言valid信号,且必须保持到ready到来的下一个posedge。

(不推荐默认的AWREADY状态为LOW,因为它强制传输至少需要两个周期,一个用于断言AWVALID,另一个用于断言AWREADY)

写数据通道

WVALID的默认状态可以是1,但前提是slave可以在单周期内一直接受写数据

WLAST信号要和最后一次写转移同时到来。

写响应通道

接收写数据的slave作为source,可以再写响应有效的时候发出BVALID信号。并一直保持到发送端发出BREADY的下一个时钟上升沿。

BREADY只有在master总是可以在单周期内接受写响应的时候才可以默认为1

读地址通道

读数据通道

通道间的关系

写响应必须跟随它所属的写事务的最后一次传输

读数据必须跟在对应的地址后面

要符合握手关系

传输事务架构

地址架构

master通过驱动传输事务中的第一个byte的控制信息和地址开启每个burst

在burst的过程中,slave需要计算burst传输序列的地址

burst不能超过4KB地址边界

burst length

 (AXI4中多出的长度是为了适应INCR burst类型)

AXI对突发的使用有以下规则:
•对于wrapping burst,burst长度必须是2,4,8或16
•burst不能跨越4KB地址边界
•不支持提前终止burst。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值