先确定启动主体,再选择存储器 #

“FPGA 配置存储器”可以指两种不同的系统。传统 FPGA 可以作为 SPI 主设备,直接从串行 NOR 读取比特流并为其提供时钟。配备处理器的 FPGA 或自适应 SoC 则可以运行不可变的 BootROM,加载平台固件,验证复合启动镜像,然后配置可编程逻辑。其中一些器件可以从 eMMC 启动;纯 FPGA 的 SPI 配置端口则不能。

这一区别决定了接口、镜像格式、恢复设计和替代边界。合理的设计顺序是:

  • 选择确切的 FPGA 或自适应 SoC 系列及其支持的启动模式;
  • 确定复位后第一次读取由哪个不可变模块负责;
  • 在选择容量之前,先规划主镜像、恢复镜像和更新镜像;
  • 定义认证、加密、密钥存储和回滚策略;
  • 选择启动 ROM 和编程工具都支持的、可订购的存储器件;
  • 在生产硬件上验证冷启动、中断更新和恢复。

本指南讨论的正是这一系统契约。Winbond 串行闪存系列指南更深入地介绍了闪存系列和后缀差异;FPGA DDR4/DDR5 设计指南涵盖了配置后的易失性工作存储器。QSPI NOR 和 eMMC 都不能替代外部 DDR。

FPGA 启动拓扑决策图,区分直接 QSPI 配置与处理器管理的 QSPI 或 eMMC 启动
FPGA 启动拓扑决策图,区分直接 QSPI 配置与处理器管理的 QSPI 或 eMMC 启动

QSPI NOR 是直接配置路径 #

AMD UltraScale 和 UltraScale+ FPGA 支持 x1、x2 和 x4 模式的主 SPI;UltraScale 还支持由两个相同闪存器件构成的 x8 配置。在这种拓扑中,FPGA 生成配置时钟,发出支持的读命令,并直接消费比特流。因此,闪存必须在 FPGA 开始事务之前就处于唤醒状态,并且其读取时序必须在所选配置时钟设置下收敛。

Altera Agilex 器件通过安全设备管理器(SDM)控制配置。对于 Agilex 5 主动串行设计,文档给出的流程使用 QSPI 和 AS x4。本指南进一步针对 PCIe 做了区分:Micron QSPI 允许启动 ROM 对初始固件使用 AS x4,而其他受支持的闪存类型则以 AS x1 读取,并且要求板级复位时序保留 PCIe 枚举窗口。正因如此,仅凭“容量相同、都是 Quad SPI”并不足以批准替代料。

以下五个闪存细节常常会改变启动行为:

  • 电压与 I/O 域。 1.8 V 的 MT25QU 器件和 3 V 的 MT25QL 器件可能容量相同、命令集相同,但电气上并不兼容。
  • 超过 128 Mbit 的寻址。 大容量器件可能需要 4 字节寻址,或采用 bank/扩展地址机制。AMD 在基于处理器的系列上明确区分 QSPI24 和 QSPI32 模式;生成的镜像和启动模式跳线必须与所选拓扑一致。
  • 读命令、空周期与 Quad Enable 状态。 启动 ROM 实现的命令集是固定的。如果某颗闪存需要不同的模式序列、上电状态或延迟代码,可能在用户固件还来不及修正之前就已启动失败。
  • 复位与上电行为。 复位引脚可能是专用引脚,也可能与 I/O 功能复用。上电延迟、深度掉电退出和复位恢复时间都必须满足 FPGA 首次访问的时序要求。
  • 编程工具支持。 AMD Vivado 2026.1 仍要求用户选择具体的配置存储器型号。Altera 的 Programming File Generator 同样要选定受支持的闪存器件,并依据其几何参数生成编程文件。光有串行 NOR 数据手册,并不代表工具链就认可这颗器件。

启动时间计算应基于生成并经过安全处理的镜像,而不是 FPGA 的标称比特数。头部、固件、认证材料、对齐、压缩以及多镜像都会改变实际存储大小。配置时间要从电源正常到系统真正就绪的指示来测量;原始时钟速率只是其中一项。

eMMC 属于处理器管理的启动流程 #

eMMC 把 NAND、控制器和固件集成在标准化接口之后,容量远高于典型的配置 NOR,可存放启动固件、操作系统、文件和应用数据。但它仍然不能直接替换串行配置器件。

AMD 现行的 Versal 系统软件指南将 eMMC 列为主要启动模式,并支持安全启动和回退。器件 BootROM 和平台管理控制器会解析 Versal 可编程器件镜像(PDI),其中可包含平台加载器固件、可编程逻辑配置、处理器软件和其他分区。该指南将这种处理器管理的流程与 QSPI24、QSPI32 和 OSPI 模式区分开来。

Altera Agilex 5 SoC 内置 HPS SD/SDIO/eMMC 控制器,支持 eMMC 5.1 及以下版本,FPGA 配置和安全仍由 SDM 负责。Agilex 的启动顺序可以是 FPGA 优先,也可以是 HPS 优先。因此,团队必须严格按照对应的 SoC 启动指南,确定第一阶段加载器、FPGA 镜像、操作系统和恢复镜像各自存放在哪里;有 eMMC 控制器并不意味着 eMMC 就能当 AS x4 闪存用。

如果所选 SoC 或自适应 SoC 明确支持该启动模式,且系统需要可管理的大容量存储,就选 eMMC。此时除了容量和 HS400 速度,还要验证以下方面:

eMMC 控制项发布前需确认的问题
启动分区和总线宽度BootROM 是否支持所选分区以及 x1/x4/x8 模式?
器件版本和固件平台验证是否覆盖了该器件确切的受管理 NAND 行为?
封装和电压BGA 封装、I/O 电源轨和电源时序是否与板卡匹配?
耐久度和数据保持启动/更新工作负载和温度曲线是否在供应商限定范围内?
掉电行为如果在镜像或元数据更新期间掉电,会出现什么情况?
生命周期和变更控制更换控制器/NAND 后,能否免于重做安全启动和更新测试?

受管理 NAND 可以把坏块和磨损管理对主机隐藏起来,但同时也给已认证的系统引入了控制器固件。“容量相同、都是 eMMC 5.1”并不能说明启动延迟、分区配置、掉电响应或生命周期行为也一致。

安全启动由 FPGA 强制执行,而非闪存标签 #

串行 NOR 的保护位、一次性可编程区域、密码功能和 RPMC 计数器可以为安全平台提供支持,但它们本身并不能认证 FPGA 比特流。信任根是不可变的 BootROM 或配置安全模块、其中预置的密钥,以及决定哪些镜像可以执行的安全策略。

对于 AMD UltraScale 级 FPGA,UG570 记载了使用 BBRAM 或一次性可编程 eFUSE 中存储的 256 位密钥进行 AES-GCM 比特流加密和认证的方法,也记载了 RSA-2048 认证,并警告依赖 RSA 认证的设计必须遵循最新的缓解指南并强制启用加密。因此,安全设置取决于具体的器件代次,而不是一份通用的“Xilinx 安全启动”检查清单。

Versal 的信任链不同。2026.1 文档定义了非对称和对称硬件信任根。非对称启动可用 RSA 或 ECC 认证,对称启动则用 AES-256-GCM 实现机密性、真实性和完整性。BootROM 会先加载并验证平台加载器,之后才接受后续 PDI 分区。部分 eFUSE 设置会永久强制启用安全启动;量产前必须先在可牺牲的器件上演练预置流程。

Altera Agilex 5 把配置和安全都交给 SDM 管理。当前器件文档列出了安全启动、AES 加密、哈希函数和 ECDSA 认证。同样,具体用哪些算法、密钥存储、签名工具以及恢复行为,取决于确切的器件型号和 Quartus 版本,而不是 QSPI 料号。

安全 FPGA 镜像发布路径,展示工厂镜像和更新镜像、不可变认证、回滚政策以及失败后的回退
安全 FPGA 镜像发布路径,展示工厂镜像和更新镜像、不可变认证、回滚政策以及失败后的回退

安全设计需要回答四个彼此独立的问题:

  • 真实性: 镜像由谁签名?器件中熔断的是哪个公钥哈希或根密钥?
  • 完整性: 若镜像被非法篡改,能否在逻辑或软件加载之前将其拦截?
  • 机密性: 外部镜像是否必须加密,以防克隆或逆向工程?
  • 新鲜度与恢复: 如何拒绝旧版本但签名有效的镜像?当最新镜像损坏或供电中断时,产品如何恢复?

认证机制若没有经过验证的恢复镜像,可能把设备变成安全的砖头。加密若没有受控的密钥生成、存储和撤销流程,可能造成无法挽回的生产问题。生产发布包应注明签名工具版本、密钥标识符、镜像哈希、安全熔丝状态、允许的回滚下限和恢复步骤,同时不得泄露密钥材料。

当前存储器实例及其实际限制 #

以下型号用于说明电压、封装、生命周期和托管 NAND 方面的限制,并不表示每个型号都出现在各 FPGA 厂商的支持闪存列表中。制造商页面和文档的核查日期为 2026 年 8 月 21 日;具体器件能否使用,仍须经对应的 FPGA 和工具版本确认。

可订购型号当前官方状态有用的设计边界
Micron MT25QL512ABB8ESF-0SIT量产;512 Mbit,3 V,x4,133 MHz,−40°C 至 +85°C,SOIC3 V 工业级串行 NOR 的代表型号。SF 封装和 SIT 等级是 OPN 的一部分。
Micron MT25QU512ABB1EW9-0SIT量产;512 Mbit,1.8 V,x4,166 MHz,−40°C 至 +85°C,8 × 6 mm W-PDFN标称密度与 MT25QL 示例相同,但电压、封装尺寸和时序边界不同。
Infineon S25HL512TDPNHV010活跃且优选;512 Mbit,3 V Quad SPI,−40°C 至 +105°C,PG-WSON-8;计划供应至少到 2037增加了内部 ECC/CRC 和保护功能,但 FPGA 启动 ROM 和工具支持仍需单独确认。
Kingston EMMC64G-IY2964 GB 工业级 eMMC 5.1 HS400,11.5 × 13 × 0.8 mm BGA,3D TLC,−40°C 至 +85°C仅为处理器管理的存储示例;在纯 FPGA 主 SPI 配置端口上,它无法替代 QSPI。

512 Mbit NOR 示例的容量是 64 Mbytes,而不是 512 Mbytes。团队预留主镜像、黄金镜像和现场更新槽位时,密度单位搞错会付出高昂代价。闪存映射要以字节为单位,考虑擦除块对齐,并为将来签名镜像的增大预留未使用空间。

验证故障路径,而不只是正常启动 #

一块板卡仅通过 JTAG 成功启动一次,并不代表其配置系统已经过验证。发布测试应涵盖:

检查项需留存的证据
电源与复位在电源斜坡、温度和复位各种组合下的冷启动与热启动;闪存在首次访问前已就绪
编程使用生产夹具和确切版本的工具进行擦除、编程、校验和回读
接口时序在所选 x1/x4 速率下,包括生产封装在内的时钟/数据波形及裕量
镜像映射主镜像、出厂镜像、更新镜像和元数据的偏移量与烧录文件及启动模式寻址一致
认证授权镜像可启动;被篡改的头部、签名和有效载荷在系统放行前即失败
加密密钥来源正确时可启动;密钥错误或未烧录时按文档所述状态失败
回滚较旧的已签名镜像按策略规定被接受或拒绝
更新中断在擦除、编程和元数据提交阶段断电后,产品仍可恢复
恢复看门狗、启动计数或手动恢复能选出已知良好的镜像,无需依赖 JTAG
生产可追溯性FPGA OPN、闪存/eMMC OPN、镜像哈希、密钥 ID、工具版本和熔丝状态与该单元关联

远程更新时,要测试每一个会改变权威镜像指针的转换过程。Agilex RSU、AMD MultiBoot 和 Versal 回退都是系列特定的机制,不能简化成通用的 A/B 分区图。工厂镜像应当体积小、受保护,并且能够接收或选择有效的更新。如果恢复镜像与应用镜像共用同一套未经测试的驱动程序,或共用已损坏的元数据,那就算不上独立的恢复手段。

同时冻结 BOM 与安全流程 #

只写“512 Mb QSPI 闪存”的 RFQ 会把风险最高的决策留空。应当提供:

  • 完整的制造商料号、电压、封装、温度等级和包装代码;
  • 精确的 FPGA/SoC OPN、启动模式和 I/O 电源轨;
  • 已批准的 Vivado 或 Quartus 版本及受支持存储器选项;
  • 分配主镜像、工厂镜像和更新镜像后所需的容量;
  • 启动时钟/读取命令要求、地址模式和复位引脚使用情况;
  • 生命周期、变更通知和批次可追溯性要求;
  • 替代料是否需要重新进行烧录夹具、安全启动、掉电和环境设计验证。

工程部门还应归档生成的烧录文件、闪存映射、启动模式跳线、安全策略和测试结果。这样采购就可以拿可用器件与受控接口进行比对,而不是仅凭容量和封装去推断兼容性。

结论 #

QSPI NOR 仍是常规的直接配置存储器,因为 FPGA 或其 SDM 可以在复位后立即读取受支持的比特流。只有当配备处理器的 FPGA 或自适应 SoC 明确提供由处理器管理的启动路径时,才适合使用 eMMC。安全启动位于两者之上:器件信任根先对镜像进行认证(并可选解密),然后才释放逻辑或软件。

因此,一份站得住脚的 BOM 会把四件事绑定在一起:FPGA 代际、启动拓扑、存储器 OPN 的确切型号,以及安全/恢复流程。其中任何一项发生变化,在批准替代料之前,都要重新做受影响的烧录、时序、认证和中断更新测试。

官方参考资料 #

最终设计决策请以原厂数据手册及获批准的工程资料为准。