第四章 FPGA Serdes IP核配置:Xilinx GTY/GTH IP核例化、参数设置详解、时钟方案设计

好,咱们进入正题。这一章聊的是Serdes调试里最核心的一步——IP核配置。说白了,你后面所有的问题,八成都能追溯到这一步没搞对。我自己带项目时,新人最容易在这栽跟头,所以我今天把压箱底的经验都抖出来。

4.1 GTY/GTH IP核例化——别小看这一步

Xilinx的Serdes IP核,说白了就是一堆高速收发器的控制接口。你把它例化到工程里,就像给芯片装了个“高速引擎”。我个人习惯,第一步先打开Vivado的IP Catalog,搜“GTH”或“GTY”。

嗯,这里有个坑:选对器件系列。Kintex用GTH,Virtex用GTY,别搞混了。我见过有人把GTH的IP用在GTY上,结果仿真都跑不通。

例化时,Vivado会弹出一个图形化界面。你看着选项多,其实核心就几项:

  • Protocol:选“Start from Scratch”或者“Aurora”之类的。我建议新手先选“Start from Scratch”,自己配参数,能学到东西。
  • Line Rate:线速率。比如10.3125 Gbps,这个得和你的对端设备匹配。
  • Reference Clock:参考时钟频率。常见的有125 MHz、156.25 MHz。
我的小技巧:例化时,把“Shared Logic”选成“Include Shared Logic in example design”。这样Vivado会自动生成一个顶层文件,里面包含了所有共享资源(比如QPLL、CPLL)。你直接拿这个改,省事。

4.2 参数设置详解——每个选项都是坑

参数设置这块,我当年踩过的坑能写本书。咱们挑几个关键的讲。

4.2.1 TX/RX极性翻转

PCB走线时,有时候P和N会反。别慌,IP核里有个选项叫“TX/RX Polarity”。勾上它,Serdes内部会自动帮你翻转。我曾经有一块板子,调了三天眼图都不对,最后发现是PCB上差分对画反了。开了极性翻转,问题秒解。

4.2.2 预加重和均衡

高速信号走长了,会衰减。这时候就需要预加重(TX Pre-emphasis)和均衡(RX Equalization)。

  • 预加重:发射端把高频分量提前“抬”一下。参数有“Post Tap”、“Pre Tap”。我一般先设成默认值,等实测眼图再调。
  • 均衡:接收端把衰减的信号“拉”回来。GTY里有个“LPM”和“DFE”模式。LPM省电,DFE性能好。我建议高速率(>25 Gbps)用DFE。
注意:预加重和均衡不是越大越好。调过了,反而会引入噪声。我见过有人把预加重开到最大,结果眼图直接闭合了。

4.2.3 时钟数据恢复(CDR)设置

CDR是Serdes的“心脏”。它从数据流里提取时钟。参数里有个“CDR Lock Settings”,控制锁定的阈值。

我曾经遇到一个情况:板子上电后,CDR一直锁不住。后来发现是参考时钟抖动太大。解决办法是降低CDR的环路带宽,让它对抖动不那么敏感。

4.3 时钟方案设计——Serdes的命脉

时钟搞不定,Serdes就别想跑。我常说,Serdes调试,七分在时钟,三分在逻辑。

4.3.1 参考时钟的来源

参考时钟可以来自:

  • 板载晶振:最干净,但频率固定。
  • FPGA内部PLL:灵活,但噪声大。
  • 外部时钟芯片:比如Si5345,可以动态调频。

我个人偏好用外部时钟芯片。因为调试时,你可以随时改频率,不用换晶振。

4.3.2 QPLL vs CPLL

GTY/GTH里有两种PLL:

类型 适用场景 特点
QPLL 多通道共享 低抖动,适合高速率
CPLL 单通道独立 灵活,适合低速率

举个例子:如果你有4个通道都跑10 Gbps,用QPLL就够了。如果每个通道速率不同,那就得用CPLL。

4.3.3 时钟抖动的影响

时钟抖动是Serdes的隐形杀手。抖动大了,误码率直接飙升。怎么测抖动?用示波器看眼图,或者用BERT(误码仪)测。

我有个习惯:每次调完时钟,先用频谱仪看看时钟的相噪。如果相噪不好,换电容或者加磁珠滤波。

核心原则:参考时钟的抖动,必须小于Serdes IP核要求的最大值。这个值在UG手册里能找到。比如GTY要求参考时钟的RMS抖动小于0.5 ps。

4.4 实战案例——一次时钟引发的血案

讲个真实案例。去年我做一块板子,用的GTY,线速率25 Gbps。上电后,眼图一直有“双线”,就是眼图中间有两条模糊的线。

我排查了三天,最后发现是参考时钟的电源纹波太大。时钟芯片的供电是LDO输出的,但LDO的PSRR(电源抑制比)在高频段很差。我在时钟芯片的电源脚上加了个100 nF的电容,问题解决了。

你看,有时候问题就这么简单。但你不去查,永远想不到。

4.5 总结

IP核配置,说白了就是三个字:细、准、稳

  • :每个参数都要理解含义。
  • :时钟频率、线速率必须匹配。
  • :电源和时钟的噪声要控制好。

下一章,咱们聊Serdes的调试工具——IBERT。那个更刺激,直接能看到眼图。