3. 高速数据通道的电气基础与信号完整性入门

当数据速率进入数百 Mbps 乃至 Gbps 量级,FPGA 与外部器件之间的连线不再只是“导通即可”的导线,而是一段具有分布参数、会对信号波形产生实质影响的传输通道。本章围绕差分信号、阻抗匹配、传输线效应、抖动与眼图五个基本概念展开,并结合 Lattice FPGA 的 IO 标准与板级走线要求,说明这些概念如何落到实际设计与调试中。

一、差分信号:用一对线传递一个比特

差分信号使用两条物理走线(通常记为 P/N 或 +/−)传输一路逻辑信息,接收端关注的是两条线上的电压差 Vdiff = Vp − Vn,而不是任意一条线对地的绝对电压。Lattice FPGA 的 LVDS、LVPECL、SLVS 等 IO 标准都属于差分体系,典型差分摆幅在 350 mV 左右,共模电压则被约束在接收器允许的范围内。

差分结构带来两个直接好处。其一是抗共模干扰:当外部噪声同时耦合到 P、N 两条线上时,Vp 与 Vn 同向抬升,差值基本不变,接收端判决不受影响。其二是电磁辐射更低:两条线电流方向相反,远场磁场相互抵消,相比单端信号更不容易对外形成干扰。代价是引脚和走线数量翻倍,因此差分对通常用于时钟、高速串行数据和需要长距离传输的场合。

在 Lattice 器件中,差分对必须落在支持真差分的引脚对上,例如 ECP5 的某些 Bank 内成对标注的 _P/_N 引脚。若把差分信号拆到两个不相邻的普通 IO 上,虽然综合可能通过,但电气特性、延迟匹配和端接都无法保证,这是初学者常见的错误。

二、传输线效应与阻抗匹配

当信号上升时间与走线传播延迟可比时,走线必须按传输线处理。经验判据是:若走线长度超过信号上升沿空间长度的 1/6,就应考虑传输线效应。以 FR-4 板材为例,信号传播速度约为 15 cm/ns;若上升时间为 200 ps,则上升沿空间长度约 3 cm,1/6 约为 5 mm。也就是说,在高速信号下,几毫米的走线就可能需要端接。

传输线有特征阻抗 Z0,由线宽、介质厚度、介电常数和参考平面距离共同决定。Lattice FPGA 常见的单端 IO 标准(如 LVCMOS33)要求 50 Ω 左右的走线阻抗,差分对则要求 100 Ω 差分阻抗。若源端输出阻抗、走线阻抗与负载阻抗不匹配,信号会在阻抗突变处产生反射,表现为过冲、下冲、振铃和台阶。

端接方式主要有三种:源端串联端接(在驱动器附近串一个电阻,使源阻抗加电阻接近 Z0)、终端并联端接(在接收端用电阻拉到 VTT 或地)、以及差分终端(在接收端跨接 100 Ω)。Lattice FPGA 的部分 IO 支持片内差分端接(如 LVDS 接收端的 100 Ω 内部电阻),可以省去外部电阻,但需要确认所选 Bank 和 IO 标准是否支持。

差分通道信号链与阻抗/端接关系 Lattice FPGA 差分驱动器 Zout ≈ 50 Ω P 走线 N 走线 差分阻抗 100 Ω · 长度匹配 ±5 mil 接收端 100 Ω 端接 片内或片外 阻抗不匹配时的反射示意(接收端波形) 时间 电压 理想(匹配) 失配(振铃/过冲) 过冲

三、抖动:时间轴上的不确定性

抖动(Jitter)描述信号边沿相对理想位置的随机或确定性偏移。它分为随机抖动(RJ,服从高斯分布,用 RMS 值描述)和确定性抖动(DJ,包括周期性抖动、数据相关抖动和占空比失真)。在串行链路中,抖动会压缩有效的数据眼宽,最终导致误码。

对 Lattice FPGA 设计而言,抖动来源主要有三类:参考时钟本身的相位噪声、PLL 的环路特性、以及驱动器输出和通道损耗带来的抖动放大。使用 ECP5 或 Certus-NX 的 SERDES 时,若参考时钟抖动过大,CDR(时钟数据恢复)可能无法锁定,表现为链路间歇性失锁。因此参考时钟通常要求 RMS 抖动在 1 ps 量级以内,并优先选择专用时钟输入引脚。

四、眼图:把抖动、噪声和损耗放在一张图里看

眼图是把大量比特周期的波形按时钟对齐后叠加而成的统计图。它直观呈现三个关键量:眼高(垂直张开度,反映噪声和幅度裕量)、眼宽(水平张开度,反映抖动和码间干扰)、以及交叉点位置(反映占空比失真)。眼图张开越大,接收端判决越可靠。

在实验室中,可以用示波器的眼图模板测试功能观察发送端输出。若眼图闭合,常见原因包括:走线过长导致高频损耗、端接不当引起反射、参考时钟抖动过大、或差分对长度失配导致共模转换。排查顺序通常是先看端接和阻抗,再看时钟质量,最后考虑均衡或预加重设置。

五、Lattice FPGA 板级走线要点

结合 Lattice 器件的 IO 特性,板级设计可遵循以下要点:差分对必须使用同一 Bank 内成对的 _P/_N 引脚,走线等长误差控制在 5 mil 以内;差分阻抗按 100 Ω 控制,单端按 50 Ω 控制;避免在差分对下方跨分割平面,参考平面应完整;过孔数量尽量少且成对出现;接收端若使用片内端接,需在软件中正确设置 IO 标准与端接选项。

在 Lattice Diamond 或 Radiant 中配置差分 IO 时,需在引脚约束文件(.lpf 或 .pdc)中显式指定 IO 标准,例如 ldc_set_port 或 set_io 语句,并确认该引脚对支持所选标准。若工具报出“差分对不合法”的警告,通常意味着引脚未成对或 Bank 电压不匹配。
不要用普通单端 IO 标准去驱动差分对,也不要把差分对的 P/N 分配到不同 Bank。这类错误在功能仿真中往往看不出来,但会在板级表现为眼图闭合或链路误码。

理解差分、阻抗、传输线、抖动和眼图这五个概念,是后续进行高速通道设计与系统集成的基础。它们不是孤立的理论名词,而是同一段物理通道在不同观察角度下的表现:差分定义了信号形式,阻抗和传输线决定了信号如何传播与反射,抖动和眼图则给出了最终的判决裕量。掌握这些关系,才能在 Lattice FPGA 项目中做出可工作的板级设计。