别等板子回来才后悔:FPGA电源设计的6个致命细节

做FPGA硬件设计,有一个很容易让人掉以轻心的环节,就是电源树。

刚开始画原理图时,似乎没什么难度:VCCINT接核心电源,VCCAUX接辅助电源,VCCO按照Bank的I/O标准配置,MGT再单独安排供电。对照数据手册,把电压填好,把DC-DC芯片选好,一棵电源树看起来就差不多了。

但真正让工程师头疼的,往往是板子回来之后。FPGA能上电,却无法稳定加载配置;逻辑功能看起来正常,DDR跑久了偶尔报错;SerDes链路在实验室能通,换个温度或者跑一轮长时间测试,就开始随机失锁。查了半天时钟、复位和信号完整性,最后发现问题出在电源上。

FPGA电源设计最容易踩的坑,就是把“电压正确”当成了“电源合格”。

电源芯片输出的电压没问题,不代表芯片引脚处的电源足够干净;上电顺序符合要求,也不代表电压爬升过程没有问题。尤其是中高端FPGA,核心电流、瞬态响应、高速收发器噪声和PCB寄生参数都会影响最终结果。电源树不是把几条电源网连起来就结束了,它直接决定整块板子的稳定性上限。

坑一:VCCINT只看电压和最大电流,忽略瞬态响应

VCCINT是最不能随便处理的一条电源轨。它的电压通常不到1V,但电流可能达到数十安培,具体取决于FPGA型号、逻辑规模、工作频率和实际负载。更麻烦的是,FPGA内部逻辑并不是一直以固定功耗运行。当大量逻辑同时翻转、DSP阵列集中工作,或者AI推理负载发生变化时,核心电源会面对快速变化的瞬态电流。

这时候,电源芯片的额定输出电流再大,也不意味着电压一定稳得住。

举个例子,假设某条核心电源的瞬态电流变化为10A,设计给交流纹波和瞬态偏差预留的电压预算为17mV,那么对应的目标阻抗约为:

(Z_{\text{target}}=\frac{17\text{mV}}{10\text{A}}=1.7\text{m}\Omega)

注意,这是一个简化的预算示例,实际设计还要扣除直流误差、温漂、稳压器负载调整率等因素,并根据目标频段分析整个电源分配网络(PDN)的阻抗。

毫欧级是什么概念?电源芯片、PCB走线、过孔、封装和芯片内部供电路径上的寄生参数,都可能成为影响因素。只盯着Buck芯片的数据手册,很容易漏掉真正的问题。

避坑建议: 先用厂商提供的功耗估算工具计算负载,再根据瞬态电流、允许电压偏差和频率范围制定目标阻抗。大电流核心轨通常优先考虑同步Buck、多相Buck等方案,同时检查负载阶跃响应、输出电容配置、PCB供电路径和散热能力。不要因为某颗芯片标称能输出几十安培,就直接认定它适合你的FPGA。

另外,VCCINT也不是简单地追求“纹波越小越好”。真正要保证的是:在规定的工作条件和频段内,芯片引脚处的电压始终满足数据手册要求,包括直流精度、纹波和瞬态偏差。

坑二:VCCAUX、VCCO电压一样,就直接共用一颗电源

这是原理图设计中很常见的省成本思路。

反正都是1.8V,为什么还要多用一颗稳压器?如果两个I/O Bank都是1.8V,是不是也能直接并在一起?

答案是:电压相同,只能说明它们有合并的可能,不代表它们一定适合共用电源。

VCCAUX负责器件内部的辅助电路,VCCO则为相应Bank的I/O提供电源。两者的负载特征、噪声要求和供电限制并不完全相同。能否合并,首先要看具体FPGA系列的数据手册和电源设计指南,不能拿某一款器件的规则直接套用到另一款上。

VCCO尤其值得注意。两个Bank即使使用相同电压,如果一个连接普通控制信号,另一个连接高速并行接口,负载变化和同时开关噪声(SSN)也可能完全不同。共用供电路径后,某个Bank的瞬态电流就可能影响另一个Bank。

这并不意味着每个Bank都必须配一颗独立稳压器。那样做既增加成本,也未必能获得更好的结果。真正需要判断的是负载、电流变化、噪声预算和供电路径之间的关系。

避坑建议: 先按Bank整理I/O标准、工作频率、负载和电流需求,再决定哪些电源可以合并。对于负载相对安静、噪声要求适中的电源,可以考虑合理共轨;对于对噪声敏感或存在明显负载耦合的电源,可以考虑独立稳压、局部滤波或优化供电路径。

至于LDO,也不要简单理解为“低噪声,所以哪里都能用”。它适合电流较小、噪声要求较高的辅助电源,但大电流下的压差损耗会直接转化为热量。是否划算,要算清楚输入输出压差、负载电流、热阻和温升。

坑三:MGT电源照搬核心电源方案,高速链路迟早要排查

如果说VCCINT主要考验大电流下的电压稳定性,那么MGT电源更考验噪声控制。

高速收发器中的模拟电路对供电噪声非常敏感。参考时钟、PLL、发送端和接收端的模拟电路,都可能受到电源噪声影响,最终表现为抖动增加、误码率上升,甚至链路无法稳定建立。

所以,核心电源和MGT电源不能只因为电压接近,就采用同一套设计思路。

工程中常见的做法,是使用Buck完成主要降压,再通过低噪声LDO或经过验证的滤波方案进一步抑制残余噪声。不过,这不是所有MGT电源都必须采用的固定模板。前级电压余量、LDO压差、负载电流、热耗散和滤波器的动态响应,都需要一起考虑。

还有一个容易被忽略的问题:电源在稳压器输出端看起来很干净,不代表到达FPGA引脚时依然如此。

如果MGT模拟电源的供电路径较长,去耦电容摆放不合理,或者电源回路与高速信号、时钟线路之间存在明显耦合,最终的引脚噪声仍然可能超标。

避坑建议: 设计MGT电源时,先查对应器件和收发器类型的电源要求,明确允许的纹波、噪声频段和瞬态限制,再确定稳压器及滤波架构。布局时尽量缩短关键电源回路,做好电源与地的回流设计,并为高速模拟电源预留可测量、可验证的测试条件。

不要等到SerDes链路出现随机失锁,才开始怀疑电源。

坑四:上电顺序照着参考设计抄,却忽略了电压爬升过程

FPGA电源时序是另一个高频故障源。

不同器件系列对核心电源、辅助电源、I/O电源和收发器电源的上电要求可能不同。部分AMD/Xilinx器件还有明确的推荐上电顺序,以及对电源斜率、单调性和电压偏差的限制。

这里最容易出现两种误区:一种是只看电源先后顺序,不看电压实际怎么爬升;另一种是参考设计能正常启动,就认为自己的板子照着连接也一定没问题。

实际上,稳压器的软启动设置、输出电容、负载变化和限流行为,都可能改变实际的上电波形。电源斜坡过快或过慢、爬升过程中出现平台或回落,都可能让启动过程变得不可靠。具体允许范围必须以目标器件的数据手册为准,不能把某一系列的时间参数直接套用到所有FPGA上。

还有一个常被遗漏的角色:配置Flash。

FPGA能否正常启动,不只取决于FPGA本身的供电。配置Flash的电源、启动准备时间、配置接口信号状态以及复位释放时机,都可能影响配置流程。如果FPGA开始读取配置数据时,Flash还没有准备好,问题就可能表现为DONE信号不拉高、配置失败,或者偶发启动异常。

避坑建议: 不要只在原理图上检查电源时序。板子回来后,用示波器同时观察关键电源轨、复位信号和必要的配置接口信号,确认实际的上电先后、斜坡形状和稳定时间。对于存在上下电顺序要求的器件,也要检查掉电过程,而不只是验证上电。

如果故障是“偶尔无法启动”,优先捕获真实上电波形,往往比反复修改RTL更有价值。

坑五:去耦电容按数量摆满了,电源完整性却没有做好

“核心电源放几颗10μF,再配一圈0.1μF”,这种做法并不是完全错误,问题在于它把去耦设计简化成了容值清单。

电容的作用不是简单地给电源“补容量”,而是在不同频率范围内,为负载提供低阻抗的电流路径。真正影响效果的,除了容值,还有等效串联电阻(ESR)、等效串联电感(ESL)、安装位置、过孔数量和电源回路面积。

通常,大容量电容负责相对低频的能量储备,中小容量MLCC负责更高频段的去耦。但频率分工并没有一条适用于所有板子的固定分界线,实际效果取决于电容参数、安装寄生参数和整个PDN的阻抗特性。

尤其是在高频下,一颗电容即使容值很大,也可能因为安装电感而失去预期效果。因此,把小容量去耦电容放在靠近FPGA电源引脚的位置,并尽可能缩短电源和地之间的连接路径,往往比单纯增加电容数量更有意义。

另一个容易忽略的问题是反谐振。不同容值的电容并联后,受到各自ESL、ESR和电源平面特性的影响,可能在某些频率出现阻抗峰值。电容越多,PDN不一定越好;盲目增加不同容值,有时反而会让特定频段的阻抗恶化。

避坑建议: 从目标阻抗出发,结合电容模型和PCB结构评估PDN,而不是只按参考设计统计电容颗数。布局时优先控制高频去耦回路的面积和电感,检查电容焊盘到电源、地平面的连接方式。对于高性能FPGA,条件允许时应进行阻抗仿真或电源完整性分析。

记住一个原则:电容放得近,不只是看它距离芯片多远,还要看它到电源和地之间的整个电流回路有多短。

坑六:原理图检查得很仔细,PCB上的回流路径却没人管

电源从稳压器输出,经过铜箔、平面、过孔和BGA焊球进入芯片,电流最终还要通过地回路返回。

这条路径在原理图上往往只有一个电源符号和一个GND符号,但在真实PCB上,它有电阻,也有电感。频率越高,寄生电感造成的影响越不能忽略。

这也是为什么有些板子换了更贵的稳压器,问题却没有明显改善:真正的瓶颈可能在PCB上。

例如,去耦电容距离FPGA看起来不远,但电源过孔和地过孔离焊盘较远,电流必须绕一段路才能进入平面;又或者BGA扇出区域的电源与地连接不合理,导致供电回路面积变大。这些细节都会增加寄生电感,削弱高频去耦效果。

不过,也不必把所有问题都归结为过孔。电源平面连续性、参考地完整性、封装寄生参数和稳压器至负载的路径,同样会影响最终结果。

避坑建议: PCB布局阶段就要把电源与地作为一组完整的电流回路来检查。去耦电容的电源端和地端都要尽量靠近相应连接点;高速信号下方应保持合适、连续的参考平面;关键电源路径避免不必要的绕行和狭窄瓶颈。BGA扇出区域空间紧张时,更要结合封装引脚分布和PCB层叠设计,而不是等布线完成后再补救。

最后:电源树设计,别停留在“能上电”这一步

FPGA电源设计最麻烦的地方,在于很多问题并不会立刻暴露。

一块板子能下载程序、能点亮LED、能跑通一次功能演示,只能说明设计通过了最初级的验证。进入高速接口测试、DDR压力测试、温度循环和长时间运行之后,电源设计的短板才可能逐渐显现。

所以,设计电源树时,我更建议把注意力放在三个问题上:

  • 电压和电流预算是否合理?不仅看额定值,还要考虑直流误差、瞬态响应、温升和工作条件。
  • 电源能否按要求建立并稳定下来?不只检查上电顺序,还要检查斜坡、复位以及配置Flash的配合。
  • 芯片引脚处的供电是否真的满足要求?不能只看稳压器输出端,要把去耦、PCB寄生参数、回流路径和噪声耦合一起考虑。

这三件事,分别对应电源选型、启动可靠性和电源完整性。少了任何一项,电源树都可能停留在“看起来没问题”的阶段。

真正靠谱的FPGA电源设计,不是把每条电源网都连对,而是知道每条电源轨为什么这样供电,并且能通过计算、仿真和实测证明它满足要求。

下一次画FPGA原理图时,别急着把电源符号一个个放上去。先把器件的电源要求、负载预算和噪声约束整理清楚,再决定用什么稳压器、怎么分配电源轨,以及PCB上如何实现。

前期多花一点时间,远比板子回来后面对一个“偶尔出错、很难复现”的故障要划算得多。

长按下方二维码关注我们,获取更多有趣demo及最新资讯。

瑞苏盈科官方微信公众号

来源:Enclustra

 
👍 点赞 · 0