FPGA——AXI4总线详解

这篇具有很好参考价值的文章主要介绍了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协议的优势

axi4,fpga开发

可以挂载多个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的突发长度的读操作。

axi4,fpga开发 

  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的突发长度的写操作。

axi4,fpga开发 

axi4,fpga开发 

  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信号(准备好了)

axi4,fpga开发 

Master (主机):我们自己

Slave(从机): 例如MIG_DDR

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

(1)vaild在前,ready在后

axi4,fpga开发

 (2)vaild在后,ready在前

axi4,fpga开发 

 (3)vaild,ready一起

axi4,fpga开发 

 

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文章来源地址https://www.toymoban.com/news/detail-781772.html

到了这里,关于FPGA——AXI4总线详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 带你快速入门AXI4总线--AXI4-Full篇(1)----AXI4-Full总线

    目录 1、什么是AXI4-Full? 2、通道(Channel) 2.1、AXI 读取传输事务 2.2、AXI 写入传输事务

    2024年02月01日
    浏览(51)
  • FPGA-基于AXI4接口的DDR3读写顶层模块

    AXI4(Advancede Xtensible Interface 4)是一种高性能、高带宽的总线接口协议,用于在系统级芯片设计中连接不同的IP核(Intellectual Property)或模块。它是由ARM公司开发的,被广泛应用于各种SoC(System-on-Chip)设计中。 AXI4接口协议定义了一组规范,用于描述数据传输、地址传输、控

    2024年04月15日
    浏览(58)
  • AXI4-Full Xilinx FPGA使用理解---信号定义理解

             一、AXI4 signal dir Xilinx 中文理解 ID类 AWID M2S Masters need only output the set of ID bits that it varies (if any) to indicate re-orderable transaction threads. Single-threaded master interfaces can omit this signal. Masters do not need to output the constant portion that comprises the Master ID, as this is appended by the AXI Interco

    2024年02月22日
    浏览(51)
  • AXI4总线学习心得(一)

    AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大 256 轮的数据突发传输; AXI4-Lite:(For simple, low-throughput memory-mapped communication )是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元。 AXI4-Stream:

    2024年02月12日
    浏览(42)
  • 紫光FPGA DDR3 IP使用和注意事项(axi4协议)

    紫光DDR3 IP使用 对于紫光ddr3 IP核的使用需要注意事情。 阅读ddr ip手册: 1、注意:对于写地址通道,axi_awvalid要一直拉高,axi_awready才会拉高。使用的芯片型号时PG2L100H-6FBG676,不同的型号IP核接口和axi的握手协议也不一样(一定要注意),这点要注意,这也给我挖了一个很大的

    2024年04月12日
    浏览(51)
  • FPGA----UltraScale+系列的PS侧与PL侧通过AXI-HP交互(全网唯一最详)附带AXI4协议校验IP使用方法

    1、之前写过一篇关于ZYNQ系列通用的PS侧与PL侧通过AXI-HP通道的文档,下面是链接。 FPGA----ZCU106基于axi-hp通道的pl与ps数据交互(全网唯一最详)_zcu106调试_发光的沙子的博客-CSDN博客 大家好,今天给大家带来的内容是,基于AXI4协议的采用AXI-HP通道完成PL侧数据发送至PS侧(PS侧数

    2024年02月13日
    浏览(51)
  • ZYNQ AXI4总线访问DDR3实现图像数据乒乓存储与显示

    目录 前言 一、添加端口 二、添加局部变量 三、例化读写FIFO 四、内部变量修改,设置一次读写进行多少次突发操作 五、写地址 六、读地址 七、状态机 1.写状态机 2.读状态机 总结 在Altera FPGA进行图像处理时,我们采用的存储芯片为SDRAM,当时参照正点原子的例程是封装SDR

    2024年02月02日
    浏览(69)
  • ZYNQ使用AXI4-HP接口总线读取DDR中的数据

    最近笔者在做项目的时候需要使用zynq中的AXI4-HP总线在PL端读取DDR中的数据这种功能,但是网上很多历程对于这方面只是创建了一个官方提供的IP核用于测试,并且每次写入和读取的长度为4K字节。所以为了满足我自己的项目需求,笔者将官方提供的测试IP核上做修改,主要实现

    2023年04月15日
    浏览(46)
  • 详解AXI4-Full接口(1)--什么是AXI4-Full接口?

    目录 1、什么是AXI4-Full? 2、通道(Channel) 2.1、AXI 读取传输事务 2.2、AXI 写入传输事务

    2024年02月09日
    浏览(58)
  • 【正点原子FPGA连载】第二十章AXI4接口之DDR读写实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html Xilinx从Spartan-6和Virtex-6系列开始使用AXI协议来连接IP核。在ZYNQ MPSOC器件中,Xilinx在IP核中继续使用AXI协议。本章

    2024年02月02日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包