AXI4-Stream Accelerator Adapter IP (PG081) 详细介绍

关注、星标公众号,精彩内容每日送达
来源:网络素材


概述

AXI4-Stream Accelerator Adapter 用于连接硬件加速器与嵌入式 CPU。它通过提供 AXI4-Stream 接口与 AXI4 基础设施组件相连,同时为加速器 IP 提供 BRAM/FIFO 接口,从而提升 FPGA 逻辑中硬件加速器的整体系统级性能。该 IP 核广泛应用于需要高性能硬件加速的场景,例如 Zynq-7000 SoC 系列和其他 FPGA 平台。

该 IP 核的主要功能包括:

  • 连接性

    :在 AXI4-Stream 协议和加速器 IP 之间提供桥梁,支持高效数据传输。

  • 多通道支持

    :支持多达 8 个 Stream-to-Memory(S2M)、Memory-to-Stream(M2S)和 Memory-to-Memory(M2M)通道。

  • 灵活的接口

    :支持多种数据宽度和标量接口,适应不同应用需求。

  • 任务流水线

    :与 Vivado HLS 结合,支持任务流水线化,提升加速器效率。


主要特性

AXI4-Stream Accelerator Adapter IP 具有以下关键特性:

  1. 接口支持

  • AXI4-Stream 接口

    :连接 AXI4 基础设施组件,支持 32、64、128 和 256 位数据宽度。

  • BRAM/FIFO 接口

    :面向加速器 IP,支持 8、16、32 和 64 位数据宽度。

  • AXI4-Lite 接口

    :作为 32 位从接口,用于配置和控制。

  • 标量接口

    :支持多达 8 个输入标量、8 个输出标量和 8 个输入/输出标量。

  • 多缓冲支持

    • AXI4-Stream 到块存储器多缓冲

      (S2M)

    • 块存储器到 AXI4-Stream 多缓冲

      (M2S)

    • 存储器到存储器多缓冲

      (M2M)

    • AXI4-Stream 到加速器 FIFO

      (F2F)

    • 加速器 FIFO 到 AXI4-Stream
    • 支持非对称多缓冲数据宽度,允许 AXI4-Stream 和 BRAM/FIFO 接口之间的灵活数据宽度转换。

    • 提供多缓冲功能,包括:

  • 数据传输控制

    • M2S 多缓冲

      :通过 AXI4-Stream 主接口传输加速器输出数据,需等待加速器通过 acc_handshake 接口发出 ap_done 信号后才开始传输(通过 TVALID 信号),并在最后一个数据节拍上置位 TLAST

    • F2F 通信

      :支持加速器之间的流式通信,数据可用时立即启动 AXI4-Stream 传输,单数据节拍的延迟,TLAST 由加速器通过 acc_handshake 信号触发。

  • 时钟域支持

    • 支持加速器逻辑与 AXI4-Stream 时钟域异步运行,适用于加速器逻辑运行速度快于 AXI4 基础设施或直接连接外部 I/O 模块的场景。

  • 工具与设备支持

    • 设计工具

      :Vivado Design Suite、ISE Design Suite。

    • 支持设备

      :Artix-7、Kintex-7、Kintex UltraScale、Kintex UltraScale+、Virtex-7、Virtex UltraScale、Virtex UltraScale+、Zynq-7000、Zynq UltraScale+ MPSoC。

    • 该 IP 核随 Vivado 和 ISE 设计套件免费提供,无需额外费用。


    功能模块

    AXI4-Stream Accelerator Adapter IP 的功能模块主要围绕数据传输和接口转换,具体包括以下几个方面:

    1. AXI4-Stream 到块存储器多缓冲(S2M)
    • 功能

      :将 AXI4-Stream 数据流存储到块存储器(BRAM)中。

    • 接口

      :AXI4-Stream 从接口接收数据,BRAM 从接口向加速器提供数据。

    • 应用

      :适用于需要将输入数据流存储到本地缓冲区以供加速器处理的场景。

    2. 块存储器到 AXI4-Stream 多缓冲(M2S)
    • 功能

      :将加速器生成的输出数据从 BRAM 传输到 AXI4-Stream 主接口。

    • 接口

      :BRAM 从接口接收加速器数据,AXI4-Stream 主接口输出数据。

    • 控制

      :需加速器通过 acc_handshake 接口发出 ap_done 信号,传输完成后置位 TLAST

    • 数据宽度转换

      :支持 BRAM 和 AXI4-Stream 数据通道之间的数据宽度转换,提高系统性能和效率。

    3. 存储器到存储器多缓冲(M2M)
    • 功能

      :在 BRAM 缓冲区之间直接传输数据,适用于加速器内部数据处理。

    • 接口

      :双 BRAM 接口(读写)。

    • 控制

      :传输需等待加速器完成任务(通过 acc_handshake 信号)。

    4. AXI4-Stream 到加速器 FIFO(F2F)
    • 功能

      :支持加速器之间的流式通信,数据通过 FIFO 传输。

    • 接口

      :AXI4-Stream 主/从接口,加速器 FIFO 接口。

    • 特点

      :数据可用时立即传输,延迟仅为单数据节拍,TLAST 由加速器触发。

    • 应用

      :适用于 Vivado HLS 创建的加速器,具有 acc_fifo 接口,无需硬件缓冲或数据包化。

    5. 标量接口
    • 功能

      :通过 AXI4-Lite 接口支持标量参数的传递。

    • 支持

      :8 个输入标量、8 个输出标量和 8 个输入/输出标量。

    • 应用

      :用于配置加速器参数或传递控制信号。


    应用场景

    AXI4-Stream Accelerator Adapter IP 适用于以下场景:

    1. 硬件加速器与嵌入式 CPU 的集成

    • 通过 AXI4-Stream 接口连接到 Zynq-7000 或其他 SoC 的处理系统(PS),实现硬件加速器与 CPU 的高效通信。

    • 适用于视频处理、信号处理、机器学习等需要高性能计算的场景。

  • 任务流水线化

    • 与 Vivado HLS 结合,通过任务流水线支持高吞吐量加速器设计。

    • 适用于需要连续处理数据流的实时应用,例如图像处理或数据包处理。

  • 异步时钟域处理

    • 支持加速器逻辑与 AXI4-Stream 时钟域异步运行,适用于外部 I/O 模块或高速加速器逻辑。

  • 多通道数据处理

    • 支持多达 8 个 S2M、M2S 和 M2M 通道,适合多任务并行处理场景。


    接口说明

    以下是 AXI4-Stream Accelerator Adapter IP 的主要接口及其功能:

    1. AXI4-Stream 接口

    • 主接口

      :用于输出数据(M2S、F2F),包括 TVALIDTLASTTDATA 等信号。

    • 从接口

      :用于接收数据(S2M、F2F),包括 TREADYTDATA 等信号。

    • 数据宽度

      :支持 32、64、128、256 位。

  • BRAM/FIFO 接口

    • BRAM 接口

      :提供随机访问数据,支持 bram_rtl IP-XACT 总线定义。

    • FIFO 接口

      :用于流式数据传输,支持 acc_fifo 接口。

    • 数据宽度

      :支持 8、16、32、64 位。

  • AXI4-Lite 接口

    • 32 位从接口,用于配置 IP 核和传递标量参数。

    • 支持读写操作,典型用于初始化和状态监控。

  • acc_handshake 接口

    • 用于加速器任务完成信号(ap_done)的传递,触发 AXI4-Stream 数据传输。


    资源利用情况

    根据 PG081 和相关资源利用文档(、),AXI4-Stream Accelerator Adapter IP 的资源占用取决于配置参数(如通道数、数据宽度等)。以下是一些典型配置的资源利用情况(基于 Vivado IP 核生成数据):

    • 设备系列

      :Artix-7、Kintex-7、Zynq-7000 等。

    • 资源类型

      • LUT(查找表)

        :随通道数和数据宽度增加而增加,典型值为数百到数千。

      • FF(触发器)

        :类似 LUT,随配置复杂度变化。

      • BRAM

        :依赖于缓冲区深度和通道数,典型为 1-8 个 36Kb BRAM。

      • DSP 切片

        :通常不使用,除非启用特定数据宽度转换。

    • 配置示例

      • 单通道、32 位 AXI4-Stream 和 32 位 BRAM:约 500 LUT、600 FF、1-2 BRAM。

      • 8 通道、256 位 AXI4-Stream 和 64 位 BRAM:约 3000 LUT、3500 FF、4-8 BRAM。

    具体资源利用数据需参考 Vivado IP 核生成报告,建议用户在设计时根据目标设备和配置参数进行验证。


    使用方法

    1. 在 Vivado 中添加 IP
    • 打开 Vivado 的 Block Design,右键选择 Add IP

    • 搜索 AXI4-Stream Accelerator Adapter,将其拖入设计。

    • 双击 IP 核,配置以下参数:

      • 通道数

        :选择 S2M、M2S、M2M 或 F2F 通道数量(1-8)。

      • 数据宽度

        :设置 AXI4-Stream(32/64/128/256 位)和 BRAM/FIFO(8/16/32/64 位)数据宽度。

      • 标量接口

        :配置输入/输出标量数量。

      • 时钟域

        :指定 AXI4-Stream 和加速器时钟。

    2. 与 Vivado HLS 集成
    • 在 Vivado HLS 中设计加速器,使用 #pragma 定义 acc_fifo 或 BRAM 接口。

    • 将 HLS 生成的加速器 IP 与 AXI4-Stream Accelerator Adapter 连接,确保接口兼容。

    • 配置 acc_handshake 接口以支持任务完成信号。

    3. 验证与调试
    • 使用 Vivado 的仿真工具验证数据流和任务流水线。

    • 检查 AXI4-Stream 信号(TVALIDTREADYTLAST)和 acc_handshake 信号的时序。

    • 参考 PG081 文档中的示例设计()。


    注意事项

    1. 时钟域配置

    • 确保 AXI4-Stream 和加速器时钟域正确配置,避免跨时钟域问题。

    • 如需异步时钟,使用 AXI4-Stream Clock Converter IP()。

  • 数据宽度匹配

    • AXI4-Stream 和 BRAM/FIFO 数据宽度需合理配置,避免性能瓶颈。

    • 使用 AXI4-Stream Data Width Converter IP()进行宽度转换。

  • TREADY 信号

    • 确保 AXI4-Stream 从接口的 TREADY 信号正确连接,避免数据流阻塞()。

  • 文档参考

    • 主要参考 PG081(AXI4-Stream Accelerator Adapter v2.1 产品指南)。

    • 辅助参考 PG085(AXI4-Stream Infrastructure IP Suite)和其他相关文档。


    总结

    AXI4-Stream Accelerator Adapter IP (PG081) 是一款功能强大且灵活的基础设施 IP 核,专为硬件加速器与嵌入式 CPU 的高效连接而设计。它通过 AXI4-Stream 和 BRAM/FIFO 接口支持多种数据传输模式,适用于高性能 FPGA 和 SoC 应用。凭借多通道支持、灵活的数据宽度配置和与 Vivado HLS 的无缝集成,该 IP 核在视频处理、信号处理和机器学习等领域具有广泛应用前景。

    (全文完)

    声明:我们尊重原创,也注重分享;文字、图片版权归原作者所有。转载目的在于分享更多信息,不代表本号立场,如有侵犯您的权益请及时联系,我们将第一时间删除,谢谢!

    图片

    想要了解FPGA吗?这里有实例分享,ZYNQ设计,关注我们的公众号,探索

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值