0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

从应用角度详解什么是AXI

Hx 作者:工程师陈翠 2018-07-13 07:08 次阅读

本节介绍的AXI是个什么东西呢,它其实不属于Zynq,不属于Xilinx,而是属于ARM。它是ARM最新的总线接口,以前叫做AMBA,从3.0以后就称为AXI了。

书上讲的AXI比较具体,本节呢不打算落入俗套,从应用角度解释AXI。如果需要深入研究AXI时序,那完全可以从 ?topic=/com.arm.doc.set.amba/ind.。。 下载最权威的规格书,而不是通过别人写的书来获得这些内容(要学习一手材料,不要别人嚼过的)。

Zynq是以ARM作为核心的,运行时也是第一个“醒”过来,然后找可执行代码,找到后进入FSBL(第一引导阶段),接着找配置逻辑部分的bit文件,找到后就叫醒PL按照bit中的方式运行,再接着找可执行代码,进入SSBL(第二引导阶段),这时就可以初始化操作系统的运行环境,引导像Linux这样的大型程序,随后将控制权交给Linux。Linux运行时可以跟PL进行数据交互。注意了,就在这时候,数据交互的通路,就是我们本节要讲的AXI总线。

说白了,AXI就是负责ARM与FPGA之间通信的专用数据通道。

ARM内部用硬件实现了AXI总线协议,包括9个物理接口,分别为AXI-GP0~AXI-GP3,AXI-HP0~AXI-HP3,AXI-ACP接口。如下图黄圈所示。

从应用角度详解什么是AXI

可以看到,只有两个AXI-GP是Master Port,即主机接口,其余7个口都是Slave Port(从机接口)。主机接口具有发起读写的权限,ARM可以利用两个AXI-GP主机接口主动访问PL逻辑,其实就是把PL映射到某个地址,读写PL寄存器如同在读写自己的存储器。其余从机接口就属于被动接口,接受来自PL的读写,逆来顺受。

这9个AXI接口性能也是不同的。GP接口是32位的低性能接口,理论带宽600MB/s,而HP和ACP接口为64位高性能接口,理论带宽1200MB/s。

有人会问,为什么高性能接口不做成主机接口呢?这样可以由ARM发起高速数据传输。答案是高性能接口根本不需要ARM CPU来负责数据搬移,真正的搬运工是位于PL中的DMA控制器

位于PS端的ARM直接有硬件支持AXI接口,而PL则需要使用逻辑实现相应的AXI协议。Xilinx提供现成IP如AXI-DMA,AXI-GPIO,AXI-Datamover都实现了相应的接口,使用时直接从XPS的IP列表中添加即可实现相应的功能。

有时,用户需要开发自己定义的IP同PS进行通信,这时可以利用XPS向导生成对应的IP。xps中用户自定义IP核可以拥有AXI-Lite,AXI4,AXI-Stream,PLB和FSL这些接口。

后两种由于ARM这一端不支持,所以不用。

AXI-Lite具有轻量级,结构简单的特点,适合小批量数据、简单控制场合。不支持批量传输,读写时一次只能读写一个字(32bit)。

AXI4接口和AXI-Lite差不多,只是增加了一项功能就是批量传输,可以连续对一片地址进行一次性读写。

上面两种均采用内存映射控制方式,即ARM将用户自定义IP编入某一地址进行访问,读写时就像在读写自己的片内RAM编程也很方便,开发难度较低。代价就是资源占用过多,需要额外的读地址线、写地址线、读数据线、写数据线、写应答线这些信号线。

另外一种AXI接口就是AXI-Stream,这是一种连续流接口,不需要地址线(很像FIFO,一直读或一直写就行)。对于这类IP,ARM不能通过上面的内存映射方式控制(FIFO根本没有地址的概念),必须有一个转换装置,例如AXI-DMA模块来实现内存映射到流式接口的转换。AXI-Stream适用的场合有很多:视频流处理;通信协议转换;数字信号处理;无线通信等。其本质都是针对数值流构建的数据通路,从信源(例如ARM内存、DMA、无线接收前端等)到信宿(例如HDMI显示器、音频输出等)构建起连续的数据流。这种接口适合做实时信号处理。

有了上面的这些官方IP和向导生成的自定义IP,用户其实不需要对AXI时序了解太多(除非确实遇到问题),因为Xilinx已经将和AXI时序有关的细节都封装起来,用户只需要关注自己的逻辑实现即可。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AXI
    AXI
    +关注

    关注

    1

    文章

    126

    浏览量

    16285
收藏 人收藏

    评论

    相关推荐

    AXI VIP设计示例 AXI接口传输分析

    赛灵思 AXI Verification IP (AXI VIP) 是支持用户对 AXI4 和 AXI4-Lite 进行仿真的 IP。它还可作为 A
    发表于 07-08 09:24 1330次阅读

    AMBA_AXI总线详解

    AMBA_AXI总线详解
    发表于 04-18 11:48

    怎么使用AXI CDMAOCM/DDR写入BRAM

    可以Zynq上运行的Linux控制的额外IP。我要做的就是将一些配置数据写入PL中的BRAM。要做到这一点,根据我在其他地方得到的建议,我提出了一个axi_cdma。所以CDMA有一个
    发表于 04-19 07:50

    请问可以使用AXI-Stream Broadcaster作为AXI开关吗?

    我们可以使用AXI-Stream Broadcaster作为AXI开关吗?如果可能,我们需要控制切换哪个信号?我想开发小型应用程序,它涉及广播AXI流数据并将AXI流数据切换到特定的
    发表于 05-07 09:42

    可以AXI流端口获取输出采样数据吗?

    想知道,如果我启用AXI4Stream,我可以AXI流端口(m_axis_tdata)获取输出采样数据吗?或者它仍然只能从DRP端口获取。配置如下图所示。问候穆罕默德·
    发表于 05-20 14:53

    AXI接口协议详解

    、通信模型图4‑10 AXI主设备与设备之间的通信从上图很容易看出,要通过AXI总线实现通信,我们需要一个主设备/上位机(Master)和一个设备/下位机(Slave),并通过
    发表于 04-08 10:45

    AXI接口协议详解

    1、AXI接口协议详解  AXI 总线  上面介绍了AMBA总线中的两种,下面看下我们的主角—AXI,在ZYNQ中有支持三种AXI总线,拥有
    发表于 10-14 15:31

    一文详解ZYNQ中的DMA与AXI4总线

    在ZYNQ中,支持AXI-Lite,AXI4和AXI-Stream三种总线,但PS与PL之间的接口却只支持前两种,AXI-Stream只能在PL中实现,不能直接和PS相连,必须通过
    的头像 发表于 09-24 09:50 4400次阅读
    一文<b class='flag-5'>详解</b>ZYNQ中的DMA与<b class='flag-5'>AXI</b>4总线

    何谓 AXI?关于AXI3/AXI4的相关基础知识

    引言 近来,几乎每个赛灵思 IP 都使用 AXI 接口。Zynq、Zynq MP、MicroBlaze 和全新的 Versal 处理器都无一例外使用 AXI 接口。因此,AXI 接口已成为几乎所有
    的头像 发表于 09-27 11:06 5950次阅读
    何谓 <b class='flag-5'>AXI</b>?关于<b class='flag-5'>AXI</b>3/<b class='flag-5'>AXI</b>4的相关基础知识

    你必须了解的AXI总线详解

    不同类型的DMA GPIO PL general purpose AXI GP AXI utlilizing PS DMAC High performance w/DMA ACP w/DMA 几种
    的头像 发表于 10-09 18:05 6567次阅读
    你必须了解的<b class='flag-5'>AXI</b>总线<b class='flag-5'>详解</b>

    AXI-Stream代码

    AXI-Stream代码详解 AXI4-Stream跟AXI4的区别在于AXI4-Stream没有ADDR接口,这样就不涉及读写数据的概念了
    的头像 发表于 11-05 17:40 2913次阅读
    <b class='flag-5'>AXI</b>-Stream代码

    AXI总线知识详解解析

    AXI是个什么东西呢,它其实不属于Zynq,不属于Xilinx,而是属于ARM。它是ARM最新的总线接口,以前叫做AMBA,从3.0以后就称为AXI了。
    的头像 发表于 04-09 17:10 5136次阅读
    对<b class='flag-5'>AXI</b>总线知识<b class='flag-5'>详解</b>解析

    AXI4 、 AXI4-Lite 、AXI4-Stream接口

    AXI4 是一种高性能memory-mapped总线,AXI4-Lite是一只简单的、低通量的memory-mapped 总线,而 AXI4-Stream 可以传输高速数据流。从字面意思去理解
    的头像 发表于 07-04 09:40 6099次阅读

    Xilinx FPGA AXI4总线(一)介绍【AXI4】【AXI4-Lite】【AXI-Stream】

    从 FPGA 应用角度看看 AMBA 总线中的 AXI4 总线。
    发表于 06-21 15:21 1872次阅读
    Xilinx FPGA <b class='flag-5'>AXI</b>4总线(一)介绍【<b class='flag-5'>AXI</b>4】【<b class='flag-5'>AXI</b>4-Lite】【<b class='flag-5'>AXI</b>-Stream】

    AXI传输数据的过程

    AXI4为例,有AXI full/lite/stream之分。 在Xilinx系列FPGA及其有关IP核中,经常见到AXI总线接口,AXI总线又分为三种: •
    的头像 发表于 10-31 15:37 462次阅读
    <b class='flag-5'>AXI</b>传输数据的过程