FPGA——AXI4总线详解

目录

AXI4总线

1、什么是AXI

2、AXI4协议的优势

AXI4的工作模式

AXI4读操作:

AXI4写操作

AXI4和AXI4-Lite、AXI4-Stream接口信号

握手信号

AXI相关术语


AXI4总线

1、什么是AXI

    AXI(Advanced eXtensible Interface高级可扩展总线)是一种总线协议

    AXI4包含3种类型的接口:

1)AXI4:主要面向高性能地址映射通信的需求;(突发数据)(地址映射模式)

2)AXI4-Lite:是一个轻量级的,适用于吞吐量较小的地址映射通信总线;(无突发)

(地址映射模式)

3)AXI4-Stream:面向高速流数据传输(流模式)

2、AXI4协议的优势

可以挂载多个master和slave ,互相交互信息 

    1)高效:通过标准化的AXI接口,开发者只需要学习一种IP核的通讯协议即可;

    2)易用:针对具体应用提供合适的接口协议。

       AXI4:面向地址映射的接口,在单地址传输的情况下最大允许256个时钟周期的数据突发长度;

       AXI4-Lite:一个轻量级的地址映射单次传输接口,占用较少的资源

       AXI4-Stream:去掉了地址传输的功能,允许无限制的数据突发传输,无需考虑地址映射。

    3)易得:标准化的AXI接口协议资源,不仅可以在xilinx官网上获得,也可以在全球范围内ARM的所有合作伙伴处获得。

       大量的IP core支持AXI4协议;

       大量的第三方AXI工具可提供多样的系统开发、验证和功能定制。

AXI4的工作模式

    AXI4和AXI4-Lite包含5个不同的通道:

(1)写地址通道

(2)写数据通道

(3)写响应通道

(4)读地址通道

 (5)读数据通道

数据可以在主从设备间同步的双向传输,并且数据传输大小可以改变。AXI4将数据传输的突发长度限制为最大256,AXI4-Lite每次传输仅运输传输一个数据。

AXI4读操作:

如图1所示,AXI4协议主从设备间的读操作使用独立的读地址读数据通道,只需要一个地址就可以执行最大为256的突发长度的读操作。

 

  1. 首先master去判断arready信号,当该信号为高时,代表slave已经准备好接收新的地址信息,否则master不能给slave发送地址信息
  2. 当第一步完成后,master通过read_addrsess通道给slave发送地址,具体操作:master必须拉高一个arvalid信号,在arvalid信号为高的时候,将对应的地址发送给slave
  3. 当第二步执行完成后,slave就会通过read_data通道返回数据,master必须在rreadyrvalid信号同时为高时,将数据读取,否则不能读取数据;当最后一个数据发送时,slave会将rlast信号同时拉高,代表最后一个数据发送完成。

PS :在数据读取时,读取的数据从图中可以看到不是连续读取,说明slave是空闲时才传递

AXI4写操作

如图2所示,AXI4协议主从设备间的写操作使用写地址写数据写响应通道。只需要一个地址就可以执行最大为256的突发长度的写操作。

 

 

  1. 首先master去判断awready信号,当该信号为高时,代表slave已经准备好接收新的地址信息,否则master不能给slave发送地址信息
  2. 当第一步完成后,master通过write_addrsess通道给slave发送地址,具体操作:master必须拉个一个awvalid信号,在awvalid信号为高的时候,将对应的地址发送给slave

  3. 然后发送写数据,master必须在wready为高的时候,将wvalid信号拉高,同时将数据发送给salve,当master发送最后一个数据时,将wlast信号拉高一个周期,告诉slave这是最后一个数据,当slave收到wlast信号为高时,就会将收到的数据按照指定的地址写入ddr

        4.当master发送完写数据后,必须通过writer response 收到slave的应答信号,Bready会拉      高,在Bvalid也为高电平时,slave会将bresp信号拉高一个周期,master只要判断到该信号为高电平,既可以给slave发送要写的数据

AXI4和AXI4-Lite、AXI4-Stream接口信号

    1)全局信号

信号名

AXI4

AXI4-Lit

ACLK

全局时钟

ARESETN

全局复位,低有效。

 2)写地址通道信号

信号名

AXI4

AXI4-Lit

AWID

写地址ID。这个信号用于写地址信号组的标记。

不支持

AWADDR

写地址

写地址给出突发数据传输的第一个传输地址。

AWLEN

突发长度。给出突发传输中准确的传输个数。支持INCRWRAP传输模式。

突发长度=awlen+1

不支持

AWSIZE

突发大小

这个信号用于确定突发传输中每个传输的大小。

总线位宽=2^size Betyes

不支持

AWBURST

突发类型。该信息与突发大小信息一起,表示在突发过程中,地址如何应用于每个传输。支持INCRWRAP传输模式。

不支持

AWLOCK

锁类型。该信号提供了关于传输原子特性的额外信息(普通或互斥访问)。

不支持

AWCACHE

缓存类型,建议值为0011

AWPROT

保护类型,访问权限,建议值为000

AWQOS

QoS标识符,xilinx AXI4不支持。

不支持

AWREGION

用于每个写操作的地址通道上的域标识符。通过该标识实现一个物理端口对应多个逻辑端口

不支持

AWUSER

xilinx AXI4不支持。

不支持

AWVALID

写地址有效信号。为高指示地址有效。

AWREADY

写地址准备信号。为高表示从设备空闲,准备接收地址;为低表示从设备忙。

    3)写数据通道信号

信号名

AXI4

AXI-Lite

WDATA

写数据32位到1024位宽

只支持32位宽

WSTRB

写字节选通,用于表示更新存储器的字节通道,对于数据总线的每8位数据有一位写选通信号。

从设备端可选择忽略。

WLAST

写最后一个数据指示信号。表示突发传输中的最后一个数据。

不支持

WUSER

xilinx AXI4不支持。

不支持

WVALID

写有效。为高指示数据有效。

WREADY

写准备。为高表示从设备空闲,准备接收数据;为低表示从设备忙。

    4)写响应通道

信号名

AXI4

AXI-Lite

BID

响应ID。写响应识别标记,BID值必须匹配AWID

不支持

BRESP

写响应。该信号表示写状态,可允许相应的表示为OKAY\EXOKAY\SLVERR\DECERR

EXOKAY状态不支持

BUSER

xilinx AXI4不支持。

不支持

BVALID

写响应有效。为高指示响应数据有效。

BREADY

写响应准备。为高表示主设备空闲,准备接收写响应;为低表示主设备忙。

    5)读地址通道

信号名

AXI4

AXI-Lite

ARID

读地址ID。这个信号用于读地址信号组的标记。

不支持

ARADDR

读地址。读地址给出突发数据传输的第一个传输地址。

ARLEN

突发长度。给出突发传输中准确的传输个数。支持INCRWRAP传输模式。

不支持

ARSIZE

突发大小。这个信号用于确定突发传输中每个传输的大小。

不支持

ARBURST

突发类型。该信息与突发大小信息一起,表示在突发过程中,地址如何应用于每个传输。支持INCRWRAP传输模式。

不支持

ARLOCK

锁类型。该信号提供了关于传输原子特性的额外信息(普通或互斥访问)。

不支持

ARCACHE

缓存类型,建议值为0011

ARPROT

保护类型,建议值为000

ARQOS

QoS标识符,xilinx AXI4不支持。

不支持

ARREGION

用于每个读操作的地址通道上的域标识符。

不支持

ARUSER

xilinx AXI4不支持。

不支持

ARVALID

读地址有效信号。为高指示地址有效。

ARREADY

读地址准备信号。为高表示从设备空闲,准备接收地址;为低表示从设备忙。

    6)读数据通道

信号名

AXI4

AXI-Lite

RID

ID标记,该信号是读数据信号组标记,由从设备产生RIDRID必须和读交易中的ARID匹配。

不支持

RDATA

读数据32位到1024位宽

只支持32位宽

RRESP

读响应。该信号表示读状态,可允许相应的表示为OKAY\EXOKAY\SLVERR\DECERR

EXOKAY状态不支持

RLAST

读最后一个数据指示信号。表示突发传输中的最后一个数据。

不支持

RUSER

xilinx AXI4不支持。

不支持

RVALID

读有效。为高指示数据有效。

RREADY

读准备。为高表示主设备空闲,准备接收数据;为低表示主设备忙。

    7AXI4-Stream信号

信号名

默认值

功能

TVALID

No

N/A

Stream读写数据有效。为高指示数据有效。

TREADY

Yes

1

Stream读写读准备。为高表示对端设备空闲,准备接收数据;为低表示对端设备忙。

TDATA

Yes

0

Stream读写数据,84096位宽。

TSTRB

Yes

TKEEP,否则为1

字节选通信号。用于表示更新存储器的字节通道,对于数据总线的每8位数据有一位选通信号。

TKEEP

Yes

1

字节选通信号。TKEEP未被确认的那些相关的字节是空字节,可以从数据流中去除。

TLAST

Yes

0

表明包的边界。

TID

Yes

0

数据流标识符。

TDEST

Yes

0

数据流路由信息。

TUSER

Yes

0

用户定义的边带信息,这些信息能伴随数据流进行发送。

握手信号

主机发送valid信号(数据有效)

从机发送ready信号(准备好了)

 

Master (主机):我们自己

Slave(从机): 例如MIG_DDR

握手信号有三种情况,都是对的,分别如下:

1)vaild在前,ready在后

 (2)vaild在后,ready在前

 

 (3)vaild,ready一起

 

 

AXI相关术语

Channel (通道)

– Independent collection of AXI signals associated to a VALID signal

   

Interface (接口)

– Collection of one or more channels that expose an IP core’s function, connecting a master to a slave

– Each IP core may have multiple interfaces.

– Also: AXI4, AXI4-Lite, AXI4-Stream

   

Bus (总线)

– Multiple-bit signal (not an interface or channel) 多bit信号

一个接口里面有多个通道,每个通道有多个总线

Transfer (传输)

– Single clock cycle where information is communicated, qualified by a VALID handshake. (一个时钟周期的传输)

Data beat.

Transaction (事务)

– Complete communication operation across a channel, composed of a one or more transfers

Burst (突发)

– Transaction that consists of more than one transfer

  • 38
    点赞
  • 384
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
AXI4总线是一种用于高性能片上系统通信的协议。它是一种全面、可靠和可扩展的总线架构,通常被用于连接处理器、嵌入式系统和外设等设备。 AXI4总线的主要特点包括: 1. 突出性能:AXI4总线支持高带宽数据传输,使得各种设备之间的通信更加高效。 2. 灵活性和可扩展性:AXI4总线支持多个从设备连接到一个主设备,甚至支持多个主设备同时访问同一个总线。 3. 保证数据的一致性:AXI4总线使用一致的事务模型,确保数据的完整性和一致性,有效地避免了冲突和竞争条件。 4. 支持流水线传输:AXI4总线采用分阶段流水线方式传输数据,实现了高效的并行处理和数据流动。 AXI4总线的使用需要了解一些基本的概念,如主设备、从设备、地址通道、数据通道和控制通道等。主设备发起读或写事务,从设备则响应这些事务。地址通道用于传递设备之间的地址信息,数据通道用于传递实际的数据,控制通道用于传递控制信号。 AXI4总线协议的详细规范可以在AXI4总线的PDF文档中找到。该文档描述了AXI4总线的各个规范、时序和协议等详细细节,对于理解和设计AXI4总线系统非常有帮助。 总之,AXI4总线是一种高性能、可靠和可扩展的协议,用于连接处理器、嵌入式系统和外设等设备,其规范和细节可以在AXI4总线的PDF文档中找到。希望这些信息对您有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值