msrgr的个人空间 https://blog.eetop.cn/1233728 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

AXI 4总线简介(转载)

已有 3046 次阅读| 2016-12-26 16:08 |个人分类:IO|系统分类:硬件设计

  (一)AXI总线是什么?

    AXI是ARM 1996年提出的微控制器总线家族AMBA中的一部分。AXI的第一个版本出现在AMBA3.0,发布于2003年。当前的最新的版本发布于2010年。

    AXI4:主要面向高性能地址映射通信的需求;

    AXI4-Lite:是一个简单地吞吐量地址映射性通信总线;

    AXI4-Stream:面向高速流数据传输;

    AXI4总线分为主、从两端,两者间可以连续的进行通信。

    ISE从12.3版本,Virtex6,Spartan6芯片开始对AXI4总线提供支持,并且随着Xilinx与ARM的合作面逐渐展开而得到大力推广。

AXI 详情

AXI4

AXI4 协议是 AXI3 的升级,旨在提高多个主系统使用时的互连性能和互连利用率。其包括了如下增强功能:

  • 支持高达 256 个突发长度
  • 服务质量信令
  • 支持多个区域接口

AXI4-Lite

AXI4-Lite 是 AXI4 协议的子集,旨在与组件中较小较简单的控制寄存器型接口实现通信。AXI4-Lite 接口主要特性为:

  • 所有处理的突发长度为 1
  • 所有数据存取的大小等同于数据总线宽度
  • 不支持独占访问

AXI4-Stream

AXI4-Stream 协议旨在实现从主系统向从系统进行单向数据传输,从而显著减少信号传输。该协议的主要优势包括:

  • 使用相同的共享线集支持单数据流和多数据流
  • 在同一互连中支持多数据宽度
  • FPGA 实现的理想选择

    (二)AXI4的优势

    1.通过统一的AXI接口,开发者为开发ip core只需要学习一种协议即可;

    2.AXI4是面向地址映射的接口,允许最大256轮的数据突发传输;

    3.AXI4-Lite是一个轻量级的地址映射单次传输接口,占用很少的逻辑单元;

    4.AXI4-Stream去掉了地址项,允许无限制的数据突发传输规模;

   

    NetFPGA10G采用了AXI4系列总线架构,而Xilinx从Virtex6,Spartan6才开始支持AXI4。因此斯坦福 的开发人员对在Virtex6上编译出的带有AXI4总线的ngc文件进行了修改加载到NetFPGA10G的ipcore中,使之骗过ISE,继续网表映射流程。

    NetFPGA10G主要使用了其中的轻量级AXI4-lite(后文简写为axi)以及AXI4-stream(后文 简写为axis)两者。前者用于CPU与ip core之间的通信;后者用于各ip core之间进行高速数据传输。如果将整个构架分为控制层面与数据层面,则axi主要负责控制层面,axis主要负责数据层面。

     本文后续内容主要对轻量级axi以及axis总线进行介绍,如需AXI4整体总线通信模式,请参看ARM AXI4 Specification,  Xilinx UG761 AXI Reference Guide.

    (三)AXI4的工作模式

    1.握手机制

     AXI4所采用的是一种READY,VALID握手通信机制,即主从模块进行数据通信前,新根据操作对各所用到的数据、地址通道进行握手。主要操作包括传输发送者A等到传输接受者B的READY信号后,A将数据与VALID信号同时发送给B。如下图所示:

    2.axi的工作模式:

    axi总线分为五个通道:

  • 读地址通道,包含ARVALID, ARADDR, ARREADY信号;
  • 写地址通道,包含AWVALID,AWADDR, AWREADY信号;
  • 读数据通道,包含RVALID, RDATA, RREADY, RRESP信号;
  • 写数据通道,包含WVALID, WDATA,WSTRB, WREADY信号;
  • 写应答通道,包含BVALID, BRESP, BREADY信号;
  • 系统通道,包含:ACLK,ARESETN信号;

    其中ACLK为axi总线时钟,ARESETN是axi总线复位信号,低电平有效;读写数据与读写地址类信号宽度都为32bit;READY与VALID是对应的通道握手信号;WSTRB信号为1的bit对应WDATA有效数据字节,WSTRB宽度是32bit/8=4bit;BRESP与RRESP分别为写回应信号,读回应信号,宽度都为2bit,‘h0代表成功,其他为错误。

    A.读操作:

    顺序为主与从进行读地址通道握手并传输地址内容,然后在读数据通道握手并传输所读内容以及读取操作的回应,时钟上升沿有效。如图所示:

    B.写操作:

    顺序为主与从进行写地址通道握手并传输地址内容,然后在写数据通道握手并传输所读内容,最后再写回应通道握手,并传输写回应数据,时钟上升沿有效。如图所示:

    3.axis工作模式

    axis分为:

  • tready信号:从告诉主做好传输准备;
  • tvalid信号:主告诉从数据传输有效;
  • tlast信号:主告诉从该次传输为突发传输结尾;
  • tdata信号:数据,可选宽度32,64,128,256bit
  • tstrb信号:为1的bit为对应tdata有效字节,宽度为tdata/8
  • tuser信号  :用户定义信号,宽度为128bit
  • aclk信号:总线时钟,上升沿有效;
  • aresetn信号:总线复位,低电平有效;

    通信时序如图所示:

 

    axi与axis是AXI4总线中通信复杂度较低的两条总线,最大开发难度存在于axi的控制平面向axis的数据平面下发参数时,由于axi与axis时钟频率不同而产生的跨时钟域数据传输问题。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 0

    评论
  • 1160

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-6 16:44 , Processed in 0.023711 second(s), 15 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部