[AXIS] AXI4-Stream Clock Converter

AXI4-Stream Clock Converter IP 详细介绍

概述

AXI4-Stream Clock Converter 属于 AXI4-Stream Infrastructure IP Suite(参考文档 PG085)的一部分。该 IP 核旨在实现 AXI4-Stream 数据流在不同时钟域之间的可靠传输,支持跨时钟域(Clock Domain Crossing, CDC)的场景。它通过内部 FIFO 或寄存器管道(Register Slice)实现数据同步,确保数据完整性和高性能,广泛应用于需要跨时钟域通信的 FPGA 和 SoC 系统,例如 Zynq-7000、Zynq UltraScale+ MPSoC 等。

该 IP 核的主要功能包括:

  • 时钟域转换:支持 AXI4-Stream 数据流在不同时钟域之间的同步传输。
  • 灵活的实现方式:提供 FIFO 和寄存器管道两种实现选项,适应不同延迟和资源需求。
  • 高性能:支持高吞吐量传输,FIFO 模式下可实现背靠背数据传输。
  • 协议兼容性:完全符合 AXI4-Stream 协议,支持所有标准信号。

主要特性

AXI4-Stream Clock Converter IP 具有以下关键特性:

  1. AXI4-Stream 协议兼容性

    • 完全符合 AXI4-Stream 协议规范,支持所有 AXI4-Stream 定义的信号:TVALIDTREADYTDATATSTRBTKEEPTLASTTIDTDESTTUSER
    • TDATATSTRBTKEEPTLASTTIDTDESTTUSER 为可选信号,用户可根据需求配置。
    • 支持可编程的 TDATA 宽度(8-512 位)、TUSER 宽度(1-128 位)、TIDTDEST 宽度(1-32 位)。
  2. 跨时钟域支持

    • 支持输入(S00_AXIS)和输出(M00_AXIS)接口运行在不同时钟域(S_ACLKM_ACLK)。
    • 提供两种实现方式:
      • FIFO 模式:使用异步 FIFO 缓冲数据,支持高吞吐量和深度可配置的缓冲区。
      • 寄存器管道模式:使用寄存器切片(Register Slice)进行同步,适用于低延迟需求。
  3. FIFO 配置

    • FIFO 深度可配置,支持 16、32、64、128、256、512、1024、2048 字(word)。
    • FIFO 宽度等于 AXI4-Stream 数据宽度(包括 TDATATSTRBTKEEPTLASTTIDTDESTTUSER 的总和)。
    • 支持独立读写时钟,适用于异步时钟域。
  4. 性能优化

    • FIFO 模式支持背靠背传输,最大吞吐量接近时钟频率。
    • 寄存器管道模式提供最低延迟(通常为 1-2 个时钟周期),适合对延迟敏感的应用。
    • 支持时钟使能信号(ACLKEN),用于精细化时钟控制。
  5. 时钟与复位

    • 支持独立的输入时钟(S_ACLK)和输出时钟(M_ACLK)。
    • 提供独立的复位信号(S_ARESETnM_ARESETn),支持异步复位同步释放(Asynchronous Reset Synchronous Release)。
    • 可选的全局复位信号(ARESETn)。
  6. 工具与设备支持

    • 设计工具: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 Clock Converter IP 的核心功能是在不同时钟域之间同步 AXI4-Stream 数据流,其功能模块包括以下几个方面:

1. 数据同步

  • 功能:将来自输入接口(S00_AXIS)的 AXI4-Stream 数据流同步到输出接口(M00_AXIS)的时钟域。
  • 机制
    • FIFO 模式:输入数据写入异步 FIFO,输出接口从 FIFO 读取数据,FIFO 提供跨时钟域的缓冲和同步。
    • 寄存器管道模式:通过寄存器切片进行数据同步,数据在输入时钟域采样后通过同步电路传递到输出时钟域。
  • 控制:通过 TVALIDTREADY 信号实现 AXI4-Stream 协议的握手机制,确保数据传输的完整性。

2. FIFO 缓冲

  • 功能:在 FIFO 模式下,异步 FIFO 用于缓冲输入数据,防止数据丢失。
  • 配置:FIFO 深度可配置,适合不同吞吐量和突发传输需求。
  • 特点:支持高吞吐量,FIFO 接近满或空时会通过 TREADY 信号控制背压。

3. 寄存器管道

  • 功能:在寄存器管道模式下,使用寄存器切片实现低延迟的跨时钟域传输。
  • 特点:延迟固定(通常为 1-2 个时钟周期),适合对延迟敏感但吞吐量要求不高的场景。
  • 限制:无缓冲能力,输入和输出接口必须以相同速率处理数据。

4. 信号支持

  • 必选信号TVALIDTREADY
  • 可选信号TDATATSTRBTKEEPTLASTTIDTDESTTUSER,可通过配置启用或禁用。
  • 信号宽度:与输入接口一致,输出接口直接继承输入接口的信号宽度。

接口说明

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

  1. 输入接口(S00_AXIS)

    • 类型:AXI4-Stream 主接口。
    • 信号
      • S00_AXIS_TVALID:输入数据有效信号。
      • S00_AXIS_TREADY:输入接口准备好信号(由 FIFO 或寄存器管道状态决定)。
      • S00_AXIS_TDATA:输入数据,宽度可配置(8-512 位)。
      • S00_AXIS_TSTRBTKEEP:字节选通信号,宽度为 TDATA 的 1/8。
      • S00_AXIS_TLAST:数据流结束信号。
      • S00_AXIS_TIDTDEST:流标识和目标标识信号。
      • S00_AXIS_TUSER:用户定义信号,宽度可配置(1-128 位)。
    • 功能:接收来自上游 AXI4-Stream 从设备的数据流。
  2. 输出接口(M00_AXIS)

    • 类型:AXI4-Stream 从接口。
    • 信号:与输入接口类似,包括 M00_AXIS_TVALIDTREADYTDATATSTRBTKEEPTLASTTIDTDESTTUSER
    • 功能:将同步后的数据流发送到下游 AXI4-Stream 主设备。
  3. 时钟与复位接口

    • S_ACLK:输入接口的时钟信号。
    • M_ACLK:输出接口的时钟信号。
    • S_ARESETn:输入接口的低电平有效复位信号。
    • M_ARESETn:输出接口的低电平有效复位信号。
    • ARESETn(可选):全局低电平有效复位信号。
    • ACLKEN(可选):时钟使能信号,用于控制数据传输的时序。

配置方法

1. 在 Vivado 中添加 IP

  • 打开 Vivado 的 Block Design,右键选择 Add IP
  • 搜索 AXI4-Stream Clock Converter,将其拖入设计。
  • 双击 IP 核,打开定制化对话框(参考 PG085,图 4-3),配置以下参数:
    • 实现方式:选择 FIFO 或寄存器管道模式。
    • FIFO 深度(仅 FIFO 模式):选择 16、32、64、128、256、512、1024 或 2048 字。
    • TDATA 宽度:设置输入和输出 TDATA 宽度(8-512 位)。
    • TUSER 宽度:设置 TUSER 宽度(1-128 位,可选)。
    • TID/TDEST 宽度:设置流标识和目标标识宽度(1-32 位,可选)。
    • 信号使能:启用或禁用 TSTRBTKEEPTLASTTIDTDESTTUSER
    • 时钟使能:启用或禁用 ACLKEN 信号。
    • 复位配置:选择独立复位(S_ARESETnM_ARESETn)或全局复位(ARESETn)。

2. 连接与验证

  • 将输入接口(S00_AXIS)连接到上游 AXI4-Stream 从设备,并分配输入时钟(S_ACLK)和复位(S_ARESETn)。
  • 将输出接口(M00_AXIS)连接到下游 AXI4-Stream 主设备,并分配输出时钟(M_ACLK)和复位(M_ARESETn)。
  • 使用 Vivado 仿真工具验证跨时钟域传输,检查 TVALIDTREADYTLAST 信号的时序。
  • 监控 FIFO 模式下的背压行为,确保 FIFO 深度足够支持突发传输。

资源利用情况

根据 PG085 和相关资源利用数据,AXI4-Stream Clock Converter IP 的资源占用取决于配置参数(如实现方式、FIFO 深度、数据宽度等)。以下是一些典型配置的资源利用情况(基于 Vivado 生成数据):

  • 设备系列:Artix-7、Kintex-7、Zynq-7000 等。
  • 资源类型
    • LUT(查找表):FIFO 模式随 FIFO 深度和数据宽度增加,寄存器管道模式较少。
    • FF(触发器):FIFO 模式用于 FIFO 控制逻辑,寄存器管道模式用于同步寄存器。
    • BRAM:FIFO 模式可能使用 BRAM(深度 ≥ 512 时),寄存器管道模式不使用。
    • DSP 切片:不使用。
  • 配置示例
    • 寄存器管道模式、32 位 TDATA:约 100 LUT、150 FF、无 BRAM。
    • FIFO 模式、32 位 TDATA、512 字深度:约 300 LUT、400 FF、1-2 BRAM。
    • FIFO 模式、256 位 TDATA、1024 字深度:约 600 LUT、800 FF、4-6 BRAM。

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


应用场景

AXI4-Stream Clock Converter IP 适用于以下场景:

  1. 跨时钟域数据传输

    • 在不同时钟域之间传输 AXI4-Stream 数据流,例如 Zynq-7000 处理系统(PS)与可编程逻辑(PL)之间的通信。
    • 适用于视频处理、信号处理和网络数据包处理。
  2. 高吞吐量系统

    • 使用 FIFO 模式支持高吞吐量和突发传输,适用于实时视频流或大数据量处理。
    • 确保数据流在不同时钟频率下无丢失。
  3. 低延迟系统

    • 使用寄存器管道模式支持低延迟传输,适用于对时序要求严格的应用,例如控制系统或实时信号处理。
  4. SoC 集成

    • 在 Zynq 或 UltraScale+ MPSoC 系统中,将高速 PL 模块的 AXI4-Stream 数据流同步到低速 PS 时钟域,或反之。

注意事项

  1. 时钟频率关系

    • FIFO 模式下,输入和输出时钟频率无需严格匹配,但建议输出时钟频率不低于输入时钟频率的 75%,以避免 FIFO 溢出(参考 PG085)。
    • 寄存器管道模式要求输入和输出时钟频率相近,以确保数据同步的可靠性。
  2. FIFO 深度选择

    • FIFO 深度需根据数据突发长度和时钟频率差选择,过小的深度可能导致背压或数据丢失。
    • 建议通过仿真验证 FIFO 深度是否满足应用需求。
  3. 复位同步

    • 确保 S_ARESETnM_ARESETn 信号在各自时钟域内正确同步,推荐使用异步复位同步释放机制(参考 UG761)。
    • 全局复位(ARESETn)需谨慎使用,确保所有时钟域同时复位。
  4. 背压管理

    • 监控下游设备的 TREADY 信号,确保输出接口不会因背压导致 FIFO 溢出。
    • 在 FIFO 模式下,可通过增加 FIFO 深度缓解背压问题。


总结

AXI4-Stream Clock Converter IP 是一款功能强大且灵活的 AXI4-Stream 基础设施 IP 核,专为跨时钟域数据传输而设计。其支持 FIFO 和寄存器管道两种实现方式,能够满足高吞吐量和低延迟的不同应用需求。凭借对 AXI4-Stream 协议的完整支持、可配置的信号宽度和深度,该 IP 核在视频处理、信号处理和 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、付费专栏及课程。

余额充值