Aurora 64B/66B IP 核配置及使用详解
Aurora 64B/66B 是 Xilinx(现 AMD)提供的一种高速串行通信协议 IP 核,专为 FPGA 设计,支持点对点数据传输,适用于数据中心、高性能计算等场景。本指南介绍如何调用该 IP 核,实现编码、译码和传输回环功能。内容包括 IP 核配置、端口介绍、使用方法、Example Design 调用、关键模块(如 framegen 和 framecheck)的作用,以及完整实现步骤。指南基于 Vivado 设计工具。
1. Aurora 64B/66B IP 核简介
Aurora 64B/66B 是一种轻量级协议,使用 64B/66B 编码方案,提供高带宽和低延迟通信。在 FPGA 中,IP 核负责处理物理层和数据链路层功能,包括数据编码、解码、错误检测和流控制。
2. IP 核配置
在 Vivado 中配置 Aurora 64B/66B IP 核时,需通过 IP Integrator 或 IP Catalog。以下是关键配置步骤和参数:
- 打开 IP 核向导:在 Vivado 中创建新工程后,从 IP Catalog 搜索 "Aurora 64B/66B",双击打开配置向导。
- 核心参数:
- 数据宽度:选择用户数据宽度(如 32 位或 64 位),默认 64 位以匹配协议。
- 参考时钟:设置参考时钟频率(如 156.25 MHz),需与实际硬件匹配。
- 通道数:单通道或多通道配置,建议单通道。
- 回环模式:选择 "Near-end PMA loopback" 或 "Far-end PMA loopback" 用于测试。
- 其他选项:启用流控制、CRC 校验等,可保持默认。
- 生成 IP 核:配置完成后,点击 "Generate",Vivado 会生成 HDL 文件(Verilog 或 VHDL)。
配置完成后,IP 核将提供以下文件:
- 实例化模块(如
aurora_64b66b_0)。 - 约束文件(XDC)用于引脚分配。
- Example design 目录。
3. 端口介绍
Aurora IP 核的端口分为用户接口和 GT(Gigabit Transceiver)接口。以下是关键端口及其功能:
- 用户接口端口(用于数据收发):
s_axi_tx_tdata:发送数据总线(宽度由配置决定)。s_axi_tx_tvalid:发送数据有效信号。s_axi_tx_tready:发送准备好信号(流控制)。m_axi_rx_tdata:接收数据总线。m_axi_rx_tvalid:接收数据有效信号。m_axi_rx_tlast:接收帧结束信号。
- GT 接口端口(连接物理收发器):
gt_refclk:参考时钟输入。gt_txdata:发送数据到 GT。gt_rxdata:接收数据从 GT。gt_txreset/gt_rxreset:收发器复位。
- 状态和控制端口:
init_clk:初始化时钟。reset:全局复位。channel_up:通道建立状态信号(高电平表示连接成功)。hard_err/ :错误指示信号。

