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

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

3天内不再提示

AXI 总线交互分为 Master / Slave 两端

电子设计 来源:电子设计 作者:电子设计 2022-02-08 11:44 次阅读

0、绪论

在 AMBA 系列之 AXI 总线协议初探 中,了解到 AXI 总线交互分为 Master / Slave 两端,而且标准的 AXI 总线支持不同的位宽,既然是总线,那么必须要支持总线互联,多 Master,多 Slave的场景,在 AMBA AXI Specification 的 “AXI Architecture-》Interface and Interconnect ”章节 描述了 Interconnect 的含义;用于AXI总线互联,而且给出了一些基本的互联拓扑结构:

1、共享地址和数据总线

2、共享地址总线,多个数据总线

3、多个地址总线、多个数据总线

根据实际系统的需求,不同的交互速度和互联复杂程度来折中选择方案;

换句话来说,实际的工程中,一个(或者多个)实际的主设备有 AXI Master 控制器,一个(或者多个)从设备有 AXI Slave 控制器,他(们)之间通过 Interconnect 作为桥梁,制定一套互联的规矩(数据/地址总线等);我们可以把这个 AXI Interconnect 理解为一个独立的 IP Core 负责一些互联的事务;

Xilinx 定义了一套它的 AXI Interconnect IP,在 Xilinx 官方网站有对这个 IP 的介绍:

https://china.xilinx.com/products/intellectual-property/axi_interconnect.。.

Xilinx 的 AXI Interconnect IP Core 核心,由 Product Guide 095 (PG095)来描述:

https://www.xilinx.com/support/documentation/ip_documentation/axi_interc.。.

Xilinx 的 AXI Interconnect IP 和 Vivado Design Suite捆绑,产品描述:

包含在Vivado 和 ISE 设计套件中,不收取额外费用

AXI Interconnect IP 将一个或多个 AXI 存储器映射的主器件连接到一个或多个存储器映射的从器件。AXI 接口符合 ARM® 的 AMBA® AXI 第 4 版规范,包括 AXI4-Lite 控制寄存器接口子集。Interconnect IP 仅用于存储器映射传输;AXI4-Stream 传输不适用。AXI Interconnect IP 可作为嵌入式开发套件 (EDK) 中 Vivado® IP 目录中的处理器内核使用,或者作为 CORE Generator™ IP 目录中的独立内核使用。

AXI4-Stream 互联参考:《AXI4-Stream Infrastructure IP Suite LogiCORE IP Product Guide (PG085)》

Product Guide 095 (PG095)中具体描述了 AXI Interconnect 支持的功能:

AXI互联IP核允许任意AXI主设备和AXI从设备的连接,可以根据数据位宽、时钟域和 AXI Sub-protocol 进行转换。当外部主设备或从设备的接口特性不同于互联模块内部的crossbar switch的接口特色时,相应的基本模块(Infrastructure cores)就会被自动的引入来执行正确的转换;

支持的 Feature 如下:

AXI Crossbar:将一个或者多个相似的 AXI memory-mapped Master 设备连接到一个或者多个相似的AXI memory-mapped Slave 设备,也就是 Masters 和 Slaves 的互联;

AXI Data Width Converter:将一个AXI memory-mapped Master 连接到一个数据位宽不同的AXI memory-mapped Slave 设备;

AXI Clock Converter:将一个 AXI memory-mapped Master 连接到一个不同时钟域(Clock domain)的 AXI memory-mapped Slave设备;

AXI Protocol Converter:将 AXI4、AXI3 或者 AXI4-Lite 协议的 Master 连接到不同 AXI 协议的内存映射 Slave 设备;

AXI Data FIFO:在 AXI memory-mapped Master 和 Slave 之间增加一组 FIFO 的缓冲;

AXI Register Slice:在 AXI memory-mapped Master 和 Slave 之间增加一组流水线寄存器;

AXI MMU:为 AXI 提供地址段的 decoding and remapping 服务

下面简单介绍一下一些部分

1、AXI Crossbar

每一个被实例化的 AXI Interconnect (互联模块)都包含一个 AXI Crossbar,用于多个 MI(Master Interface) 和 SI(Slave Interface) 的连接;

Crossbar 的 SI 可以被配置为 1 ~ 16 个 SI Slots,最多接受来自 16 个 Master 的传输,同样,MI 可以被配置为 1 ~ 16 个 MI Slots,最多与 16 个 Slaves 进行通信

1.1、几种可以选择的 Crossbar 互联结构

1.1.1、Crossbar mode (Performance Optimized)

性能最优:

共享地址通道,独立的多数据通道架构 (SAMD:Shared-Address, Multiple-Data);

并行 crossbar 读和写通道,当发生多读写的时候,可以完全并行,互不干扰;

可以根据配置连接的映射来减少 crossbar 数据路径进而减少资源的使用;

共享的写地址仲裁器,加上一个共享的读地址仲裁器,通常仲裁器并不会影响吞吐;

只有 AXI Crossbar 被配置为 AXI-4 或者 AXI-3 的时候,Crossbar mode 才有效;

1.1.2、Shared Access mode (Area optimized)

面积最优:

共享的写入数据、共享读取数据和单独的共享地址路径;

一次传输仅支持一个事务;

使用资源最小;

更多的描述详见文章开头的 PG095

2、AXI Data Width Converter

Master 和 Slave 端 Interface 不同数据位宽的转换:

支持的 Slave Interface(SI) 数据位宽为:32, 64, 128, 256, 512 or 1,024 bits

支持的 Master Interface(MI) 数据位宽为:32, 64, 128, 256, 512 or 1,024 bits (must be different than SI data width)。

When upsizing, data is packed (merged) when permitted by address channel control signals (CACHE modifiable bit is asserted)。

When downsizing, burst transactions are split into multiple transactions if the maximum burst length would otherwise be exceeded

When upsizing, the IP core can optionally perform FIFO buffering and clock frequency conversion (synchronous or asynchronous) in a resource-efficient manner

3、AXI Clock Converter

Master 和 Slave 端 Interface 不同时钟域

支持同步时钟的比例转换,(N:1 and 1:N),转换的 N 是 2

支持异步时钟转换(比同步时钟消耗更多的资源,和 latency)

4、AXI Protocol Converter

4.1、AXI4 or AXI3 to AXI4-Lite protocol

AXI-4 或者 AXI-3 转到 AXI4-Lite 协议,burst 事务转为 AXI4-Lite 的 Single-Beat 传输

4.2、AXI4 to AXI3 protocol

当针对 AXI3 从器件时,可通过分解事务处理内容来转换大于 16 拍的 AXI4 突发量

5、AXI Data FIFO

读写通道独立可配置

基于 32-深度的 LUT-RAM

基于 512-深度的 BRAM

6、小结

简单的描述了 Xilinx AXI Interconnect IP 的部分内容,它的实现内部需要集成 Arbiter 或者 Router 来进行逻辑互联,官方的简要描述如下:

可选的互联架构

纵横机模式(性能最优化):共享地址多数据 (SAMD) 纵横机架构,具有面向写入和读取数据通道的并行路径

共享访问模式(面积最优化):共享的写入数据、共享读取数据和单独的共享地址路径。

AXI 兼容协议(AXI3、AXI4 和 AXI4-Lite)包括:

针对增量 (INCR) 突发量的长达 256 的突发长度

当针对 AXI3 从器件时,可通过分解事务处理内容来转换大于 16 拍的 AXI4 突发量

生成 REGION 输出,供有多个地址解码范围的从器件使用

在每条通道上传播 USER 信号(如果有); 独立的每通道 USER 信号宽度(可选)

传播服务质量 (QoS) 信号(如果有);不被 AXI Interconnect 内核使用(可选)

接口数据宽度:

AXI4: 32、 64、 128、 256、 512、 或 1024 位

AXI4-Lite: 32 位

32 位地址宽度

连接 1-16 个主器件和 1-16 个从器件

内置数据宽度转换、同步/异步时钟速率转换和 AXI4-Lite/AXI3 协议转换功能

可选的寄存器 slice 流水线和数据路径 FIFO 缓冲

可选的数据包 FIFO 功能

时延发出 AWVALID 信号,直到完整的突发量存储在写数据 FIFO 中为止

时延发出 ARVALID 信号,直到读数据 FIFO 有足够的空间存储整个突发量长度为止

在纵横机模式下支持多种出色的事务处理功能

循环依赖(死锁)的 “每 ID 单从器件” 避免法

固定优先权和轮询仲裁

支持整体针对每个已连接从器件的 “信任区” 安全功能

支持只读和只写主器件和从器件,减少资源使用。

审核编辑:何安

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

    关注

    1

    文章

    127

    浏览量

    16617
收藏 人收藏

    评论

    相关推荐

    LM4871功放IN+/-两端、OUT+/-两端,在上电静态时电压不平衡怎么解决?

    LM4871之前为解决POP声,测量时发现,LM4871功放IN+/-两端、OUT+/-两端,在上电静态时电压不平衡,暂判断因此出现了更为明显的POP声,若将反馈电阻调小则会小些许(Rf=30K
    发表于 10-12 08:56

    光收发器两端分别接到哪里

    光收发器(光纤收发器)的两端在网络中扮演着至关重要的角色,它们分别负责发送和接收光信号,以实现长距离的数据传输。具体来说,光收发器的两端分别连接到不同的设备或接口上,以确保数据的顺利传输。以下是对光
    的头像 发表于 08-23 10:27 646次阅读

    瞬时极性法电容两端极性判断

    瞬时极性法电容两端极性判断是电子电路中的一个重要问题,涉及到电容的工作原理、特性以及在电路中的应用。 一、电容的基本概念 电容的定义 电容是一种电子元件,能够存储电荷。它的单位是法拉(F),通常用微
    的头像 发表于 08-21 16:01 1058次阅读

    电源两端的电压为什么是路端电压

    电源两端的电压为什么是路端电压,这是一个涉及到电路原理、电压概念、电源特性等多方面因素的问题。 电压的概念和定义 电压是电场力作用下,单位电荷在点间移动时所做的功。在电路中,电压是衡量电能转换
    的头像 发表于 08-15 09:29 1897次阅读

    THS4541输出的两端信号不是差分的,两端信号相位是一致的,怎么解决?

    如下图所示,我搭建了一个单转差分的电路,用THS4541. 但是它的输出两端信号相位是相同的,差分之后没有幅值,请问应该怎么解决?多谢!
    发表于 08-02 07:29

    滑动变阻器能直接接在电源两端

    可以,但是如果将滑动变阻器直接接在电源两端,可能会带来风险。滑动变阻器是一种常见的电子元件,它可以改变电路中的电阻值,从而改变电路中的电流。在许多电子设备中,滑动变阻器被用来调节音量、亮度、速度等
    的头像 发表于 07-24 14:46 768次阅读

    电容两端的电压由什么决定

    电容两端的电压是由多种因素决定的,包括电容的物理特性、电路的连接方式、电源的特性等。 电容的物理特性 电容是一种能够存储电荷的电子元件,其基本单位是法拉(F)。电容的大小取决于其物理特性,包括电容
    的头像 发表于 07-11 09:49 2111次阅读

    电容两端的电压会发生骤然的变化

    电容两端的电压会发生骤然的变化是一个非常重要的电子学现象,它在许多电子设备和系统中都有着广泛的应用。 电容的基本特性 电容是一种电子元件,它能够存储电荷。电容的基本特性是它的电荷和电压之间的关系,即
    的头像 发表于 07-11 09:47 1382次阅读

    为什么把电压探头并在PFC电感两端会烧掉保险?

    在电力电子和电气工程领域,将电压探头错误地并联到功率因数校正(PFC)电感两端可能会引起电路故障,甚至烧毁保险丝。
    的头像 发表于 05-13 15:15 686次阅读

    SoC设计中总线协议AXI4与AXI3的主要区别详解

    AXI4和AXI3是高级扩展接口(Advanced eXtensible Interface)的个不同版本,它们都是用于SoC(System on Chip)设计中的总线协议,用于处
    的头像 发表于 05-10 11:29 6512次阅读
    SoC设计中<b class='flag-5'>总线</b>协议<b class='flag-5'>AXI</b>4与<b class='flag-5'>AXI</b>3的主要区别详解

    需要用个电流源并联连接在负载两端

    接线如下图所示,个电流源并联接在负载两端,Iload电流一般在百A以上,Isense电流一般在1A以下。 请问在实际在接入负载的时候,可以直接将个电流源输出并在一起接在负载
    发表于 05-06 13:49

    FPGA通过AXI总线读写DDR3实现方式

    AXI总线由一些核心组成,包括AXI主处理器接口(AXI4)、AXI处理器到协处理器接口(AXI
    发表于 04-18 11:41 1254次阅读

    MOS管驱动电路gs两端并接一个电阻有何作用?

    如图所示MOS管驱动电路,定性分析可知,当MOS管关断时,MOS管两端应力为Vds,此时Vds向Cgd和Cgs充电,可能导致Vgs达到Vgs(th)导致MOS管误导通。
    的头像 发表于 02-27 14:15 2815次阅读
    MOS管驱动电路gs<b class='flag-5'>两端</b>并接一个电阻有何作用?

    为什么有的RS485总线两端必须安装有源终端电阻?

    为什么有的RS485总线两端必须安装有源终端电阻? RS485是一种常用的串行通信标准,用于长距离数据传输。在典型的RS485总线中,两端需要安装有源终端电阻。本文将详细探讨为什么有的
    的头像 发表于 02-06 10:28 4336次阅读

    直接量差分信号两端为什么测不准?解析原因及解决方案!

    在电子测量领域,直接量差分信号是常见的信号类型之一。然而,有时候我们会发现,在对直接量差分信号进行测量时,无法获得准确的结果。那么,为什么直接量差分信号两端会难以测量呢?接下来,我们将一一解析原因
    的头像 发表于 12-19 11:31 567次阅读
    直接量差分信号<b class='flag-5'>两端</b>为什么测不准?解析原因及解决方案!