3. 高速接口协议与电气标准概览
在AMD FPGA上做高速接口集成,第一步不是打开Vivado去点IP,而是先判断“这条链路到底属于哪一类协议、跑在什么电气层、FPGA里由哪块硬核或软核来承担”。同一颗器件上,PCIe、Ethernet、JESD204、SATA、DisplayPort往往共用同一批高速收发器(GT)资源,但它们的参考时钟、编码方式、通道绑定、均衡需求和协议栈分层完全不同。理解这些差异,才能正确分配GT Quad、选择参考时钟、规划PCB走线,并在调试时知道该看哪个状态位。
一、五类协议在AMD FPGA中的承载方式
AMD 7系列及UltraScale/UltraScale+器件中,高速串行接口主要由GTH/GTY/GTM/GTP等收发器承载,协议支持分为“硬核”和“软核”两类:
- PCIe:7系列有集成PCIe硬核(PCIE_2_1),UltraScale+有PCIe Gen3/Gen4硬核,配合XDMA或AXI Bridge IP使用。硬核负责物理层与数据链路层,用户只需接AXI接口。
- Ethernet:1G/2.5G用GEM(硬核MAC)或AXI Ethernet IP;10G/25G用10G/25G Ethernet Subsystem,MAC+PCS由IP实现,PMA由GT承担。
- JESD204:JESD204B/C Subsystem IP,物理层由GT实现,链路层、帧对齐、弹性缓冲由IP逻辑完成,需外部SYSREF和Device Clock。
- SATA:通常用GTP/GTX加SATA协议IP(软核),或通过Aurora/自定义逻辑实现,AMD无通用SATA硬核。
- DisplayPort:DisplayPort 1.4/2.0 IP,物理层由GT承载,支持视频流与辅助通道(AUX)分离。
关键点:GT是共享资源。一个Quad内四个通道可分别给不同协议,但参考时钟通常按Quad或Bank共享,必须提前规划。
二、电气规范与参考时钟
各协议的电气层差异直接决定参考时钟频率和GT配置:
| 协议 | 典型速率 | 参考时钟 | 编码/均衡 |
|---|---|---|---|
| PCIe Gen3 | 8 GT/s | 100 MHz | 128b/130b,DFE+CTLE |
| 10G Ethernet | 10.3125 Gbps | 156.25 MHz | 64b/66b,DFE |
| JESD204B | 3.125~12.5 Gbps | Device Clock + SYSREF | 8b/10b或64b/66b |
| SATA 3.0 | 6 Gbps | 75 MHz或150 MHz | 8b/10b,OOB信号 |
| DisplayPort 1.4 | 1.62~8.1 Gbps/lane | 27 MHz或135 MHz | 8b/10b,AUX独立 |
参考时钟必须满足协议规定的抖动容限。例如PCIe Gen3要求100 MHz参考时钟RMS抖动小于1 ps(典型值),而JESD204B对SYSREF的建立/保持时间有严格要求,SYSREF必须与Device Clock同源且相位对齐。实际设计中,若一个Quad内混用PCIe和Ethernet,需确认参考时钟能否同时满足两者抖动要求,否则应分Quad放置。
三、协议分层与FPGA内部映射
从FPGA视角看,每个协议都映射为“GT PMA/PCS + 协议逻辑 + 用户接口”三层。以PCIe Gen3 x4为例:GT负责串并转换、均衡、时钟恢复;硬核PCIe负责TLP包处理、流控、配置空间;用户侧通过AXI4或AXI-Stream访问。Ethernet 10G则不同:GT+PCS由IP完成,MAC层处理帧过滤、CRC,用户侧是AXI-Stream。JESD204B更特殊:GT只做SerDes,链路层需要处理多帧对齐、弹性缓冲、SYSREF采样,用户侧是ADC/DAC数据流。
四、实际配置中的关键参数与判断依据
以JESD204B为例,配置时需确定以下参数:L(通道数)、M(转换器数)、F(每帧字节数)、K(每多帧帧数)、S(每帧采样数)。假设ADC采样率250 MSPS,14位,8b/10b编码,L=4,M=2,则线速率 = (M × S × N' × 10/8) / L。若N'=16,S=1,则线速率 = (2×1×16×1.25)/4 = 10 Gbps。此时GT需配置为10 Gbps,参考时钟选择Device Clock = 250 MHz,SYSREF = 250/4 = 62.5 MHz(需为整数倍关系)。
PCIe Gen3 x4的配置则关注:链路宽度、最大 payload 大小、参考时钟100 MHz、GT的DFE均衡设置。在Vivado中,通过PCIe IP核的“Board”标签选择正确的参考时钟来源,并在XDC中约束GTREFCLK的引脚位置。若链路训练失败,首先检查LTSSM状态机是否卡在Detect或Polling,通常与参考时钟缺失或极性反转有关。
五、协议选择与资源分配速查
实际项目中,若需要同时使用PCIe和JESD204B,建议将PCIe放在独立Quad,JESD204B放在相邻Quad但使用独立参考时钟。Ethernet和SATA可共用GT,但需注意SATA的OOB信号要求GT支持带外信令。DisplayPort的AUX通道是低速差分对,不占用GT,可接到普通LVDS引脚。
最后,所有协议的电气规范都要求关注:差分阻抗100Ω、AC耦合电容(PCIe/SATA/DP需AC耦合,Ethernet视PHY而定)、参考时钟抖动、以及GT的预加重/均衡设置。这些参数在Vivado的GT Wizard中均可配置,但必须与PCB设计和协议规范一致,否则链路无法稳定工作。