2. 硬件平台准备:FPGA芯片选型与关键设计要点

各位同学,咱们今天聊点实在的。做高速收发器上板调试,硬件平台是地基。地基没打好,后面跑多快都白搭。我见过太多项目,代码写得漂漂亮亮,一上板就冒烟,最后查出来是电源纹波太大,或者参考时钟抖得跟筛子似的。

所以这一章,咱们把硬件平台的几个关键点掰开揉碎讲清楚。你想想看,芯片选型、参考时钟、电源轨、PCB布局,这四个东西搞定了,后面调试至少省一半力气。

2.1 FPGA芯片选型:Xilinx还是Altera?

选型这事儿,说白了就是看你的项目需求。我个人习惯先问三个问题:

  • 需要多少高速收发器通道? 比如PCIe Gen3 x8,那就至少需要8个收发器。
  • 跑多高的线速率? 12.5Gbps还是28Gbps?这直接决定了选哪个系列的芯片。
  • 预算和供货周期? 这个嘛,懂的都懂。

我举个例子。Xilinx这边,Kintex-7系列的GTX收发器最高能跑到12.5Gbps,适合做SFP+、PCIe Gen2这类应用。如果你要跑25Gbps以上,那就得上Virtex UltraScale+的GTH或者GTY了。Altera那边,Arria 10的收发器能到17.4Gbps,Stratix 10能到28.3Gbps。

核心建议:别为了省钱选刚好够用的芯片。留20%的余量,相信我,后面你会感谢这个决定的。我在一个项目里吃过亏,选了刚好能跑10.3125Gbps的芯片,结果温度一上来,眼图就闭合了。后来换了高一档的芯片,问题全解决。

2.2 参考时钟设计要点

参考时钟,这是高速收发器的命根子。时钟抖一点,误码率就飙上去。嗯,这里要注意几个关键点:

2.2.1 时钟源选型

我个人强烈推荐使用低抖动晶振,比如SiTime或者IDT的MEMS振荡器。为什么?因为传统石英晶振在高温下抖动会恶化,而MEMS晶振稳定得多。

参数 推荐值 说明
相位抖动(12kHz-20MHz) < 0.5ps RMS 抖动越小,眼图越开
频率精度 ±25ppm 满足大多数协议要求
上升/下降时间 < 1ns 保证时钟边沿陡峭

2.2.2 时钟分配网络

如果你有多个收发器通道,别用一个时钟扇出给所有通道。我建议用时钟缓冲器,比如TI的LMK系列或者IDT的8T系列。每个通道独立缓冲,避免串扰。

小技巧:参考时钟的走线一定要做阻抗控制,50Ω单端,差分对100Ω。而且要走内层,上下两层铺地,形成带状线结构。我曾经在一个项目里偷懒走了表层,结果时钟被隔壁的DDR信号干扰得一塌糊涂。

2.3 电源轨要求

高速收发器的电源,那是出了名的娇贵。你想想看,收发器内部的PLL和CDR电路对电源噪声极其敏感。稍微有点纹波,输出时钟就跟着抖。

2.3.1 关键电源轨

以Xilinx的7系列为例,收发器相关的电源轨有这几个:

  • VMGTAVCC:收发器模拟电源,1.0V。这个最敏感,纹波要求< 10mVpp。
  • VMGTAVTT:收发器端接电源,1.2V。纹波要求< 20mVpp。
  • VCCINT:FPGA内核电源,1.0V。虽然不直接给收发器供电,但噪声会耦合过去。

警告:VMGTAVCC和VMGTAVTT不能共用同一个LDO!我见过有人为了省成本,用一个LDO同时给模拟和数字供电,结果收发器根本锁不住时钟。这两个电源必须独立供电,而且要用低噪声LDO,比如TI的TPS7A系列或者ADI的LT3045。

2.3.2 电源滤波设计

每个电源引脚旁边都要放去耦电容。我的习惯是:

  • 每个引脚放一个0.1μF的陶瓷电容,尽量靠近引脚
  • 每4-6个引脚放一个10μF的钽电容
  • 在电源入口放一个100μF的电解电容

电容的摆放也有讲究。0.1μF的电容要放在PCB的同一层,用短而粗的走线连接到引脚。别打过孔,过孔的寄生电感会抵消电容的高频滤波效果。

2.4 PCB布局布线注意事项

这部分是硬功夫,也是很多工程师容易忽略的地方。我总结了几条铁律:

2.4.1 收发器通道的布局

高速差分对要走最短路径,尽量减少过孔。每个差分对内部要等长,误差控制在±5mil以内。差分对之间要保持至少3倍线宽的间距,避免串扰。

我画一个简单的示意图,帮你理解收发器通道的布局逻辑:

FPGA 收发器 Bank GTX0 GTX1 GTX2 参考时钟晶振 156.25MHz 差分对 VMGTAVCC LDO VMGTAVTT LDO 0.1μF 0.1μF 0.1μF SFP+ 连接器 或 QSFP 差分对 图:高速收发器硬件平台布局示意

2.4.2 层叠结构

对于高速设计,我建议至少用12层板。层叠顺序大概是:

  1. 顶层:高速信号
  2. GND层
  3. 高速信号层
  4. GND层
  5. 电源层(VMGTAVCC)
  6. GND层
  7. 低速信号层
  8. GND层
  9. 电源层(VCCINT)
  10. GND层
  11. 低速信号层
  12. 底层:低速信号

为什么要这么多GND层?因为高速信号的回流路径必须连续。你想想看,信号频率高了,电流会沿着最小阻抗路径回流,如果GND层不连续,回流电流就得绕路,产生辐射和串扰。

2.4.3 隔离与分区

模拟区和数字区要物理隔离。收发器的模拟电源、参考时钟、差分对走线,这些都属于模拟区。DDR、PCIe控制器、逻辑电路,这些属于数字区。两个区域之间要有至少50mil的隔离带,而且不能有走线跨过。

避坑指南:我曾经在一个项目里,把收发器的差分对和DDR数据线平行走了2英寸,结果眼图测试完全不过。后来把差分对换到另一层,中间隔了一层GND,问题才解决。记住:高速信号之间,要么垂直走线,要么隔层走线,千万别平行。

2.5 小结

好了,这一章的内容就这些。硬件平台准备,说白了就是四个字:稳、净、短、隔。电源要稳,时钟要净,走线要短,区域要隔。把这四点做到位,你的高速收发器项目就成功了一半。

下一章咱们开始讲上板调试的具体步骤,到时候带上你的示波器和频谱仪,咱们真刀真枪干一场。

可可精品资料库