[FPGA AXI IP] AXI Chip2Chip

AXI Chip2Chip IP 详细介绍

概述

AXI Chip2Chip 专为多设备系统级芯片(SoC)设计提供高效的 AXI 协议桥接功能,支持 FPGA 之间、FPGA 与 SoC 之间(如 Zynq-7000、Zynq UltraScale+ MPSoC)的高性能、低引脚数的 AXI 接口连接。它通过多种物理层(PHY)接口(如 Aurora 64B/66B、SelectIO)实现跨芯片的 AXI 数据传输,广泛应用于多 FPGA 系统、实时视频处理、网络通信和嵌入式系统集成。

该 IP 核的主要功能包括:

  • AXI 协议桥接:在两个设备之间透明桥接 AXI4 或 AXI4-Lite 接口,符合 AXI 协议规范。
  • 低引脚数设计:通过通道复用和宽度转换(2:1 或 4:1),减少 FPGA I/O 引脚使用。
  • 多 PHY 支持:支持 Aurora 64B/66B、Aurora 8B/10B 和 SelectIO 接口,适应不同传输需求。
  • 主从模式:支持 Master 和 Slave 模式,点对点连接,灵活适配系统架构。
  • 高性能传输:通过优先级轮询复用和中断通道,提供高吞吐量和低延迟。

主要特性

AXI Chip2Chip IP 具有以下关键特性:

  1. AXI 协议兼容性

    • 符合 ARM AMBA AXI4 和 AXI4-Lite 协议规范(参考 UG761)。
    • AXI4 接口:支持 32、64、128、256、512 或 1024 位数据宽度,适用于高带宽数据传输。
    • AXI4-Lite 接口:支持 32 位数据宽度,适用于低带宽控制信号传输。
    • 通道独立性:支持 AXI 读地址、写地址、读数据、写数据和写响应通道的独立操作,符合 Valid-Ready 握手机制。
  2. 物理层(PHY)支持

    • Aurora 64B/66B:高速串行收发器接口,适合 UltraScale 和 UltraScale+ 设备,支持高带宽和长距离传输。
    • Aurora 8B/10B:适用于 7 系列设备(如 Artix-7),支持 GTY 收发器与 8B/10B 协议设备的连接(参考 web:23)。
    • SelectIO:使用 FPGA 的通用 I/O 引脚,支持低速但灵活的连接,适合短距离通信。
    • 通道复用:通过通道复用器(Channel Multiplexer)将 AXI 地址、数据和中断信号复用到同一组 FPGA I/O 引脚(参考 web:0、web:8)。
  3. 主从模式

    • Master 模式:AXI Chip2Chip 核作为 AXI 从接口(Slave),接收 AXI 事务并通过 PHY 传输到 Slave 核。
    • Slave 模式:AXI Chip2Chip 核作为 AXI 主接口(Master),输出从 Master 核接收的 AXI 事务。
    • 点对点连接:每个 Master 核需连接一个 Slave 核,形成点对点桥接(参考 web:14)。
  4. 时钟模式

    • 公共时钟(Common Clock):AXI 接口和 PHY 接口共享同一时钟,简化设计。
    • 独立时钟(Independent Clock):AXI 接口和 PHY 接口可使用不同时钟,支持跨时钟域传输(参考 web:0、web:8)。
    • 时钟频率:最高支持 200 MHz(7 系列设备,SelectIO 模式),或更高频率(UltraScale 设备,Aurora 模式,参考 PG067 表 2-1)。
  5. 宽度转换

    • 支持 2:1 或 4:1 的 PHY 数据宽度转换,减少 I/O 引脚使用。
    • 例如,256 位 AXI 数据可通过 128 位(2:1)或 64 位(4:1)PHY 传输(参考 PG067,第 6 页)。
  6. 中断支持

    • 通过高优先级内部通道传输电平中断信号,支持 Master 和 Slave 之间的独立中断通信。
    • Master 核可生成链接错误中断,通知系统异常(参考 web:0、web:8)。
  7. 工具与设备支持

    • 设计工具:Vivado Design Suite、ISE Design Suite、嵌入式开发套件(EDK)。
    • 支持设备:Artix-7、Kintex-7、Virtex-7、Zynq-7000、Kintex UltraScale、Virtex UltraScale、Zynq UltraScale+ MPSoC、Versal Prime、Versal AI Core。
    • 免费随 Vivado 和 ISE 设计套件提供,无需额外许可(参考 web:2、web:23)。

功能模块

AXI Chip2Chip IP 的核心功能是提供跨芯片的 AXI 协议桥接,其主要功能模块包括以下几个方面 :

1. 通道复用器(Channel Multiplexer)

  • 功能:将 AXI 地址、数据和中断信号复用到一组 FPGA I/O 引脚,减少引脚使用。
  • 机制
    • 采用优先级轮询(Priority Round-Robin)复用策略:
      • 最高优先级:中断信号,确保快速响应。
      • 次高优先级:AXI4-Lite 接口,适合低带宽控制。
      • 最低优先级:AXI4 接口,处理高带宽数据。
    • 支持 2:1 或 4:1 宽度转换,优化 I/O 利用率(参考 web:0、web:8)。
  • 应用:减少物理连接需求,适合引脚受限的设计。

2. AXI 接口模块

  • 功能:处理 AXI4 或 AXI4-Lite 协议的事务,分为 Master 和 Slave 模式。
  • 机制
    • Master 模式:接收 AXI 从接口输入,将事务打包并通过 PHY 传输。
    • Slave 模式:接收 PHY 数据,解包后通过 AXI 主接口输出。
    • 确保 AXI 通道的 Valid-Ready 握手机制符合协议规范(参考 web:14)。
  • 应用:实现跨芯片的 AXI 数据和控制信号传输。

3. 物理层接口(PHY Interface)

  • 功能:通过 Aurora 或 SelectIO 实现物理数据传输。
  • 机制
    • Aurora 64B/66B:使用高速收发器,提供高带宽和长距离传输,适合 UltraScale 设备。
    • Aurora 8B/10B:兼容 7 系列设备,支持 8B/10B 编码(参考 web:23)。
    • SelectIO:使用 FPGA 通用 I/O,支持灵活但较低速的连接。
  • 应用:适配不同的传输距离和带宽需求。

4. 中断处理模块

  • 功能:通过高优先级通道传输电平中断信号。
  • 机制
    • Master 和 Slave 核检测中断输入变化后,发起高优先级传输,更新对方核的中断输出。
    • Master 核可生成链接错误中断(如 PHY 断开)。
  • 应用:支持实时中断通信,如错误通知或事件触发。

5. 时钟与复位模块

  • 功能:管理时钟和复位信号,支持同步和异步模式。
  • 机制
    • 公共时钟:AXI 和 PHY 共享时钟(axi_aclk)。
    • 独立时钟:AXI 使用 axi_aclk,PHY 使用 fpga_io_aclk
    • 复位信号(axi_aresetn)需与时钟同步,确保系统初始化(参考 PG067,第 9 页)。
  • 应用:支持灵活的时钟域配置,适应复杂系统。

接口说明

以下是 AXI Chip2Chip IP 的主要接口及其功能:

  1. AXI4 接口(M_AXI 或 S_AXI)

    • 类型:AXI4 主接口(Slave 模式)或从接口(Master 模式)。
    • 信号
      • AXI_ARADDRARVALIDARREADY:读地址通道。
      • AXI_RDATARRESPRVALIDRREADY:读数据通道。
      • AXI_AWADDRAWVALIDAWREADY:写地址通道。
      • AXI_WDATAWVALIDWREADY:写数据通道。
      • AXI_BRESPBVALIDBREADY:写响应通道。
    • 功能:传输高带宽数据,数据宽度可配置为 32 至 1024 位。
    • 时钟axi_aclk
  2. AXI4-Lite 接口(M_AXI_LITE 或 S_AXI_LITE)

    • 类型:AXI4-Lite 主接口或从接口,固定 32 位数据宽度。
    • 信号:与 AXI4 类似,但简化且无突发支持。
    • 功能:传输低带宽控制信号。
    • 时钟axi_aclk
  3. 物理层接口(FPGA I/O 或 Aurora)

    • SelectIO
      • FPGA_IO_PFPGA_IO_N:差分 I/O 引脚。
      • 功能:通过 FPGA 通用 I/O 传输复用数据。
    • Aurora 64B/66B 或 8B/10B
      • TX_PTX_NRX_PRX_N:收发器差分对。
      • 功能:通过高速串行收发器传输数据。
    • 时钟fpga_io_aclk(SelectIO 或 Aurora 初始化时钟)。
  4. 时钟与复位接口

    • axi_aclk:AXI 接口时钟。
    • fpga_io_aclk:PHY 接口时钟(独立时钟模式)。
    • axi_aresetn:低电平有效复位信号,同步到 axi_aclk
    • fpga_io_aresetn:PHY 接口复位信号(独立时钟模式)。
  5. 中断接口

    • INT_IN:中断输入信号。
    • INT_OUT:中断输出信号。
    • 功能:支持 Master 和 Slave 之间的中断通信。

配置方法

1. 在 Vivado 中添加 IP

  • 打开 Vivado 的 IP Catalog,搜索 AXI Chip2Chip,将其添加到设计。
  • 双击 IP 核,打开定制化对话框(参考 PG067,第 27-33 页,图 4-1),配置以下参数:
    • 基本设置
      • Chip2Chip AXI Mode:选择 Master 或 Slave 模式。
      • AXI Data Width:选择 32、64、128、256、512 或 1024 位。
      • PHY Interface:选择 SelectIO、Aurora 64B/66B 或 Aurora 8B/10B。
    • 时钟设置
      • AXI Clocking Mode:选择 Common Clock 或 Independent Clock。
      • AXI Clock Frequency:设置 axi_aclk 频率(默认 100 MHz)。
    • PHY 设置
      • Chip2Chip PHY Width:选择 2:1 或 4:1 宽度转换。
      • Aurora Lanes:配置 Aurora 通道数(1-16,视设备而定)。
      • SelectIO Standard:选择 I/O 标准(如 LVDS、HSTL)。
    • 其他
      • Include AXI4-Lite:启用 AXI4-Lite 接口。
      • Interrupt Support:启用中断通道。

2. 连接与驱动

  • 硬件连接
    • 将 AXI 接口(M_AXIS_AXI)连接到系统中的 AXI 主/从设备(如 AXI Interconnect)。
    • 将 PHY 接口连接到目标 FPGA:
      • SelectIO:分配差分 I/O 引脚,确保匹配 I/O 标准。
      • Aurora:连接到 Aurora 64B/66B 或 8B/10B IP 核,配置收发器(参考 web:23)。
    • 分配时钟(axi_aclkfpga_io_aclk)和复位(axi_aresetnfpga_io_aresetn)信号。
    • 使用 Vivado 地址编辑器为 AXI Chip2Chip 核分配地址空间(参考 web:14)。
  • 驱动程序
    • AXI Chip2Chip 核通常无需专用驱动程序,依赖 AXI 主设备的驱动(如 Zynq PS 的 AXI 驱动)。
    • 中断处理需通过处理器(如 MicroBlaze)或中断控制器配置。
    • 参考 Xilinx 提供的应用笔记(如 XAPP1216,web:23)实现 Aurora 连接。

3. 仿真与验证

  • 使用 Vivado 仿真工具验证桥接功能:
    • 检查 AXI 接口的 Valid-Ready 握手和数据传输。
    • 验证 PHY 接口的信号完整性(SelectIO 或 Aurora)。
    • 测试中断信号的触发和响应。
  • 确保时钟频率和 PHY 配置满足带宽需求,参考 PG067 表 2-1 的性能数据。

资源利用情况

根据 PG067 表 2-1(第 10 页),AXI Chip2Chip IP 的资源占用取决于 AXI 数据宽度、PHY 类型和时钟模式。以下是典型资源利用情况(基于 7 系列、UltraScale 和 Zynq 设备,Vivado 生成):

  • 资源类型
    • LUT(查找表):500-4000,取决于数据宽度和 PHY 类型。
    • FF(触发器):600-5000,与 LUT 占用相关。
    • BRAM:0-2,Aurora 模式可能使用少量 BRAM。
    • 收发器:Aurora 模式使用 1-16 个 GT 通道。
  • 配置示例
    • 32 位 AXI,SelectIO,Common Clock:约 500 LUT、600 FF、0 BRAM。
    • 128 位 AXI,Aurora 64B/66B,Independent Clock:约 2000 LUT、2500 FF、1 BRAM、2 GT 通道。
    • 256 位 AXI,Aurora 8B/10B:约 3000 LUT、3500 FF、2 BRAM、4 GT 通道。
  • 最大频率
    • 7 系列(SelectIO):200 MHz。
    • UltraScale(Aurora 64B/66B):250 MHz 或更高(参考 web:2)。

具体资源利用数据需参考 Vivado 生成的报告,建议用户根据目标设备和配置验证资源占用。


应用场景

AXI Chip2Chip IP 适用于以下场景(参考 PG067,第 8 页,web:14、web:23):

  1. 多 FPGA 系统

    • 连接多个 FPGA,实现 AXI 协议的跨芯片通信。
    • 例如,在多 FPGA 板卡中通过 Aurora 传输高带宽数据。
  2. Zynq SoC 集成

    • Zynq PS(ARM 处理器)通过 AXI Chip2Chip 控制 PL 或外部 FPGA。
    • 例如,Zynq-7000 PS 通过 AXI 访问 Kintex-7 FPGA 的内存(参考 web:14)。
  3. 实时视频处理

    • 通过 Aurora 64B/66B 传输视频流,支持实时视频处理系统。
    • 参考应用笔记 XAPP1216,展示 Kintex-7 和 Zynq-7000 之间的视频桥接(web:23)。
  4. 网络通信

    • 在网络处理器中实现 FPGA 之间的控制和数据传输。
    • 使用 AXI4-Lite 接口传输控制信号,AXI4 接口传输数据。
  5. 嵌入式系统

    • 在 Versal 或 UltraScale+ 系统中实现低引脚数的芯片间通信。
    • 例如,通过 SelectIO 连接短距离 FPGA。

注意事项

  1. PHY 选择

    • Aurora 适合高带宽、长距离传输,但需要收发器资源和复杂配置(参考 web:14)。
    • SelectIO 适合低速、短距离连接,配置简单但带宽有限。
    • 需根据应用需求选择合适的 PHY 类型。
  2. 时钟配置

    • 独立时钟模式需要额外的时钟域同步逻辑,可能增加 LUT 和 FF 占用(参考 web:0、web:8)。
    • 确保 axi_aclkfpga_io_aclk 的频率满足吞吐量需求。
  3. 地址分配

    • AXI Chip2Chip Master 的 AXI 地址需通过 Vivado 地址编辑器分配,Slave 核将使用相同的地址输出事务(参考 web:14)。
    • 错误地址分配可能导致数据传输失败。
  4. Aurora 连接

    • Aurora 接口需手动连接到 Aurora IP 核,配置复杂,建议参考应用笔记 XAPP1216(web:23)。
    • 确保收发器参考时钟和通道配置匹配。

总结

AXI Chip2Chip IP(PG067)是一款高效的 AXI 协议桥接软核,专为多设备 SoC 系统设计,支持 FPGA 和 SoC 之间的低引脚数、高性能通信。其通过通道复用、宽度转换和多 PHY 支持(Aurora、SelectIO),实现 AXI4 和 AXI4-Lite 接口的透明桥接,广泛应用于多 FPGA 系统、Zynq SoC 集成、实时视频处理和网络通信等领域。

FPGA设计工具推荐

  • SZ901
    SZ901 是一款基于XVC协议的FPGA网络下载器。

    • 最高支持53M
    • 支持4路JTAG独立使用
    • 支持端口合并
    • 支持国产FLASH烧写
    • 下载器无限扩展
    • 配备专属程序固化软件,一键烧写,能大大减小程序固化时间!
  • SZ501(PRO_A7)

    • SZ501 是一款适合初学者FPGA开发板,包含低速高速接口!
    • 双网口(RGMII)
    • 双SFP+
    • DDR
    • UART
    • IIC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值