3. Xilinx 7系列GTX/GTH:GTX与GTH的区别,7系列收发器内部结构
好,咱们今天聊聊7系列里的两个核心收发器——GTX和GTH。很多刚接触高速串行的朋友,一看到这两个名字就头大。说实话,我当年也迷糊过一阵子。
其实说白了,GTX和GTH都是Xilinx 7系列里的高速串行收发器,负责把并行数据转成串行,再通过差分对发出去。但它们的定位不一样。GTX是“通用型”,GTH是“高性能型”。
3.1 GTX与GTH的区别
我习惯这么记:GTX能跑到12.5Gbps,GTH能跑到13.1Gbps。嗯,数字上差了一点点,但实际用起来差别不小。
| 参数 | GTX | GTH |
|---|---|---|
| 最大线速率 | 12.5 Gbps | 13.1 Gbps |
| PLL类型 | CPLL + QPLL | CPLL + QPLL |
| 抖动性能 | 标准 | 更优 |
| 功耗 | 较低 | 略高 |
| 适用场景 | PCIe Gen3、SATA、1G/10G Ethernet | Interlaken、40G/100G Ethernet、OC-192 |
关键点:GTH的抖动性能更好,适合对信号质量要求极高的场景。GTX则更省功耗,适合大多数主流协议。
我在项目中遇到过一件事:有个客户非要用GTX跑12.5Gbps的PCIe Gen3,结果眼图一直过不了。后来换成GTH,问题立马解决。你想想看,有时候不是设计问题,是选型问题。
3.2 7系列收发器内部结构
收发器的内部结构,说白了就是一条数据通路。从FPGA逻辑侧出来,经过PLL、发送路径、接收路径,最后到差分引脚。我画了个图,帮你理清思路。
3.3 PLL:收发器的心脏
收发器里有两个PLL:CPLL和QPLL。CPLL是通道专用的,每个收发器通道都有自己的CPLL。QPLL是四通道共享的,通常用于多通道绑定的场景。
我的习惯:如果只跑单通道,用CPLL就够了。如果是多通道绑定(比如PCIe x4、x8),我建议用QPLL,因为通道间的时钟一致性更好。
CPLL的锁定范围是1.6GHz到3.3GHz。QPLL的锁定范围更宽,能到6.6GHz。嗯,这里要注意:QPLL的输出频率不能直接给TX/RX用,需要经过分频。
3.4 TX路径:从并行到串行
TX路径的任务很简单:把FPGA逻辑侧的并行数据,转成高速串行数据发出去。我拆开来说:
- TX FIFO:缓冲数据,跨时钟域。FPGA逻辑侧和收发器侧时钟不同步,靠FIFO来隔离。
- 8B/10B编码:把8位数据编码成10位,保证DC平衡。有些协议不用这个,比如PCIe用的是加扰。
- 并串转换:把并行数据转成串行,送到TX驱动器。
- TX驱动器:输出差分信号,驱动外部链路。
我曾经在调试一个10G Ethernet项目时,发现TX眼图总是闭合。查了半天,结果是TX预加重没配好。你想想看,高速信号经过PCB走线,高频分量衰减严重,不加预加重根本不行。
3.5 RX路径:从串行到并行
RX路径比TX路径复杂得多。为什么?因为接收端要面对信号衰减、抖动、码间干扰等问题。
- RX均衡器:补偿信道损耗。7系列支持CTLE和DFE两种均衡方式。
- CDR:时钟数据恢复。从数据流中提取时钟,这是接收端最核心的模块。
- 串并转换:把串行数据转回并行。
- 8B/10B解码:恢复原始数据。
- RX FIFO:缓冲数据,跨时钟域。
避坑指南:我曾经遇到过CDR锁定失败的问题。原因是参考时钟的精度不够。7系列的CDR对参考时钟要求很高,必须用低抖动的时钟源。如果你用普通的晶振,大概率会翻车。
3.6 时钟架构:别小看它
收发器的时钟架构,说白了就是怎么把参考时钟变成高速串行时钟。我简单总结一下:
- 参考时钟:从外部晶振或FPGA内部输入,频率通常是协议规定的(比如125MHz、100MHz)。
- PLL倍频:CPLL或QPLL把参考时钟倍频到线速率对应的频率。
- 时钟分频:PLL输出分频后,给TX/RX路径用。
- 时钟校准:确保PLL输出频率准确,补偿工艺偏差。
我个人习惯,在设计PCB时就把参考时钟的走线长度严格控制好。因为收发器对时钟的相位噪声非常敏感,走线长了,噪声就大了。
3.7 小结
GTX和GTH的区别,说白了就是性能和功耗的取舍。选型时,先看你的线速率和协议要求,再看抖动预算。内部结构方面,PLL是核心,TX路径相对简单,RX路径复杂但关键。
嗯,这一章的内容就到这里。记住一句话:收发器配置,时钟先行。时钟搞定了,后面的事就好办多了。