Aurora 8B/10B 是 Xilinx 搞出来的一个轻量级高速串行协议,夹在裸 GT 收发器和 PCIe/以太网之间。它能帮你搞定对齐、通道绑定甚至流控,但协议本身又不像以太网那么重,延迟也低。官方手册写得挺全,可是真到配 IP 的时候,其实大部分工作就是改几个参数,底层东西都自动生成了。

1. Physical Layer(物理层)
这一页直接决定硬件连线和电气特性,必须跟板卡设计、对端设备对上,没商量的余地。
Lane Width (Bytes)
决定了 AXI-Stream 的接口位宽,也直接算出 user_clk 的频率。
- 2 Bytes:AXI 位宽 16-bit,
user_clk = 线速率 / 20。 - 4 Bytes:AXI 位宽 32-bit,
user_clk = 线速率 / 40。
线速率要是跑到 5 Gbps 以上,选 4 字节能让 user_clk 慢一半,时序好收一点。像 3.125 Gbps 这种中低速,2 字节就够了。
Line Rate (Gbps)
光纤或铜线上实际跑的比特率,受 SFP 模块、PCB 走线和对面设备的速度限制。3.125 Gbps 是个经典值,也是 XAUI 的标准速率。
GT Refclk (MHz)
外部差分参考时钟。必须和板子上接到 GT Bank 的晶振频率一模一样,填错了 PLL 锁不住,整个核都起不来。
INIT clk (MHz)
初始化时钟,上电时驱动复位逻辑和状态机,50 MHz 到 100 MHz 随便给个稳的就行,不挑抖动。默认 50 MHz。
DRP Clk (in MHz)
动态重配置口时钟,一般用不上,可以和 INIT clk 共用。如果你想在运行中切换线速率,才需要配 DRP 去改 GT 参数。默认也是 50 MHz。
上面这三个时钟(GT Refclk, INIT, DRP)是我们得喂给 IP 核的。IP 核还会吐出一个
user_clk,它是根据线速率和 Lane 位宽算出来的,用户所有 AXI 接口逻辑都必须挂在这个时钟域下,否则亚稳态跑不了。
2. Link Layer(链路层)
这一页控制数据怎么打包、怎么握手。TX 和 RX 两边的配置必须完全一致,不然 channel_up 永远拉不高。
Dataflow Mode
- Duplex:常用,同时收发。
- TX-only / RX-only:只发或只收。
- Simplex:有特殊边带信号处理的单工。
Interface —— 重点
Framing(帧模式)
有包的概念,AXI 接口带 tlast 信号指示一包结束。适合发命令包、以太网帧这类非连续、有边界的数据。Aurora 会自动处理包间空闲。
Streaming(流模式)
没有 tlast,数据像水管一样源源不断。适合 ADC 采样流、视频流这些连续数据,效率最高,因为没帧头帧尾开销。
Flow Control
- :简单,最常用。


