FPGA 电源轨:VCCINT/VCCAUX/VCCO/VCCBRAM 与收发器模拟电源怎么分工
单片机通常一颗芯片接一路 3.3V 就能跑,FPGA 却不是。翻开任意一块 FPGA 开发板的原理图,给芯片供电的稳压器少则三四颗、多则十几颗,网络标号从 VCCINT、VCCAUX、VCCO 一直排到 MGTAVTT。本篇在入门体系里承接 FPGA 供电与散热 的概览,专门把 FPGA 电源轨 这件事讲透:每一路到底给谁供电、为什么非要分开、板级电源树怎么搭、出了问题怎么观测。
相关篇目:IO 轨与 bank 电平的绑定关系见 FPGA IO bank 与 VCCO;上电瞬间 POR 与配置全过程见 FPGA 上电配置时序;片上电压/温度采集见 FPGA 片上 XADC 监控;去耦电容为什么贴芯片放的物理推导见 去耦电容为什么贴芯片放。文中电压只讲量级,具体数值以你所用器件的数据手册和功耗估算器为准。
本文要回答的问题
- FPGA 为什么不能像普通芯片那样只用一路电源?六条主要电源轨各自给谁供电?
- VCCINT 的电压为什么一路降到 1V 以下、电流却反而是全板最大?
- VCCAUX 这路「辅助电源」为什么几代器件都没被砍掉?VCCBRAM 独立出来的意义是什么?
- VCCO 为什么要跟着 bank 走,一颗器件上为什么会同时存在好几路 VCCO?
- 高速收发器的 MGTAVCC/MGTAVTT 为什么对噪声格外苛刻?电源树、去耦、上电顺序和 XADC 监控怎么配合成一套体系?
一、先看全局:六条轨是「需求逐级收窄」的结果
很多人第一次接触 FPGA 电源轨时的困惑是:为什么非要这么多路,合成一路不是更省事?根本原因有两条。其一,芯片内部不同电路的工艺需求互相矛盾——数字逻辑追逐先进工艺,工作电压越低越好(动态功耗与电压平方成正比);而 I/O 要和板级 3.3V、2.5V、1.8V 的器件直接对话,收发器的模拟电路还要在噪声、耐压和终端匹配之间取平衡。其二,不同电路的用电习惯完全不同:核心轨是低压大电流、纳秒级剧烈跳变;模拟轨电流不大但对纹波极其敏感;IO 轨则电压档位多、随外设而定。一路电源不可能同时满足这三组约束,于是供电需求沿下面这条漏斗逐层收窄,最终落到每轨一组可测量的指标上。
读这张漏斗抓住一个要点:FPGA 电源轨不是厂商拍脑袋拆出来的接线端子,而是「功能域 → 供电路 → 可测量指标」这条推导链的产物。选型和设计负载决定总功耗,功耗按功能域拆分后才映射到具体的轨,每轨再拿到自己的电压、电流和纹波指标。自研板的电源设计和验收,本质上就是把漏斗最底层这张指标表逐项满足。六条主力轨的分工先给一张速览表,后文逐条展开。
| 电源轨 | 供电对象 | 电压量级(只讲量级) | 用电特征 |
|---|---|---|---|
| VCCINT | LUT/FF/DSP 等内核 Fabric、时钟分配主体 | 约 1.0V 并随工艺代际下降(0.9V/0.85V 档) | 电压最低、电流最大(数安至数十安)、di/dt 最猛 |
| VCCBRAM | Block RAM 的存储阵列与保持电路 | 与 VCCINT 同档,部分器件可共轨 | 要求干净稳定,保证存储内容可靠 |
| VCCAUX | 辅助电路、配置相关 I/O、部分时钟/辅助模拟模块 | 长期稳定在 1.8V 档 | 电流不大,跨家族兼容性强 |
| VCCO | 各 I/O bank 的输出驱动与输入缓冲 | 1.2V–3.3V 多档,每个 bank 一组 | 路数最多,电平由 bank 外设决定 |
| MGTAVCC | 高速收发器 PMA 模拟电路、收发器 PLL | 约 0.9V–1.0V 档 | 低噪声优先,纹波直接劣化抖动 |
| MGTAVTT | 收发器发射端终端与偏置电路 | 约 1.2V 档 | 同样低噪声,与 MGTAVCC 分轨供电 |
二、VCCINT:低压大电流的核心轨
VCCINT 是整棵电源树的主干。它给 FPGA 的绝大部分数字内核供电:LUT 与触发器构成的 Fabric、DSP 运算块、全局时钟网络的主要部分。它有两个看似矛盾的特征:电压在所有轨里最低,电流却最大。低电压是工艺进步的直接结果——动态功耗 P = C·V²·f,把核心电压从 1.0V 降到 0.85V,同一设计的动态功耗大约下降三成,因此越新的工艺代际,VCCINT 的标称电压越低。但芯片规模同时在膨胀,上百万触发器在同一个时钟沿翻转,瞬时电流只能靠堆供电能力来满足,于是大器件的 VCCINT 电流达到数安乃至数十安,板子上常见多相降压 DC-DC 加裸露铜皮来伺候这一路。
低电压还带来一个连锁要求:容差更紧。1.0V 的轨允许波动几十毫伏,比例上就是好几个百分点;同样几十毫伏噪声落在 3.3V 的 VCCO 上几乎可以忽略。加上内核实耗电随「你的设计在干什么」实时变化——空闲时几百毫安,DSP 阵列全开瞬间冲到峰值——VCCINT 轨上的动态电压跌落(droop)是电源完整性最主要的战场。下图把板级电源树完整画出来:系统电源经一组稳压器,分别送入芯片内四个功能域,颜色对应四类轨角色(橙=核心、蓝=IO、灰=辅助、绿=收发器模拟)。
读这张图有三个层次。纵向上,能量自上而下走三层:板级输入 → 稳压器阵列 → 芯片功能域,这就是「电源树」名字的由来。横向上,四路稳压器彼此独立,核心轨的大电流跳变不会经过同一颗稳压器去污染模拟轨。还要注意每条边的含义不同:核心轨一路对一个域,IO 轨则是一路稳压器对应一个电压组、可供给多个同电平 bank。理解这张拓扑,后面所有轨的讨论都只是在填这张图的细节。
三、VCCAUX 与 VCCBRAM:两路「看似多余」的轨
VCCAUX 为什么长期存在。 辅助轨在多代 FPGA 中稳定保持在 1.8V 档,给配置相关 I/O、辅助逻辑以及部分时钟与模拟模块供电。它存在的理由不是「多一路电」,而是边界条件不同:配置和辅助电路需要在核心逻辑尚未正常工作时就可用(上电配置阶段 VCCINT 可能还在爬升),同时 1.8V 是兼顾耐压与功耗的板级常用电压,把它固定下来,跨家族的电路板、下载器和配置接口就能保持兼容。换句话说,VCCAUX 是芯片里「最先醒、最后睡、电压最不思变」的那一路。
VCCBRAM 为什么独立。 Block RAM 的存储单元本质上是靠电压维持内容的敏感模拟结构,对电源噪声比普通逻辑更娇气;把它的供电从 VCCINT 上单独引出,核心 Fabric 海量翻转产生的纹波就不会直接调制存储阵列的保持电压。BRAM 与分布式 RAM 的区别讲过 BRAM 在芯片中的角色,这里补的是供电视角:独立引脚也给了板级灵活度——部分器件允许 VCCBRAM 与 VCCINT 共轨供电,另一些场景则建议单独去耦甚至单独供电,具体接法以该型号数据手册为准。类似的「边角轨」还有给加密密钥备份供电的 VCCBATT,只用特定功能时才需要处理。
| 视角 | VCCINT | VCCAUX | VCCBRAM |
|---|---|---|---|
| 角色 | 数字内核主力 | 配置与辅助边界 | BRAM 存储保持 |
| 电压档 | 随工艺下降 | 长期 1.8V | 多与 VCCINT 同档 |
| 电流 | 最大 | 小 | 小 |
| 设计关注 | 峰值电流与跌落 | 上电早期可用、兼容 | 干净、接法遵手册 |
四、VCCO:跟着 bank 走的多路 IO 轨
VCCO 是电源树里路数最多的一类。FPGA 的 I/O 按 bank 分组,每个 bank 有自己的 VCCO 供电脚,bank 内所有引脚共用这一个电压——VCCO 直接决定该 bank 能使用哪些电平标准:3.3V LVCMOS、2.5V、1.8V、1.5V、1.2V 等等。这就是为什么 XDC 里把同一 bank 的引脚约束成两种互斥电平会被工具 DRC 拦下,FPGA IO bank 与 VCCO 对这条规则和混压闩锁的机理有完整推演,这里不重复。
从电源树角度补三点板级认识。第一,一颗 FPGA 上 VCCO 的路数等于你启用的电压档位数,而不是 bank 数:多个同电平 bank 可以由同一路稳压器供电。第二,VCCO 的电流预算主要取决于输出引脚数量、负载电容和翻转率——一整排总线同时驱动重负载时,IO 轨也能冲到安培级,不能因为它「电压高」就默认电流小。第三,VCCO 必须和对端器件匹配,划 bank 的依据来自板级外设图,开发板外设地图给出了从原理图反推每路 VCCO 电压的方法。
五、MGTAVCC 与 MGTAVTT:收发器为什么要两路低噪电源
用到 GTP/GTX/GTH/GTY 这类高速串行收发器时,电源清单里会多出两路模拟轨。MGTAVCC(约 0.9V–1.0V 档)给收发器 PMA 的模拟内核和收发器 PLL 供电,MGTAVTT(约 1.2V 档)给发射端的终端匹配与偏置电路供电。它们电压不同、职责不同,是两路独立的电源,不能简单短接,也不允许用数字轨顺带供电。
为什么这么讲究?收发器处理的是每秒几十亿比特的模拟信号,发送端的抖动(jitter)有一部分直接由电源纹波调制而来:开关电源几百 kHz 到几 MHz 的纹波落入 PLL 电源,表现为周期性相位抖动;噪声再经终端电路耦合到线上,眼图收口、误码率上升,而且这种问题用数字逻辑调试手段根本看不见。因此板级通用做法是:低噪稳压器源(低噪声 LDO 或专门的低纹波降压)+ 磁珠与多容值陶瓷电容组成的 π 型滤波 + 收发器引脚就近放置去耦电容,并在布局上让模拟轨远离 VCCINT 的大电流回流路径。
这张图的读法是「噪声逐级被剥掉」:左侧灰块是噪声较大的通用开关电源,蓝色低噪源先完成电压变换,绿色 π 型滤波网络再把残余开关纹波压下去,之后才分两路、以最短路径抵达芯片引脚;右侧红色块是最终受害者——电源上剩下的每一点噪声,都会在收发器的抖动和眼图上还回来。各家族对磁珠阻抗、容值搭配和供电方案有明确参考设计,照对应器件的 PCB 设计指南执行即可,不要凭经验自创参数。
六、去耦层次与上电顺序:电源树的两条工程纪律
去耦是分层的。 任何一路 FPGA 电源轨都不是靠一颗电容稳住的,而是板级体电容(几十到几百微法,负责低频储能、顶住电压凹陷)、引脚旁陶瓷电容(0.1µF 配合多个小容值,负责兆到百兆赫频段)、封装内与片上电容(负责纳秒以下的最快跳变)三层接力。为什么必须大小电容并接、为什么陶瓷电容要贴芯片放、过孔和封装怎样影响回路电感,去耦电容为什么贴芯片放用 ΔV=L·di/dt 做了完整推导;想深入封装级电源完整性可读 封装与电源完整性去耦。对 FPGA 实践只需记住一句话:每路轨按数据手册的容值清单贴足、摆近、缩短回流回路,三层各司其职,谁也替代不了谁。
| 层次 | 典型器件 | 顶住的时间尺度 | 摆放要点 |
|---|---|---|---|
| 板级体电容 | 几十–几百 µF 电解/钽/大陶瓷 | 微秒级,储能填谷 | 稳压器输出侧、负载入口 |
| 板级陶瓷去耦 | 0.1µF 加多容值小电容 | 纳秒–百兆赫 | 每个电源引脚就近,短过孔 |
| 封装内/片上 | 封装电容与片上电容 | 亚纳秒最快跳变 | 器件内部,板级无法干预 |
上电顺序有要求。 多电源轨器件引出一个单电源芯片没有的问题:各路电压爬升有先后。许多 FPGA 家族推荐核心轨先于辅助轨、IO 轨(具体顺序、最大间隔与单调性要求以该型号手册为准),目的是避免内部跨电压域的寄生通路在爬升中途导通,形成穿透电流甚至闩锁,同时保证 POR 电路判定电源有效时各域都已就绪。常见实现是稳压器的使能(EN)与电源好(PG)信号级联——前一路 PG 有效后才放行下一路。

时序图里 PMIC 每放一路都要停住等 PG,和寄存器握手很像:没有「电源已稳定」的应答,下一路绝不使能。违反顺序的典型现象包括上电瞬间电流异常偏大、配置/JTAG 下载失败、I/O 启动状态不确定,长期如此还影响可靠性;FPGA 上电配置时序给出了从电源爬升、POR 到 DONE 释放的完整时间轴。自研板必须用示波器实测各路爬升波形确认顺序,而不是只看电源指示灯。
七、电源完整性出问题怎么查:与 XADC 观测联动
FPGA 电源问题的难查之处,在于它的症状常常伪装成「逻辑 bug」:小设计一切正常,资源利用率一高就随机出错、重配、JTAG 掉线;冷机正常、跑热才崩;某个 DSP 密集算法一启动整板复位。这类「随负载出现」的故障,九成要回到轨上找原因——重载瞬间 VCCINT 被拉垮或纹波超限,数字逻辑在亚正常电压下行为不再可靠。排查遵循「现象 → 怀疑哪路轨 → 上什么观测手段」的分诊路线。
| 现象 | 更可能的轨问题 | 观测手段 |
|---|---|---|
| 小设计正常、大设计/重载时复位或重配 | VCCINT 峰值电流不足、动态跌落大 | 示波器就近测引脚跌落与纹波;核对功耗估算 |
| 收发器误码率高、眼图收口、链路不稳定 | MGTAVCC/MGTAVTT 纹波大、滤波不当 | 探头测模拟轨纹波;查布局回流路径 |
| 整 bank IO 间歇性异常、与外设有关 | VCCO 电压档/电流不足、bank 混压 | 量测该 bank VCCO;核对 bank 约束 |
| 跑一段时间后才出错,伴随发烫 | 整体功耗超预算、过热联动 | 片上温度监控 + 各轨电压采集 |
这里 XADC/SYSMON 能帮大忙:它在芯片内部直接采温度和多路内部电源轨的电压,等于在「用电大户自己家里」装了电表,支持阈值告警中断甚至过温关断,用法详见 FPGA 片上 XADC 监控。典型联动是:XADC 发现重载时某轨读数下探或温度越线并触发中断,软件侧先降载自保,同时人工用示波器在芯片引脚附近抓波形确认——片上监控给「什么时候、哪一路」的连续证据,示波器给「纹波长什么样」的高带宽细节,两者互补。上电前的电流预算则应在设计阶段就用厂商功耗估算器按轨算清并留裕量,功耗估算与散热的完整方法见 FPGA 供电与散热。
这一篇在知识体系里的位置
本篇属于 FPGA 入门体系的「芯片物理结构 → 板级硬件设计」层,向上回答「芯片为什么需要这么多电」,向下支撑自研板供电设计与电源故障排查。
- 概览与热设计:FPGA 供电与散热——多电源轨、功耗估算与散热的入门全景。
- IO 轨专题:FPGA IO bank 与 VCCO——VCCO 与 bank 电平的强绑定、混压闩锁机理。
- 上电全过程:FPGA 上电配置时序——电源爬升之后的 POR、清空、配置与启动序列。
- 片上观测:FPGA 片上 XADC 监控——温度与各轨电压的片上采集、告警与关断。
- 去耦原理:去耦电容为什么贴芯片放、封装与电源完整性去耦——ΔV=L·di/dt、电容层次与封装级 PI。
- 背景延伸:FPGA 芯片结构详解、BRAM 与分布式 RAM 的区别、PLL/MMCM 时钟向导。
总结
FPGA 电源轨的多路结构,是芯片内部不同电路对电压、噪声和上电时机的要求互相矛盾的必然结果:VCCINT 以约 1V 且代际下降的低电压喂给 Fabric/DSP,电流最大、动态跌落最凶;VCCAUX 长期守在 1.8V 档,保证配置与辅助电路在上电早期可用且跨家族兼容;VCCBRAM 把 BRAM 存储阵列单独引出,躲开核心翻转纹波;VCCO 按 bank 分多路,电平直接决定可用的 I/O 标准;MGTAVCC 与 MGTAVTT 是收发器两路独立模拟轨,靠低噪源加 π 型滤波把纹波挡在抖动和眼图之外。工程上记住四件事:电源树按功能域独立供电、去耦靠体电容/陶瓷电容/封装电容三层接力、上电顺序用 EN/PG 级联并以数据手册为准、重载相关的「伪逻辑故障」回到轨上用示波器加 XADC 联合定位。具体电压、电流与容值数字,一律以你所用器件的数据手册和功耗估算器输出为准。