2. Agilex收发器硬件架构解析

Agilex FPGA的收发器子系统并不是一个“黑盒SerDes”,而是一条从封装引脚到FPGA fabric的完整信号链。理解这条链路上每一级的功能边界、时钟归属和接口形态,是后续做通道绑定、协议适配和信号完整性调试的前提。本节按“通道结构 → PMA/PCS分层 → 时钟域 → 参考时钟网络 → fabric接口”的顺序展开,重点说明各级之间的连接关系与参数传递方式。

一、收发器通道(Channel)的物理构成

Agilex每个收发器通道(Transceiver Channel)是一条独立的串行收发链路,内部由发送路径(TX)和接收路径(RX)两条方向相反的数据通路组成。以典型的GTS收发器为例,单通道包含以下关键单元:

  • TX侧:高速串行器(Serializer)、TX均衡器(含前馈均衡FFE与去加重)、驱动器(Driver)、TX PLL分频链路。
  • RX侧:连续时间线性均衡器(CTLE)、可变增益放大器(VGA)、判决反馈均衡器(DFE)、时钟数据恢复(CDR)、解串器(Deserializer)。
  • 公共部分:通道配置寄存器、校准引擎(Calibration)、环回(Loopback)通路、PRBS图案生成与校验器。

通道的物理边界是封装球(Bump)与差分对引脚。TX差分对输出到PCB走线,RX差分对从PCB走线输入。通道内部的数据位宽在PMA侧是串行比特流,在PCS侧则被并行化为20位、40位或64位等宽度,具体取决于协议配置。例如在PCIe Gen4 x8配置下,单通道PCS接口宽度通常为32位,线速率16 GT/s,经过8b/10b或128b/130b编码后有效数据率不同。

二、PMA与PCS的分层职责

PMA(Physical Medium Attachment)和PCS(Physical Coding Sublayer)是收发器内部最重要的两层划分,二者以并行数据总线为界。

PMA层负责模拟域与高速串行域的处理:串并转换、时钟数据恢复、均衡、驱动幅度与预加重控制、接收检测(Signal Detect)、CDR锁定状态上报。PMA的参数多为模拟量,如TX差分电压摆幅(VOD)、预加重等级、CTLE增益档位、DFE抽头系数。这些参数通过Avalon-MM或Native PHY寄存器接口写入,并在校准后生效。

PCS层负责数字域处理:编码/解码(8b/10b、64b/66b、128b/130b)、通道对齐与去偏斜(Deskew)、字对齐(Word Aligner)、FIFO速率匹配、相位补偿FIFO、错误检测与纠正(如FEC)。PCS的输出是面向fabric的并行数据总线,通常伴随有效信号、错误标志和状态指示。

两层之间的接口是PMA并行总线,其宽度和时钟频率由线速率与PCS位宽共同决定。例如线速率25.78125 Gbps、PCS位宽64位时,PMA并行时钟约为402.8 MHz(25.78125G / 64)。这个频率关系是后续时钟域划分的基础。

Agilex 收发器通道内部结构与分层 PMA 层(模拟/高速串行域) TX 发送路径 Serializer FFE/去加重 Driver TX PLL 并行数据 → 串行比特流 VOD / 预加重 / 均衡参数可配 RX 接收路径 CTLE VGA DFE CDR+解串 串行比特流 → 并行数据 CDR锁定 / 信号检测 / 均衡自适应 PMA / PCS 并行数据总线边界 PCS 层(数字域) 编码/解码 8b/10b · 64b/66b 字对齐/去偏斜 Word Aligner 速率匹配FIFO 相位补偿 FEC/错误检测 KRFEC · CRC 通道绑定 Multi-lane Bond FPGA Fabric 接口 Avalon-ST / Avalon-MM · 并行数据总线 · 状态与控制寄存器 tx_parallel_data / rx_parallel_data · tx_clkout / rx_clkout · 复位与锁定指示 TX PMA时钟域 RX PMA时钟域 PCS/Fabric 时钟域

三、时钟域划分与跨域处理

收发器内部存在多个时钟域,跨域处理不当会直接导致数据错误或链路不稳定。主要时钟域包括:

  • TX PMA时钟域:由TX PLL产生的高速串行时钟及其分频得到的并行时钟,驱动串行器和PMA并行接口。
  • RX PMA时钟域:由CDR从接收数据流中恢复出的时钟,驱动解串器和RX PMA并行接口。该时钟与本地参考时钟存在频偏和相位漂移。
  • PCS/Fabric时钟域:由fabric提供的tx_clkout和rx_clkout,或由PCS内部生成的时钟,用于驱动PCS逻辑和fabric接口。

TX方向,fabric数据写入PCS FIFO后,由PMA并行时钟读出并串行化,FIFO起到速率匹配和相位补偿作用。RX方向,CDR恢复时钟写入PCS FIFO,fabric时钟读出,FIFO深度和阈值设置直接影响弹性缓冲能力。在PCIe等协议中,RX FIFO需要容忍±300 ppm的时钟频偏,FIFO深度通常配置为至少覆盖两个SKP有序集周期。

四、参考时钟网络

Agilex收发器的参考时钟(Reference Clock)是TX PLL和CDR的输入基准,其质量直接决定输出抖动和链路误码率。参考时钟网络包含以下关键节点:

  • 专用参考时钟引脚:每个收发器Bank有独立的REFCLK差分输入对,支持片内终端匹配。
  • 参考时钟选择器:每个TX PLL可从多个REFCLK源中选择,支持动态切换。
  • 片内时钟网络:参考时钟经过缓冲、分频后分配到各通道的TX PLL和CDR。

参考时钟的典型要求:频率范围100 MHz~800 MHz,相位抖动(RMS)在12 kHz~20 MHz积分带宽内通常要求小于0.5 ps。例如25.78125 Gbps线速率下,若参考时钟为161.1328125 MHz,则TX PLL需要倍频160倍。参考时钟的频偏容限通常为±100 ppm(协议要求),但CDR可跟踪的频偏范围更大,具体取决于CDR带宽设置。

五、与FPGA Fabric的接口关系

收发器与fabric之间的接口分为数据路径和控制路径两类。

数据路径:TX方向,fabric通过Avalon-ST接口将并行数据写入PCS,接口信号包括tx_parallel_data、tx_datak(控制字符指示)、tx_ready等。RX方向,PCS通过Avalon-ST接口将恢复的并行数据输出到fabric,信号包括rx_parallel_data、rx_datak、rx_valid、rx_status等。数据位宽可配置为20/32/40/64位,取决于协议和PCS配置。

控制路径:通过Avalon-MM或Native PHY寄存器接口访问收发器内部寄存器,完成参数配置、状态读取和校准触发。关键寄存器包括TX VOD、预加重、CTLE增益、DFE使能、CDR带宽、环回模式、PRBS控制等。状态寄存器提供CDR锁定、信号检测、FIFO溢出/下溢、PRBS错误计数等信息。

在实际工程中,推荐使用Altera提供的Native PHY IP或协议专用IP(如PCIe Hard IP、Ethernet IP)来生成收发器配置,避免手动编写寄存器序列。IP生成时会自动处理PMA/PCS参数联动、时钟域约束和复位序列。例如在配置25G Ethernet时,Native PHY IP会自动设置PCS为64b/66b模式、启用FEC、配置RX FIFO深度,并生成对应的SDC时序约束文件。

调试提示:当链路无法建立时,优先检查顺序为:参考时钟是否存在且频率正确 → TX PLL是否锁定 → CDR是否锁定 → 字对齐是否完成 → FIFO是否溢出/下溢 → PRBS误码计数是否为零。Agilex的Transceiver Toolkit可通过JTAG实时读取这些状态,无需重新编译。