3. FPGA数据手册与电源规范解读

做PDN设计,第一步不是选电容、不是画铜皮,而是把FPGA的电源需求“翻译”成一组可计算的工程参数。这些参数分散在三类文档里:Datasheet给出电气极限与推荐工作条件,Pinout/封装文件给出电源引脚分布与分组,Power Estimator给出与实际配置相关的电流估算。三者缺一,PDN就只能靠猜。

一、Datasheet:先分清“绝对最大值”和“推荐工作条件”

Datasheet中的电源章节通常有两张关键表。绝对最大值表(Absolute Maximum Ratings)只说明器件不被损坏的边界,例如某FPGA的VCCINT绝对最大为1.1V,这不是可以长期工作的电压。真正用于PDN设计的是推荐工作条件表(Recommended Operating Conditions),它给出每个电源轨的标称电压、允许范围、以及部分器件的最大纹波或噪声容限。

以典型28nm级FPGA为例,常见电源轨的推荐条件可归纳如下(示例参数,具体以所选器件手册为准):

电源轨标称电压允许范围典型用途
VCCINT1.00 V0.97–1.03 V(±3%)内核逻辑
VCCAUX1.80 V1.71–1.89 V(±5%)辅助/配置
VCCIO(Bank x)1.5/1.8/2.5/3.3 V±5%I/O接口
VCCBRAM1.00 V0.97–1.03 VBlock RAM
MGTAVCC1.00 V±3%高速收发器

这里有两个容易踩的坑。第一,±3%与±5%不能混用:VCCINT的容差更紧,意味着PDN的直流压降加纹波必须控制在约±30mV以内,而VCCIO可以放宽到±90mV(以1.8V为例)。第二,范围是“直流+交流”的总和,不是只算纹波。因此PDN预算要写成:

允许总偏差 = 标称 × 容差百分比
直流压降(IR Drop) + 低频纹波 + 高频噪声 ≤ 允许总偏差

例如VCCINT 1.00V、±3%,允许总偏差30mV。若分配直流压降10mV、低频纹波8mV,则留给高频噪声的余量只有12mV。这个数字直接决定去耦电容的ESL和布局密度。

二、Pinout:把电流需求落到具体引脚和Bank

Datasheet给的是“整颗芯片”的电流,但PDN是按引脚和铜皮设计的。Pinout文件(或封装引脚表)要提取三类信息:

  • 电源引脚编号与数量:VCCINT有多少个球、分布在哪些区域,决定过孔和铜皮的数量。
  • Bank划分:VCCIO按Bank独立供电,不同Bank可能接不同电压,不能合并成一个电源平面。
  • 专用引脚:如VREF、MGT电源、配置电源,往往有独立的滤波要求。

一个实用的做法是建立“电源—引脚—Bank”对照表。例如某FPGA的VCCINT有120个BGA球,均匀分布在芯片四边;VCCIO Bank 0–3各约30个球。若VCCINT总电流估算为8A,则平均每球约67mA,单球电流并不大,但要求所有球同时低阻抗连接,否则局部压降会超标。这就是为什么PDN设计强调“每个电源球附近都要有去耦电容和过孔”,而不是只在芯片一角放几个大电容。

三、Power Estimator:从配置反推真实电流

Power Estimator(如Xilinx的XPE、Intel的EPE)是电子表格或在线工具,输入资源利用率、时钟频率、翻转率、I/O标准后,输出各电源轨的电流。它的价值在于:电流不是常数,而是随设计配置变化的。同一颗FPGA,空载和满载的VCCINT电流可能相差数倍。

使用时要抓住几个关键输入:逻辑单元使用率、BRAM/DSP数量、时钟频率、每个Bank的I/O数量和标准、收发器速率与通道数。输出通常给出典型值、最大值和不同温度下的值。PDN设计应取最大值作为电流预算,同时用典型值评估效率。

例如某设计VCCINT估算:典型4.2A、最大7.8A;VCCAUX典型0.35A、最大0.6A;VCCIO Bank 1(1.8V)典型0.8A、最大1.5A。这些数字就是后续选稳压器、算铜皮宽度、定电容数量的依据。

四、纹波与时序:容易被忽略的两类要求

纹波要求通常写在Datasheet的电源噪声容限或Power Estimator的说明中。它一般以mVpp给出,且区分频段:低频(<100kHz)由稳压器环路决定,中频(100kHz–10MHz)由大容量电容决定,高频(>10MHz)由陶瓷电容和封装决定。PDN设计要保证各频段叠加后不超过总容差。

时序要求则包括上电顺序和上电斜率。多数FPGA要求VCCINT先于VCCAUX、VCCAUX先于VCCIO,或按特定顺序;违反顺序可能导致内部ESD结构导通、大电流甚至损坏。Datasheet会给出顺序表和时间窗口,例如VCCINT稳定后10ms内VCCAUX必须建立。PDN中的电源管理芯片(PMIC)或使能链必须满足这些时序。

FPGA电源规范提取流程与PDN参数映射 Datasheet 推荐工作条件 绝对最大值 / 容差 Pinout / 封装 电源球编号与数量 Bank划分 / 专用引脚 Power Estimator 资源/频率/翻转率 各轨典型/最大电流 提取的四类PDN设计参数 电压与容差 标称值 / ±% / 总偏差mV 电流预算 最大电流 / 每球电流 纹波与噪声 mVpp / 分频段要求 上电时序 顺序 / 斜率 / 时间窗 PDN设计输出 稳压器选型 · 铜皮宽度 · 过孔数量 · 去耦电容组合 上电时序控制 · 直流压降与纹波预算分配 预算示例 VCCINT 1.0V ±3% = 30mV IR 10 + 纹波 8 余量 12mV

五、把参数整理成可执行的PDN规格表

三类文档读完后,建议整理成一张“电源轨规格表”,字段包括:轨名、标称电压、容差、最大电流、纹波限值、上电顺序、关联Bank/引脚。这张表是后续选型、布局、测试的共同依据。例如:

轨名     标称   容差   最大电流  纹波限值  上电顺序
VCCINT   1.00V  ±3%    7.8A     30mVpp    1
VCCAUX   1.80V  ±5%    0.6A     90mVpp    2
VCCIO_B1 1.80V  ±5%    1.5A     90mVpp    3
MGTAVCC  1.00V  ±3%    1.2A     30mVpp    2

有了这张表,PDN设计就从“凭经验放电容”变成“按预算分配阻抗”。例如VCCINT允许30mV总偏差,若目标阻抗Ztarget = 允许纹波 / 最大电流 = 30mV / 7.8A ≈ 3.8mΩ,这就是从DC到高频需要维持的阻抗上限。后续的电容选型、平面设计、过孔优化,都围绕这个目标展开。

读Datasheet时优先看Recommended Operating Conditions和Power Supply Requirements两节;Power Estimator的输入要尽量贴近实际设计,不要用默认值;上电时序若不确定,宁可加顺序控制,不要直接并联使能。

最后提醒一点:不同厂商、不同系列的FPGA,电源轨命名和容差差异很大。有的器件VCCINT是0.85V、±3%,有的VCCIO支持1.2V–3.3V宽范围。PDN设计不能套模板,必须回到当前所选器件的最新版Datasheet和Pinout文件,逐轨确认。Power Estimator的版本也要与器件和工具版本匹配,否则电流估算可能偏差较大。