2. FPGA电源轨识别与分类

做FPGA的PDN设计,第一步不是选电容,也不是算阻抗,而是把电源轨“认全、认准”。一颗现代FPGA(如Xilinx UltraScale+、Intel Agilex)往往有20~40条独立电源轨,如果漏掉一条、把两条轨合并、或者把电压值记错,轻则上电时序异常、配置失败,重则烧毁芯片。本节的目标是建立一套可复用的轨位识别与分类方法,让你拿到任何一款FPGA的引脚表或电源手册时,都能快速梳理出完整的电源轨清单。

一、按“供电对象”划分的五大类轨位

FPGA电源轨最本质的分类依据是“这条电供给芯片内部的哪个功能域”。不同功能域对电压、电流、噪声容限、上电时序的要求差异极大,因此不能混为一谈。工程上通常归为五类:

  • 核心电压(VCCINT / VCC_CORE):供给FPGA内部的可编程逻辑阵列、查找表、触发器、布线资源。它是电流最大的一条轨,UltraScale+典型值0.85V,Agilex典型值0.8V,电流可达数十安培。核心电压直接决定逻辑翻转速度,对纹波和瞬态响应最敏感。
  • 辅助电压(VCCAUX / VCC_AUX):供给芯片内部的配置逻辑、时钟管理单元(MMCM/PLL)、I/O缓冲器的偏置电路、边界扫描等。典型值1.8V(部分器件为2.5V或3.3V)。它虽然电流不大,但一旦异常,往往表现为“配置不成功”或“PLL失锁”,是排障中的高频嫌疑对象。
  • IO电压(VCCO / VCCIO):供给各个I/O Bank的输出驱动器和输入接收器。关键点在于:VCCO是按Bank分组的,每个Bank可以独立设置电压(1.2V/1.5V/1.8V/2.5V/3.3V),以匹配外部接口电平标准(LVCMOS、LVDS、SSTL等)。因此一颗FPGA可能有十几个VCCO轨,命名上常带Bank编号,如VCCO_34、VCCO_65。
  • 收发器电压(VCCINT_TX / VCCINT_RX 等):供给高速SerDes收发器的内部核心逻辑,通常与主核心电压分开供电,以保证收发器噪声不串扰到逻辑阵列。典型值0.85V~0.9V,对电源噪声极其敏感。
  • MGT电压(MGTAVCC / MGTAVTT / MGTVCCAUX):MGT即Multi-Gigabit Transceiver,是收发器的模拟供电域。MGTAVCC供给收发器内部模拟前端,典型0.9V;MGTAVTT是终端匹配电压,典型1.2V;MGTVCCAUX是辅助模拟电压,典型1.8V。这三条轨的噪声要求最严,通常要求纹波小于10mV,且需要独立的LDO或低噪声DC-DC供电。

二、命名规则:从引脚名反推功能域

各家FPGA厂商的命名规则略有差异,但存在通用规律。以Xilinx为例,前缀“VCC”表示供电正端,“VCCINT”中的“INT”指Internal(内部核心),“VCCAUX”中的“AUX”指Auxiliary(辅助),“VCCO”中的“O”指Output(输出驱动),“MGTAVCC”中的“MGT”指Multi-Gigabit Transceiver,“AVCC”指Analog VCC(模拟供电)。Intel器件则常用“VCC”、“VCCIO”、“VCCA”、“VCCP”等,其中“VCCA”对应模拟辅助,“VCCP”对应收发器核心。

识别时有一个实用技巧:看引脚名中的“域标识”后缀。例如VCCO_34中的“34”是Bank编号,说明这条轨只服务Bank 34;MGTAVCC_112中的“112”是Quad编号,说明它只服务第112号收发器Quad。同一颗芯片上,不同Bank的VCCO可以不同电压,不同Quad的MGTAVCC通常同电压但需分别去耦。命名规则的核心价值在于:它直接告诉你这条轨的供电范围、电压等级和噪声敏感度。

FPGA电源轨分类与命名映射图 按供电对象划分五大类 · 命名前缀直接反映功能域与噪声敏感度 FPGA 芯片 可编程逻辑阵列 LUT / FF / 布线资源 配置与时钟管理 MMCM / PLL / 配置逻辑 I/O Bank 驱动 按Bank分组 · 电平可变 收发器核心逻辑 SerDes 数字部分 MGT 模拟前端 高速模拟 · 噪声最敏感 VCCINT / VCC_CORE 核心电压 · 0.85V · 大电流 VCCAUX / VCC_AUX 辅助电压 · 1.8V · 配置/PLL VCCO_xx / VCCIO IO电压 · 按Bank独立 · 1.2~3.3V VCCINT_TX / VCCINT_RX 收发器电压 · 0.85~0.9V MGTAVCC / MGTAVTT / MGTVCCAUX MGT电压 · 0.9/1.2/1.8V · 低纹波 命名规则速记 VCC = 供电正端 · INT = 内部核心 · AUX = 辅助 · O = 输出驱动 · MGT = 高速收发器 · AVCC = 模拟供电 后缀数字 = Bank编号或Quad编号,决定该轨的服务范围与去耦位置

三、从手册到清单:实际识别流程

拿到一颗FPGA的电源引脚表后,建议按以下顺序梳理,避免遗漏:

  1. 先按前缀分组:把所有VCC开头的引脚名提取出来,按前缀归类。例如VCCINT、VCCAUX、VCCO、MGTAVCC、MGTAVTT、MGTVCCAUX、VCCINT_TX等。
  2. 再按后缀细分:对VCCO和MGTAVCC这类带编号的轨,按Bank/Quad编号列出独立条目。例如VCCO_12、VCCO_13、VCCO_34、VCCO_65……每个编号都是一条独立轨,需要独立去耦。
  3. 标注电压与电流:从数据手册的“Recommended Operating Conditions”表中查出每条轨的标称电压、容差(通常±5%或±3%)、最大电流。核心电压和MGT电压的容差通常更严。
  4. 标注时序要求:查“Power Sequencing”章节,确认哪些轨必须先上、哪些可以同时上、哪些必须最后上。典型规则是:核心电压先上,辅助电压次之,IO电压最后;MGT电压通常与核心电压同时或稍后。
  5. 标注噪声敏感度:MGT模拟轨和收发器核心轨对纹波最敏感,通常要求<10mV;核心电压次之,要求<20mV;IO电压相对宽松,但高速接口(如DDR)的VCCO仍需控制纹波。
实用提示:很多FPGA的VCCO虽然标称同一电压,但不同Bank之间仍建议用磁珠或0Ω电阻隔离,防止某个Bank的噪声通过电源平面串扰到其他Bank。尤其是同时存在DDR和普通LVCMOS的Bank,隔离更为必要。

四、常见混淆点与排障线索

实际项目中,以下几组轨最容易混淆:

易混淆对区别典型故障现象
VCCINT vs VCCINT_TX前者供逻辑阵列,后者供收发器数字核心,电压可能相同但必须分开供电收发器链路误码率高,逻辑功能正常
VCCAUX vs MGTVCCAUX前者供配置/PLL,后者供MGT模拟辅助,电压可能同为1.8V但噪声要求不同配置成功但高速链路不稳定
VCCO_xx vs VCCO_yy不同Bank的IO电压,可独立设置某组IO电平不匹配,其他IO正常
MGTAVCC vs MGTAVTT前者供模拟前端,后者供终端匹配,电压不同(0.9V vs 1.2V)收发器无法建立链路或眼图闭合

排障时有一个高效方法:先量电压,再量纹波,最后看时序。如果某条轨电压偏差超过±5%,先查供电芯片和反馈电阻;如果电压正常但纹波超标,查去耦电容布局和电源平面分割;如果电压和纹波都正常但功能异常,查上电时序是否满足手册要求。MGT相关故障中,超过一半与MGTAVCC/MGTAVTT的纹波或去耦有关,而非收发器配置本身。

五、轨位清单模板

以下是一份可直接填写的轨位清单模板,建议在项目启动阶段完成,作为PDN设计和PCB布局的输入:

FPGA型号:__________    封装:__________    温度等级:__________

| 轨位名称       | 分类     | 标称电压 | 容差  | 最大电流 | 上电顺序 | 纹波要求 | 去耦位置       |
|----------------|----------|----------|-------|----------|----------|----------|----------------|
| VCCINT         | 核心     | 0.85V    | ±3%   | 30A      | 1        | <20mV   | 芯片底部密集   |
| VCCAUX         | 辅助     | 1.8V     | ±5%   | 3A       | 2        | <30mV   | 芯片周边       |
| VCCO_12        | IO       | 1.5V     | ±5%   | 2A       | 3        | <50mV   | Bank 12附近    |
| VCCO_34        | IO       | 1.8V     | ±5%   | 2A       | 3        | <50mV   | Bank 34附近    |
| MGTAVCC        | MGT      | 0.9V     | ±3%   | 4A       | 2        | <10mV   | Quad附近       |
| MGTAVTT        | MGT      | 1.2V     | ±3%   | 3A       | 2        | <10mV   | Quad附近       |
| MGTVCCAUX      | MGT      | 1.8V     | ±3%   | 1A       | 2        | <10mV   | Quad附近       |
| VCCINT_TX      | 收发器   | 0.85V    | ±3%   | 5A       | 2        | <15mV   | 收发器区域     |

这份清单完成后,PDN设计的后续工作——目标阻抗计算、电容选型、平面分割、去耦布局——才有明确的输入。轨位识别看似基础,但它决定了整个PDN设计的边界条件。把这一步做扎实,后面的仿真和实测才有意义。