2. Kria低功耗架构总览

Kria 系列(以 K26 SOM 为代表)的低功耗能力并不是某一个模块单独“省电”的结果,而是 PS(Processing System)、PL(Programmable Logic)、AI 引擎(深度学习处理单元 DPU)、内存子系统与电源域划分共同作用的结果。理解这一架构的关键,是先建立“谁在耗电、谁在控制耗电、谁决定何时耗电”的整体视角,再去看各功能块之间的交互关系。

一、五个功能块在功耗中的角色

Kria K26 的核心是 Zynq UltraScale+ MPSoC 器件,其功耗结构可以按功能块拆解为五类角色:

  • PS(处理系统):包含 APU(四核 Cortex-A53)、RPU(双核 Cortex-R5F)、CSU、PMU 等。APU 负责运行 Linux 与上层应用,是动态功耗的主要来源之一;PMU(平台管理单元)则是整个芯片电源状态与时钟门控的“调度中心”,负责执行电源域切换、唤醒源管理与复位控制。
  • PL(可编程逻辑):由 LUT、FF、BRAM、DSP、时钟资源构成。PL 的功耗高度依赖设计规模、时钟频率与翻转率。Kria 的 PL 常用于视频流水线、传感器接口与自定义加速,是“按需开启”的典型对象。
  • AI 引擎(DPU):在 PL 上实现的深度学习加速器,功耗随推理负载、批处理大小、量化精度(INT8/INT16)变化明显。DPU 通常与 PS 通过 AXI 互联,其功耗与内存带宽强耦合。
  • 内存子系统:包括 DDR 控制器、LPDDR4 颗粒、片上 OCM 与缓存。DDR 的功耗由访问频率、行激活次数、刷新率决定,是“带宽换功耗”的典型环节。
  • 电源域:Kria 将芯片划分为多个可独立供电/断电的域,如 PL 域、PS 全功率域、PS 低功耗域(LPD)、电池域等。电源域是低功耗控制的“物理边界”,决定了哪些模块可以被真正关断。

二、电源域划分与交互关系

Kria 的电源域不是简单的“开/关”,而是分层级的:全功率域(FPD)包含 APU、DDR 控制器、大部分外设;低功耗域(LPD)包含 RPU、部分外设与 OCM;PL 域可独立上下电;电池域(Battery Domain)维持 RTC 与部分唤醒逻辑。PMU 固件根据系统状态在这些域之间迁移。

各功能块之间的交互可以概括为三条主线:

  1. 控制流:PS 中的 PMU 通过电源管理接口控制 PL 与 AI 引擎的时钟/电源门控,决定何时进入 idle、何时唤醒。
  2. 数据流:传感器 → PL 接口 → DDR → DPU → DDR → PS 应用,数据每经过一次搬运都会带来内存与互联功耗。
  3. 带宽-功耗耦合:DPU 与 APU 共享 DDR 带宽,带宽需求上升会推高 DDR 频率与功耗,形成“算力—带宽—功耗”三角关系。

下面这张图把上述功能块、电源域与三条交互主线放在同一张架构图中,便于建立整体印象。

Kria K26 低功耗架构:功能块、电源域与交互主线 全功率域 FPD(APU / DDR / 外设) 低功耗域 LPD(RPU / OCM / 部分外设) PL 域(可独立上下电) 电池域(RTC / 唤醒逻辑) APU 4×Cortex-A53 / Linux PMU 电源/时钟调度中心 DDR 控制器 LPDDR4 / 带宽-功耗耦合 外设 / 互联 AXI / MIPI / USB RPU 2×Cortex-R5F OCM 片上内存 PL 逻辑 LUT/FF/BRAM/DSP AI 引擎 DPU INT8 推理加速 RTC / 唤醒源 电源/时钟门控 带宽请求 PL 上下电 DPU 使能/复位 数据写入 DDR 特征图 推理结果回传 APU 读取结果 唤醒事件 控制流(PMU 调度) 数据流(传感器→DDR→DPU→PS) 唤醒路径

三、从架构到功耗优化的三个抓手

理解上述架构后,低功耗优化就有了明确的着力点:

第一,减少跨域数据搬运。数据每经过一次 DDR 往返,都会带来 DDR 控制器与 PHY 的功耗。例如在视频分析场景中,若让 PL 直接把预处理后的数据写入 OCM 或 PL 内部 BRAM,再由 DPU 读取,就能减少一次 DDR 写回。示例性地,假设某 1080p 视频流每帧 2 MB,30 fps 下每秒搬运 60 MB,若 DDR 访问功耗约为 0.5 W/(GB/s),减少一次往返可节省约 0.03 W 量级——数值仅为教学估算,实际需以具体设计为准。

第二,按需开启 PL 与 DPU。PL 域可独立上下电,DPU 也可通过时钟门控进入 idle。在无推理任务时,将 DPU 时钟关闭、PL 域保持低功耗状态,可显著降低静态与动态功耗。PMU 固件中可通过寄存器配置实现这一过程,典型做法是:APU 在完成一帧推理后,通过 AXI-Lite 写 DPU 控制寄存器进入 idle,再由 PMU 关闭对应时钟。

第三,匹配 DDR 频率与负载。DDR 控制器支持动态频率调节(DFS)。当系统处于低负载时,将 DDR 频率从 1066 MHz 降至 533 MHz,可降低 DDR 动态功耗;但需注意 DPU 推理对带宽的实时需求,避免因降频导致推理延迟超标。实际调优时,可先测量不同频率下的带宽与延迟,再选择满足时延约束的最低频率点。

提示:电源域切换不是“越频繁越好”。每次上下电都有能量开销与唤醒延迟,PMU 固件通常设置最小驻留时间(residency)阈值,只有低功耗状态预计持续时间超过该阈值时才执行切换,否则保持当前状态更省电。

四、一个可参考的功耗观察清单

在实际项目中,可以按以下清单逐项确认各功能块的功耗状态,形成对系统功耗的完整认识:

观察对象 关键指标 典型观察方式
APU CPU 利用率、频率、idle 状态 cpufreq、/proc/stat
PL 时钟频率、翻转率、上下电状态 Vivado 功耗估算、PMU 寄存器
DPU 推理帧率、批大小、量化精度 DPU 驱动统计、AXI 带宽计数
DDR 带宽占用、频率、行激活次数 DDR 控制器性能计数器
电源域 当前域状态、切换次数、驻留时间 PMU 日志、电源管理调试接口

这张清单的价值在于:它把“架构认知”转化为“可观测对象”。只有先看清每个功能块当前处于什么状态、消耗了多少资源,后续的功耗优化才有依据,而不是凭感觉调参。Kria 的低功耗架构本质上提供了一套“可分区、可门控、可观测”的基础设施,剩下的工作就是根据具体应用负载,把每个域的状态调到与需求匹配的位置。