2. Quartus收发器架构与IP核选型
在Quartus中调试收发器链路,第一步不是打开SignalTap,而是先弄清楚“信号从哪来、经过哪些硬核、由谁提供时钟、最终落到哪个IP接口”。如果对器件内部的Transceiver Bank、通道、PLL、CDR以及PCS/PMA分层没有清晰认识,后续看到的误码、失锁、复位卡死等现象就很难定位到具体层级。本节围绕“结构—资源—IP差异—选型依据”展开,帮助你在工程初期就做出正确的器件与IP决策。
一、Transceiver Bank与通道的物理组织
在Intel(原Altera)FPGA中,高速收发器以Transceiver Bank为单位组织。一个Bank通常包含若干条收发器通道(Channel),例如4条或6条,具体数量取决于器件系列与封装。每条通道是独立的收发链路,包含发送路径(TX)和接收路径(RX),可以单独配置速率、协议和参考时钟。Bank内部共享部分资源,最典型的是ATX PLL和CMU PLL(部分系列称fPLL或Channel PLL),它们为Bank内多条通道提供串行时钟。
需要特别注意的是:Bank是时钟与电源的边界。跨Bank使用收发器时,参考时钟、PLL输出、复位域都可能不同。例如,用Bank 1的ATX PLL去驱动Bank 2的通道,在多数器件中是不允许的,必须通过专用时钟网络或重新规划通道归属。因此,在分配引脚和规划链路时,应优先把同一协议、同一参考时钟的通道放在同一个Bank内。
二、PLL与CDR:收发时钟的两条主线
发送侧的核心是PLL。它把参考时钟(如100 MHz或125 MHz)倍频到串行时钟频率,再经过本地分频器产生并行时钟。以一条10.3125 Gbps链路为例,若PCS采用64位接口,则并行时钟约为161.13 MHz,串行时钟为5.15625 GHz(DDR方式)。PLL的配置参数包括参考时钟频率、目标数据速率、带宽模式和输出分频比,这些参数在IP核中通常以“数据速率+参考时钟”方式输入,由Quartus自动计算。
接收侧的核心是CDR(Clock Data Recovery)。CDR从串行数据流中恢复出时钟,并对数据采样。CDR需要锁定到正确的数据速率和参考时钟容差范围内。调试中常见的“RX失锁”往往与参考时钟频偏、CDR带宽设置、均衡器配置有关,而不是简单的复位问题。理解CDR的锁定过程,有助于判断是时钟问题还是信号完整性问题。
三、PCS与PMA的分层职责
收发器内部通常划分为PMA(Physical Medium Attachment)和PCS(Physical Coding Sublayer)两层。PMA负责模拟前端:串并转换(SerDes)、均衡、驱动、CDR、预加重等;PCS负责数字逻辑:8b/10b或64b/66b编解码、通道对齐、字对齐、FIFO缓冲、速率匹配。调试时,如果误码率随温度或电压漂移,优先怀疑PMA;如果出现通道间偏斜或对齐失败,优先检查PCS。
在Quartus中,PCS/PMA的配置大多通过IP核参数完成,但部分高级功能(如自适应均衡、DFE)需要手动使能。理解分层边界,可以让你在SignalTap中准确选择观测点:PMA侧看串行数据眼图,PCS侧看并行数据和控制信号。
四、不同器件系列的IP差异
Intel FPGA的收发器IP随器件系列变化较大。Stratix V使用Native PHY和Custom PHY;Arria 10引入ATX PLL与fPLL的灵活组合,并支持Enhanced PCS;Cyclone 10 GX则提供Transceiver Native PHY,但通道数和速率上限较低。同一协议在不同系列中可能对应不同的IP名称和参数集,例如PCIe Gen3在Stratix V中使用Hard IP for PCI Express,在Arria 10中则使用Arria 10 Hard IP for PCI Express。
选型时,首先要确认器件是否支持目标协议和速率。例如,10G Ethernet需要至少10.3125 Gbps的收发器,且PCS需支持64b/66b编码;如果器件只支持8b/10b,则无法直接实现。其次要确认IP核是否包含协议硬核,还是需要软核实现。硬核IP通常功耗更低、时序更易收敛,但灵活性较差;软核IP可定制性强,但占用逻辑资源。
五、IP核选型依据与决策表
在实际项目中,IP核选型可以按以下维度判断:协议标准、数据速率、参考时钟、通道数、是否需要硬核、是否需要动态重配置。下面给出一份示例决策表,供选型时参考。表中参数为教学示例,实际应以器件手册和IP用户指南为准。
| 选型维度 | 判断要点 | 示例:10G Ethernet | 示例:PCIe Gen3 x4 |
|---|---|---|---|
| 协议标准 | IEEE 802.3 / PCIe Base | IEEE 802.3ae | PCIe 3.0 |
| 数据速率 | 线速率与编码方式 | 10.3125 Gbps,64b/66b | 8.0 GT/s,128b/130b |
| 参考时钟 | 频率与抖动要求 | 156.25 MHz | 100 MHz |
| 通道数 | Bank内可用通道 | 1条 | 4条 |
| 硬核/软核 | 是否使用协议硬核 | Native PHY + 软PCS | Hard IP for PCIe |
| 动态重配置 | 是否需要速率切换 | 可选 | 通常不需要 |
六、从架构到调试的衔接
理解架构的最终目的是为调试服务。当你拿到一个收发器链路时,可以按以下顺序建立认知:先确认通道属于哪个Bank,再确认PLL来源和参考时钟,然后检查PCS/PMA配置是否与协议匹配,最后确认IP核类型和参数。这样,当链路出现问题时,你可以快速判断是时钟域问题、PLL未锁定、CDR失锁,还是PCS对齐失败。例如,若TX端无输出,先查PLL是否锁定;若RX端误码高,先查CDR是否锁定和均衡器配置;若通道间数据错位,先查PCS的通道对齐和FIFO设置。