2. Agilex电源架构与功耗域
理解 Agilex 的低功耗能力,不能只停留在“工艺先进、静态功耗低”这一层。真正决定一颗 FPGA 在系统中耗多少电的,是芯片内部被划分成哪些电源域(Power Domain)、每个域由谁供电、能否独立关断或调压,以及哪些逻辑被组织进同一个电压/频率岛(Voltage/Frequency Island, VFI)。本节从 Agilex 的电源架构出发,把“域—供电—控制—影响”这条链路讲清楚,并给出可操作的配置与观察方法。
一、Agilex 的电源域划分逻辑
Agilex 采用多电源域设计,核心思想是:把工作特性相近、可同时开关或调压的电路归入同一域,把必须常开或电压固定的电路单独隔离。从工程视角看,可以把它归纳为四类域:
- 核心逻辑域(Core / Fabric):包含可编程逻辑阵列、布线资源和大部分 DSP、M20K 存储块。它是动态功耗的主体,也是 VFI 调节的主要对象,通常由
VCC(核心电压,典型 0.8V 级)供电。 - 收发器与高速接口域:SerDes、PCIe、以太网硬核等,由
VCCT、VCCERAM等独立供电,电压和速率强相关,一般不随核心逻辑一起降频。 - I/O 与辅助域:
VCCIO、VCCAUX、VCCPLL等,负责接口电平、辅助电路和 PLL,通常要求稳定,不参与动态调压。 - 常开域(Always-On):配置控制器、安全模块、电源管理单元本身,必须持续供电,否则芯片无法唤醒或保持配置。
这种划分的直接意义是:不是所有电路都能被“省电”。只有落在可调 VFI 内的逻辑,才可能通过降频、降压或关断获益;而 I/O、PLL、收发器往往只能通过关闭未用通道来省电。
二、可编程电源管理单元如何工作
Agilex 的电源管理由 SDM(Secure Device Manager) 与片内 PMU 协同完成。SDM 在配置阶段读取设计中的电源策略,运行阶段通过寄存器接口接收外部或内部触发信号,再驱动片上稳压器或外部 PMIC 调整电压、频率和门控。典型控制路径是:
- 设计者在 Quartus 中通过
Power Management或Device Options指定各 VFI 的默认频率与是否允许动态调节; - SDM 将策略写入 PMU 寄存器,PMU 据此建立各域的初始电压/频率;
- 运行中由用户逻辑或外部主机通过
Mailbox客户端发送请求,例如“将 VFI-1 从 400MHz 降到 200MHz”; - PMU 先确认目标域当前无关键事务,再调整 PLL 分频与外部稳压器设定点,最后回读状态确认锁定。
三、电压/频率岛对功耗的量化影响
动态功耗公式为 P_dyn = α·C·V²·f。假设某 VFI 原本工作在 0.8V、300MHz,负载率 α 为 0.5,若将其降到 0.7V、200MHz,则动态功耗变化为:
原:P1 ∝ 0.5 × C × 0.8² × 300 = 96C
新:P2 ∝ 0.5 × C × 0.7² × 200 = 49C
比值 P2/P1 ≈ 0.51,即动态功耗约降为原来的一半
注意这里电压从 0.8V 降到 0.7V 只降了 12.5%,但平方后贡献约 23% 的降幅,再叠加频率下降 33%,总降幅才达到约 49%。这说明降压的边际收益远大于降频,但降压受限于工艺和时序,不能无限下探。Agilex 通常允许核心电压在标称值附近做有限档位调节,具体范围需查阅对应器件的 PowerPlay 或数据手册。
静态功耗方面,关断一个 VFI 可以同时消除该域的漏电。对于长时间空闲的加速器或存储块,关断比降频更彻底。但关断后重新上电需要配置恢复时间,若频繁开关,反而可能因唤醒开销抵消收益,因此需要根据任务占空比决定策略。
四、配置与观察的实操要点
在 Quartus 中,可通过 Assignments → Device → Power Management 查看和设置 VFI 相关选项。一个可参考的示例流程如下:
# 示例:通过 Mailbox 请求降低 VFI-1 频率(伪代码,参数为教学示例)
mailbox_client = get_mailbox_client("pmu")
req = {
"domain": "VFI-1",
"target_freq_mhz": 200,
"target_voltage_mv": 700,
"wait_for_lock": true
}
resp = mailbox_client.send(req)
if resp.status == "OK":
print("VFI-1 已切换至 200MHz / 700mV")
else:
print("切换失败,原因:", resp.error)
观察结果时,应同时关注三类信息:一是 PMU 回读的电压/频率是否达到目标;二是设计时序是否仍然收敛,可通过 Timing Analyzer 或片上温度/电压传感器确认;三是实际功耗变化,可用 PowerPlay Power Analyzer 估算,或通过外部电流表测量 VCC 轨电流。若降频后时序反而变差,通常说明电压降得过多或 PLL 未正确锁定。
五、小结与判断依据
掌握 Agilex 电源架构的关键,是建立“域—VFI—PMU—功耗”的对应关系:先看哪些逻辑属于可调 VFI,再看 PMU 是否支持目标调节粒度,最后用功耗公式估算收益并验证时序。判断一次电源优化是否成功,不看是否“调了参数”,而看三点:目标域是否稳定工作在设定电压/频率、时序是否仍然满足、实测或估算功耗是否按预期下降。三者同时成立,才说明这次 VFI 调节真正有效。