2. Lattice高速串行收发器架构解析
Lattice 的 SerDes 并不是一个“黑盒高速口”,而是由 PMA(物理介质附加层)与 PCS(物理编码子层)两级构成的分层通道。理解这条通道的层次划分、时钟域归属和参考时钟约束,是后续做链路调试、误码定位和眼图评估的基础。本节以 LatticeECP5、Nexus(LIFCL)和 CertusPro-NX 三类器件为例,说明它们的 SerDes 通道结构差异与共性。
一、PMA 与 PCS 的分层职责
从发送方向看,用户逻辑先进入 PCS:完成 8b/10b 或 64b/66b 编码、通道对齐、极性反转、加扰等处理;随后数据交给 PMA:串化器把并行字转成高速串行比特流,经发送均衡(预加重/去加重)后驱动差分对输出。接收方向正好相反:PMA 先做接收均衡、CDR 时钟恢复和串并转换,PCS 再做对齐、解码和通道绑定。
这条分界线决定了调试时的“责任划分”:如果链路完全无法建立、CDR 无法锁定,问题通常在 PMA 侧(参考时钟、均衡、差分走线);如果能锁定但误码率高、字对齐失败,问题往往在 PCS 侧(编码配置、通道绑定、时钟校正)。
二、三类器件的通道结构差异
LatticeECP5 的 SerDes 以“通道(Channel)”为基本单位,每个通道包含独立的 PMA 和 PCS,支持 270 Mbps~3.2 Gbps 的速率范围,常用于 PCIe Gen1/Gen2、SGMII、DisplayPort 等场景。其 PCS 支持 8b/10b 和 64b/66b 两种编码路径,通道之间可通过 PCS 的通道绑定逻辑组合成更宽链路。
Nexus(LIFCL)在 ECP5 基础上强化了低功耗与多协议支持,SerDes 通道速率上限提升到约 10 Gbps 级别,PCS 中集成了更完整的协议硬核(如 PCIe Gen3、SGMII、XAUI 等),并支持更灵活的参考时钟选择。CertusPro-NX 则面向工业与汽车,SerDes 通道数量较少但可靠性设计更强,PCS 中增加了更多的环回与诊断寄存器,便于现场排障。
三者的共同点是:每个 SerDes 通道都有独立的发送 PLL 和接收 CDR,参考时钟可以来自专用差分时钟引脚,也可以由片内 PLL 分频得到。差异主要体现在速率上限、协议硬核数量和诊断能力上。
三、时钟域划分与跨域处理
SerDes 通道内部至少存在三个时钟域:PMA 的高速串行时钟域(由 CDR 或 TX PLL 产生)、PCS 的并行时钟域(tx_clk / rx_clk)、以及用户逻辑的 fabric 时钟域。PMA 与 PCS 之间的并行数据宽度通常是 10bit、16bit、20bit 或 32bit,具体取决于编码方式和速率。
跨域的关键在于弹性缓冲(Elastic Buffer)。接收方向,CDR 恢复出的时钟与本地 PCS 时钟存在频差和相位差,弹性缓冲通过插入或删除空闲字符来吸收这种差异。如果频差超过缓冲深度,就会出现溢出或下溢,表现为链路间歇性误码。调试时可以通过读取 PCS 的缓冲状态寄存器判断是否发生溢出。
发送方向相对简单:TX PLL 锁定参考时钟后产生高速串行时钟,PCS 并行数据在 tx_clk 下写入,经串化器输出。但要注意 tx_clk 与 REFCLK 的频偏关系,如果两者不同源,长时间运行后仍可能出现发送缓冲问题。
四、参考时钟要求与配置示例
参考时钟是 SerDes 工作的基准,其频率、抖动和电平标准都有明确要求。以 ECP5 为例,若目标线速率 3.125 Gbps、采用 8b/10b 编码,则串行时钟为 3.125 GHz,PCS 并行时钟为 312.5 MHz(10bit 宽度)。参考时钟通常选择 125 MHz,经 TX PLL 倍频 25 倍得到 3.125 GHz。
参考时钟的抖动预算通常要求 RMS 抖动小于 1 ps(12 kHz~20 MHz 积分带宽),否则会直接恶化 CDR 的锁定裕量和眼图张开度。电平标准需与器件 REFCLK 引脚兼容,常见为 LVDS、LVPECL 或 HCSL,交流耦合时需注意共模电压。
# 示例:ECP5 SerDes 参考时钟与速率关系(假设值,仅用于说明)
目标线速率 : 3.125 Gbps
编码方式 : 8b/10b
串行时钟 : 3.125 GHz
PCS 并行宽度 : 10 bit
PCS 并行时钟 : 312.5 MHz
REFCLK 频率 : 125 MHz
TX PLL 倍频系数 : 25
REFCLK 抖动要求 : < 1 ps RMS (12kHz~20MHz)
五、调试视角下的分层定位
当链路出现问题时,按“PMA 先于 PCS”的顺序排查:先确认 REFCLK 是否存在且频率正确,再检查 CDR 是否锁定(读取 PMA 状态寄存器),然后看 PCS 是否完成字对齐和通道绑定,最后检查用户逻辑侧的时钟域和复位时序。这种分层定位方法可以避免在错误层次上反复修改配置。
对于 Nexus 和 CertusPro-NX,PCS 中提供了更多的环回模式(近端环回、远端环回、串行环回),可以在不改变外部连接的情况下逐段隔离故障。例如,使能近端环回后如果误码消失,说明问题在差分走线或对端设备;如果误码依旧,则问题在本地 PMA/PCS 配置或参考时钟。
掌握 PMA/PCS 分层、时钟域归属和参考时钟约束这三条主线,就能够在面对具体链路问题时快速判断故障层次,并有针对性地使用环回、寄存器读取和眼图测量等手段完成调试。