Aurora 64B/66B IP 核简介
Aurora 64B/66B 是 Xilinx(现 AMD)提供的高速串行通信协议 IP 核,专为 FPGA 设计。它采用轻量级编码方案,在数据中心和高性能计算场景中能提供高带宽和低延迟的点对点数据传输能力。对于开发者而言,理解其物理层和数据链路层功能(如编码、解码、错误检测及流控)是上手的关键。
IP 核配置要点
在 Vivado 中通过 IP Catalog 或 IP Integrator 调用该 IP 核时,有几个核心参数需要结合实际硬件环境调整:
- 数据宽度:通常选择 32 位或 64 位,默认 64 位能更好地匹配协议特性。
- 参考时钟:频率设置需与实际板卡一致,例如 156.25 MHz。
- 通道数:初学者建议从单通道开始,稳定后再考虑多通道扩展。
- 回环模式:调试阶段可选择 "Near-end PMA loopback" 或 "Far-end PMA loopback",方便在不接外部线缆的情况下验证链路。
- 其他选项:流控制和 CRC 校验建议保持默认开启,确保数据完整性。
配置完成后,Vivado 会生成 HDL 文件(Verilog/VHDL)、XDC 约束文件以及 Example Design 目录。实例化模块通常命名为 aurora_64b66b_0,后续连接都围绕这个模块展开。
端口接口详解
IP 核的端口主要分为用户接口、GT 接口和状态控制三类,连接时需仔细对应信号定义:
- 用户接口(AXI Stream):负责业务数据收发。
s_axi_tx_tdata/m_axi_rx_tdata:数据总线。s_axi_tx_tvalid/m_axi_rx_tvalid:有效信号。s_axi_tx_tready/m_axi_rx_tlast:流控与帧结束标志。
- GT 接口(Gigabit Transceiver):连接物理收发器。
gt_refclk:参考时钟输入。gt_txdata/gt_rxdata:差分数据对。gt_txreset/gt_rxreset:收发器复位。
- 状态与控制:
channel_up:链路建立成功标志,高电平表示连接正常。init_clk/reset:初始化与时钟复位。loopback:控制回环模式,例如3'b001为近端回环。
实际例化时,务必检查这些端口是否已正确连接到顶层模块,特别是时钟和复位信号,这是链路无法拉起的最常见原因。
利用 Example Design 快速验证
Vivado 生成的 Example Design 是一个完整的测试环境,包含发送、接收和验证逻辑,非常适合快速验证 IP 核功能。调用步骤如下:
- 在 IP 核配置向导中勾选 "Generate Example Design"。
- 工程目录下会出现
example_design文件夹,找到顶层文件(如aurora_64b66b_exdes.v)。 - 编译并运行仿真,或直接下载至开发板。
Example Design 默认实现了传输回环测试,即发送的数据经处理后直接回环到接收端。其结构包括顶层模块、测试生成器(framegen)、测试检查器(framecheck)以及时钟复位控制。通过观察 channel_up 信号和错误计数,可以迅速判断链路状态。

