×

Xilinx AXI Interconnect

消耗积分:5 | 格式:pdf | 大小:108.41KB | 2021-02-23

分享资料个

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 单从器件” 避免法
    固定优先权和轮询仲裁
    支持整体针对每个已连接从器件的 “信任区” 安全功能
    支持只读和只写主器件和从器件,减少资源使用。

    参考文献:https://wenku.baidu.com/view/8d1d313ef121dd36a32d82be.html

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

    评论(0)
    发评论

    下载排行榜

    全部0条评论

    快来发表一下你的评论吧 !