2. Nexus器件架构与低功耗特性
Lattice Nexus 平台是 Lattice 面向低功耗边缘计算推出的 FPGA 产品家族(如 Certus-Nexus、Mach-NX 等系列)。理解它的架构组成与功耗管理机制,是后续做边缘推理、接口桥接、常开感知等设计的基础。本节从架构组成、功耗管理单元、低功耗模式以及与同类 FPGA 的功耗对比四个角度展开,并给出可操作的配置与观察方法。
一、Nexus 的架构组成
Nexus 器件在结构上可以分成几个协同工作的层次:最底层是可编程逻辑资源,包括逻辑单元(LC)、可编程 I/O(GPIO/高速 SerDes)、嵌入式块 RAM(EBR)和 DSP 乘法累加单元;中间层是时钟与布线网络,负责把逻辑资源连成实际电路;上层是专用的硬核模块,例如配置存储器、功耗管理单元(PMU)、系统时钟与复位控制,以及部分系列集成的安全引擎(AES/SHA)和硬核处理器接口。
与早期 FPGA 最大的不同在于:Nexus 采用 28nm FD-SOI 工艺,并用非易失配置存储器(NVCM)替代了传统 SRAM 配置单元。这一改变带来两个直接后果:一是上电后无需从外部 Flash 加载比特流,配置时间从毫秒级降到微秒级;二是静态功耗显著降低,因为配置单元本身不再持续消耗漏电流。对于需要“常开”的边缘设备,这两点非常关键。
逻辑资源规模上,Nexus 系列通常覆盖几千到几万逻辑单元,EBR 容量在几十到几百 kbit 之间,DSP 数量从个位数到几十个不等。做边缘计算时,需要根据模型规模估算资源:例如一个 8 位量化的轻量卷积网络,若每层乘加运算约 10 万次,用 DSP 并行处理时,需结合目标帧率估算所需 DSP 数量与时钟频率。
二、功耗管理单元(PMU)
Nexus 内部集成了一个功耗管理单元,它负责协调电源域、时钟域和配置状态。PMU 的核心作用是把“哪些模块在什么条件下上电、跑多快、何时关断”这件事从用户逻辑中抽离出来,由硬件统一调度。
PMU 管理的主要对象包括:核心逻辑电源域、I/O 电源域、PLL/时钟域、以及可选的硬核模块电源域。用户通过配置寄存器设定各域的使能条件、唤醒源和时钟分频系数。例如,可以把一个只负责按键扫描的低速逻辑放在独立时钟域,主逻辑在无事件时进入低功耗模式,由按键中断唤醒 PMU,再逐级恢复时钟和电源。
实际配置时,通常先在 Lattice Radiant 的功耗估算工具中设定工作频率、翻转率、I/O 标准和温度,得到各域的静态与动态功耗预估;再根据预估结果决定哪些域可以关断、哪些必须常开。翻转率是影响动态功耗最直接的参数,边缘场景中数据到达往往是突发的,因此按“平均翻转率”而非“峰值翻转率”估算更接近真实功耗。
三、低功耗模式与状态切换
Nexus 提供多种低功耗状态,典型包括:运行模式、待机模式(Standby)、休眠模式(Sleep)和深度休眠模式(Deep Sleep)。不同模式在时钟、电源域、配置保持和唤醒时间上存在差异,选择哪种模式取决于系统对唤醒延迟和功耗的权衡。
运行模式下所有使能的域正常工作,功耗最高但响应最快。待机模式关闭部分时钟和未使用的电源域,保留配置和关键状态,唤醒时间通常在微秒级。休眠模式进一步关闭核心逻辑电源,仅保留唤醒逻辑和少量寄存器,唤醒需要重新加载部分配置。深度休眠模式功耗最低,但唤醒时间最长,适合长时间无事件、对延迟不敏感的场景。
状态切换由 PMU 根据唤醒源触发。常见唤醒源包括 GPIO 边沿、I2C/SPI 从机地址匹配、定时器溢出和外部中断。设计时需要明确:哪些信号必须在休眠期间保持有效,哪些可以丢失;唤醒后哪些状态需要软件重新初始化。一个常见的错误是休眠前没有保存关键寄存器,唤醒后逻辑进入不确定状态,表现为“偶尔不工作”。
四、与同类 FPGA 的功耗对比分析
把 Nexus 与同类低功耗 FPGA 放在一起比较时,需要控制变量:相同的逻辑利用率、相同的时钟频率、相同的 I/O 标准和相同的温度条件。否则“功耗更低”的结论没有意义。
从公开的器件手册和典型测试条件看,Nexus 的优势主要体现在静态功耗和配置功耗上。传统 SRAM 型 FPGA 在待机时仍需维持配置存储器的供电,静态电流通常在毫安级;Nexus 由于采用非易失配置,待机静态电流可以降到微安级。在配置时间上,SRAM 型 FPGA 从外部 Flash 加载比特流通常需要几十毫秒,而 Nexus 上电即可运行,配置时间在微秒量级。
动态功耗方面,FD-SOI 工艺带来的体偏置能力允许在低负载时降低阈值电压、减少漏电,因此在中低翻转率场景下,Nexus 的动态功耗也低于同规模 SRAM 型器件。但在高翻转率、高频率的重负载场景下,差距会缩小,因为动态功耗主要由电容充放电决定,工艺差异的影响相对减弱。
做对比分析时,建议用表格记录关键参数,而不是只记一个总功耗数字。下面是一个示例对比表,数据为教学示例,实际设计请以官方功耗估算工具和实测为准。
| 对比项 | Nexus(FD-SOI + NVCM) | 传统 SRAM 型低功耗 FPGA |
|---|---|---|
| 配置存储 | 非易失,上电即运行 | SRAM,需外部 Flash 加载 |
| 配置时间(示例) | 约 1~10 μs | 约 10~50 ms |
| 待机静态电流(示例) | 约 10~100 μA | 约 1~10 mA |
| 动态功耗影响因素 | 翻转率、频率、体偏置 | 翻转率、频率 |
| 适合场景 | 常开感知、突发唤醒、电池供电 | 持续高吞吐、对配置时间不敏感 |
五、实际配置与观察方法
在 Radiant 中做低功耗设计时,可以按以下顺序推进:先确定系统的工作状态和唤醒源,再划分电源域和时钟域,然后在功耗估算工具中设定各域的频率与翻转率,得到预估功耗。综合实现后,用功耗分析报告核对各域占比,找出占比最高的域,判断是否可以通过降频、门控或关断进一步优化。
上板验证时,常用方法是测量不同状态下的电流:让器件依次进入运行、待机、休眠和深度休眠,记录每种状态的电流值,并与估算值对比。如果实测明显高于估算,优先检查是否有未使用的 I/O 被悬空、PLL 是否未关断、以及是否存在意外的时钟翻转。这些是低功耗设计中最常见的“漏电点”。
综合来看,Nexus 的架构围绕“非易失配置 + FD-SOI + 集中式功耗管理”三条主线展开,使其在常开、突发、电池供电的边缘场景中具备明显优势。理解 PMU 的管理对象、各低功耗模式的差异以及唤醒路径,是后续做具体边缘计算设计的前提。