SRAM、Flash 与反熔丝 FPGA:三种配置存储工艺的对比与选型
学习 FPGA 的人迟早会听到三句话:主流 FPGA 是 SRAM 工艺、掉电要重新配置;Microchip 一类的器件是 Flash 工艺、上电就能跑;航天上用的反熔丝 FPGA 只能烧一次。三句话说的其实是同一件事的三种答案——配置比特到底存在什么样的物理单元里,靠什么把布线节点接通或断开。这个底层选择会向上决定上电行为、能不能反复改、容量做多大、耐不耐辐射,乃至一颗芯片卖多少钱。
同簇的几篇各有分工:FPGA 配置方式有哪几种讲的是比特流沿哪条接口通道进芯片(JTAG、主串 SPI、SelectMAP、BPI);FPGA 上电配置时序讲上电后 POR、清配置帧、DONE 释放的时间顺序;FPGA 比特流加密讲比特流在通道和外部存储器里的安全;操作层面的下载与固化见比特流下载与固化。本文只回答一个更靠下的问题:配置存储单元本身,三种物理实现各自长什么样、代价是什么。
这张封面卡先给结论级印象:三栏的条目数刻意不对等,因为三者的工程代价本来就不对称——SRAM 型的特点集中在「灵活」,Flash 型在启动和功耗上占便宜,反熔丝型则把「不可改变」同时变成了最大的优点(可靠)和最大的缺点(无法升级)。下面逐条拆开。
本文要回答的问题
- FPGA 的配置比特存在什么物理东西里,它和 LUT、触发器里的存储有什么不同?
- 为什么主流大容量 FPGA 都是 SRAM 工艺,掉电丢配置反而不是缺点?
- Flash 型 FPGA 掉电不丢、上电即行,它付出了什么代价,为什么容量做不大?
- 反熔丝为什么只能烧一次,航天领域为什么愿意接受这种不可逆?
- 单粒子翻转(SEU)为什么专挑 SRAM 型的配置位,三种工艺在辐射下差距有多大?
- 自己做项目或选芯片时,按什么清单判断该选哪条工艺路线?
一、配置存储单元是什么:三种物理开关
先把「配置存储」和设计里用到的存储分开。在从 LUT 到触发器:FPGA 逻辑资源深入里可以看到,LUT 是由配置值驱动的查找表,触发器在运行时被时钟不断写入。而遍布芯片的配置位(configuration bit,或称 CRAM 位)数量远多于用户可见的寄存器:LUT 函数、互连线接到哪个开关盒、IOB 用什么电平标准,背后都由配置位决定。一颗大容量 FPGA 的配置位可达数亿个,上电配置时一次性写入,之后保持静止——除非被重配置,或被辐射打翻。
配置位要驱动的最终对象是一个可编程开关:开关导通,两个布线节点就连在一起;开关断开,连接就不存在。三种工艺的分歧,正是「比特怎么存」和「开关怎么动」这两个物理问题的三种答案。
读这张图抓住一条主线:左边 SRAM 锁存器靠正反馈保持电平,掉电就散架,所以是易失的;中间浮栅管靠绝缘层里囚禁的电荷表示比特,电荷无处可去,所以掉电不丢;右边反熔丝根本不是「存一个值再去控制开关」的两段结构——它自己就是开关,未编程时是一层绝缘介质,编程时加高电压把介质击穿,形成永久的金属性连接,图中红色节点强调这个动作物理不可逆。注意 SRAM 和 Flash 是「存储单元 + 受控开关管」的组合,反熔丝则把存储与开关合二为一:连与不连这个物理事实本身就是配置。
三种单元都要在芯片上铺满几百万到几亿个,所以单元面积、能否与标准逻辑工艺兼容,直接决定了器件容量和价格的天花板。
二、SRAM 型:易失锁存器如何成为主流
SRAM 型配置单元通常由几个标准 CMOS 管构成锁存器加一个传输门(pass transistor)组成,和芯片里 SRAM 块、LUT 的存储元件是同一类工艺。锁存器在上电时状态随机,配置控制器按帧把比特流写满全部配置位,传输门按电平开合,芯片于是「成为」设计的电路。完整的上电写入过程见FPGA 上电配置时序。
「掉电即失」听起来是缺陷,但在工程上反而带来三个好处。第一是无限改写:锁存器写 0 写 1 只是改变电平,没有磨损概念,综合实现一版就烧一版,JTAG 直写几秒完成,开发体验和写软件接近。第二是沾先进工艺的光:配置单元就是标准晶体管,逻辑工艺缩到多少纳米,它就跟着缩到多少纳米,所以大容量、高速 SerDes、多核 SoC 这类最吃工艺红利的产品全部是 SRAM 型。第三是供应链与生态集中:两大主流厂商的主力家族都是 SRAM 工艺,工具、IP、教材、二手问题答案都最多,厂商格局可参考FPGA 厂商与产品家族。
代价也同样由易失性派生。上电时芯片是一张白纸,必须外挂一片非易失存储器(通常是 SPI NOR Flash)存放比特流,再由 FPGA 在主 SPI 模式下自己读回来,因此多了配置时间、多了板级器件、也多了一条可以被拦截或篡改的物理通道——这正是FPGA 比特流加密存在的原因。配置期间 I/O 处于高阻或预定态,上电到 DONE 拉起之间有一段「电路还不存在」的窗口,对要求加电立即输出安全状态的系统是个必须处理的约束。运行期还有一个易失性的远亲问题:锁存器电平可以被辐射粒子打翻,这就是第五节的 SEU。
主流用法因此形成固定搭配:开发阶段 JTAG 直写反复迭代,产品阶段把比特流烧进外挂 QSPI Flash 上电自加载,操作见比特流下载与固化。容量、性能、灵活性三项都要的场景,今天基本没有第二个选择。
三、Flash 型:掉电不丢的代价
Flash 型 FPGA 用浮栅(floating-gate)晶体管做配置开关。浮栅是一块被氧化层完全包裹的多晶硅栅,编程时靠高电压把电子隧穿进去,电子被俘获后改变晶体管阈值,从而决定开关状态;擦除时反向操作把电荷抽出。因为浮栅四周是绝缘体,正常工作电压下电荷可以留存很多年,配置于是天然非易失——上电没有「加载比特流」这一步,配置开关直接处于确定状态,器件在电源稳定后极短时间内即可开始工作。
这给系统设计带来一串连锁优点。免外挂配置存储器:板上不需要 SPI Flash 及其走线,成本、面积和启动链路单点故障同时消失。启动快:没有毫秒到数百毫秒级的配置帧加载过程,上电即行对电源使能和安全状态输出类应用很有价值。静态功耗低:SRAM 型的漏电流随工艺缩小反而上升,Flash 型家族普遍以低待机功耗为卖点,适合长时间待机的节点和便携设备。配置面攻击小:比特流不在上电时经引脚从外部读入,搭总线截流的传统手段失效。
| 对比项 | SRAM 型 | Flash 型 |
|---|---|---|
| 配置存在哪 | 片上锁存器,外挂 Flash 存镜像 | 片上浮栅单元,无需外挂 |
| 上电动作 | 读外部 Flash、逐帧写入、CRC 校验 | 配置已在开关中,电源稳定即运行 |
| 配置期间暴露面 | 引脚上有比特流传输 | 无上电加载流量 |
| 静态功耗 | 随先进工艺漏电增大 | 普遍更低(以厂商资料为准) |
| 典型卖点 | 容量、性能、生态 | 即时启动、安全、低待机功耗 |
代价藏在工艺里。其一是擦写寿命有限:每次隧穿都对氧化层有轻微损伤,浮栅单元的可擦写次数有上限(数据手册会给出耐力规格,具体数字以厂商资料为准),虽然配置改写频率远低于数据 Flash 的日常写入,正常产品生命周期内通常够用,但它不再是 SRAM 那种物理意义上的无限次。其二是工艺节点追不上:浮栅需要高压晶体管和特殊结构,与最先进的标准逻辑工艺不兼容,晶圆厂也少有意愿为小众市场把非易失工艺搬到最前沿节点,结果是 Flash 型 FPGA 的容量、最高频率和高速收发器规格系统性地落后同期主流 SRAM 产品一两代。其三是用户寄存器和 RAM 仍然易失:非易失的只是配置,运行中触发器和存储器里的数据照样丢、照样可能被辐射打翻——很多人第一次看到 Flash 型 FPGA 也要做复位设计时会感到意外。
所以 Flash 型的甜蜜区很清楚:容量需求中等、要求上电即行和低待机功耗、重视配置安全的工业与航空电子,而不是拼逻辑规模的数据中心加速卡。
四、反熔丝:一次性的永久金属
反熔丝(antifuse)的名字来自与普通保险丝相反的动作:保险丝出厂是通的、烧断变开路;反熔丝出厂是两点之间夹一层绝缘介质、呈高阻开路,编程时在元件两端施加编程高压,介质被击穿,上下金属在击穿点形成永久性的低阻连接。编程由专用编程硬件在出厂前或产线上完成,一旦击穿,物理结构改变,任何手段都无法把金属连接恢复成绝缘——不是「不允许改」,而是物理上不能改。
这种极端的不可逆换来三个极端的性质。非易失且无加载过程:连接是物理事实,不存在电荷流失,也不存在上电加载,器件加电即按烧入的线路工作。抗辐照最强:配置里没有可以被打翻的锁存器、没有会丢失的电荷,辐射粒子打过来,既没有电平可翻,也没有浮栅电荷可扰动,配置层面的单粒子翻转在机理上就不成立。难以逆向与篡改:想改配置无从下手,想从外部读出比特流也没有常规通道,配置安全性是物理结构自带的,而不是靠密钥和认证加上去的。
| 维度 | SRAM 型 | Flash 型 | 反熔丝型 |
|---|---|---|---|
| 配置单元 | 锁存器 + 传输门 | 浮栅晶体管 | 击穿型金属连接 |
| 易失性 | 易失,上电重配 | 非易失 | 非易失(结构即配置) |
| 上电行为 | 加载比特流,毫秒至百毫秒级 | 上电即行 | 上电即行 |
| 可改写次数 | 无限次 | 有限(耐力有规格上限) | 一次,不可更改 |
| 容量与先进工艺 | 最大,跟随最前沿逻辑节点 | 中等,工艺节点滞后 | 偏小,单元与工艺特殊 |
| 静态功耗 | 较高 | 低 | 低 |
| 配置位抗 SEU | 弱,需 TMR/刷新等措施 | 强(用户 FF/RAM 仍敏感) | 最强(机理免疫) |
| 单价与工具成本 | 低到高,生态成熟 | 中等 | 高,需专用编程环节 |
| 调试与现场迭代 | 随改随烧 | 可反复擦写 | 无法迭代,错误只能换片 |
| 典型领域 | 通信、消费、工业、原型验证 | 工业、航空电子、安全启动 | 航天、军工、极端可靠性场景 |
(表中功耗、容量与工艺节点的相对关系为家族层面的定性对比;具体器件规格以厂商数据手册为准。)
反熔丝的代价和优点是同一枚硬币。无法调试迭代:「上板看现象、改一版再烧」的循环被彻底取消,设计必须在仿真阶段做到充分,调不通的代价是换一片新器件而不是重新下载。容量与成本受限:专用工艺和编程设备、小产量、高单价,产品家族长期集中在中小规模。现场升级不存在:卫星入轨后想改逻辑,只能靠设计时预留冗余通路,或干脆选用可重配器件配合刷新。因此反熔丝的用户几乎只出现在「任务失败成本压倒一切」的航天、导弹、深空探测领域——那里要的是十年任务期内配置永不变、免维护、辐射打不烂的确定性。
很多系统会混用路线:用一颗反熔丝或非易失 CPLD 做配置控制器和安全启动的「根」,主控逻辑用大容量 SRAM FPGA——不可改的部分守住信任根,灵活性留给需要迭代的数据通路。
五、辐照视角:SEU 为什么专挑 SRAM
单粒子翻转(Single Event Upset,SEU)指高能粒子(宇宙射线、重离子,或地面大气中子)穿过半导体灵敏区时沉积电荷,把一个存储节点的电平打翻:0 变 1 或 1 变 0。它不是永久损坏,器件下一次写入即可恢复,所以叫「软错误」;但如果被打翻的是 FPGA 的配置位,后果不是一次数据错误,而是 LUT 真值表或一根布线的连接关系被静默改写,电路的物理结构在两次重配置之间一直是错的,且对触发器做复位无效——复位不清配置帧。这个机理的深入展开与 TMR、scrubbing 等防护体系见FPGA 可靠性设计:SEU 与软错误防护。
用三种单元的物理结构一对,辐照耐性的排序就自然浮现:
- SRAM 型:几亿个锁存器电平都可能被一击翻转,配置位和用户 BRAM/FF 全部暴露,先进工艺电压低、临界电荷小,更敏感。工程上靠三模冗余(TMR)、配置刷新(scrubbing,周期读回校验并重写翻转帧)、启动 CRC、看门狗重配置把故障率压到指标内,代价是约三倍资源开销与持续维护设计。
- Flash 型:配置以浮栅电荷存在,单次粒子沉积的电荷远不足以改变浮栅带电状态,配置位对 SEU 基本免疫;但用户触发器和片内 RAM 仍是标准易失单元,照常要做软错误防护。
- 反熔丝型:配置是击穿形成的金属连接,没有「状态位」可翻,配置层面机理免疫;敏感面只剩用户触发器等运行态单元,航天应用中通常再配合抗辐照工艺筛选与 TMR。
不要把这张定性排序误读成定量豁免:任何具体器件的总剂量(TID)耐受、单粒子翻转率、单粒子闩锁(SEL)风险都必须查厂商的辐射报告,按轨道高度、屏蔽厚度和任务寿命做辐射分析,本文不杜撰任何具体数值。还要记住配置免疫不等于整机免疫——时钟、电源、I/O、用户存储都有各自的失效模式。
六、按工程约束选工艺的清单
把前面的物理差异翻译成选型语言,决策顺序应当从约束出发,而不是从厂商熟不熟出发。

这张思维导图从强约束开始排除:先问三个硬问题——逻辑规模吃不吃得下(反熔丝与老工艺 Flash 在大容量需求前先出局)、生命周期内要不要改(要现场升级就排除反熔丝)、辐射与失效后果多严重(航天级任务把 SRAM 裸器件排到需要重型防护或直接排除);再用启动时间、待机功耗、BOM 成本、认证材料这些软约束排序。
落到常见场景上:
| 场景 | 首选路线 | 理由 |
|---|---|---|
| 学习、原型、创业公司迭代 | SRAM 型 | 随改随烧、资料多、板子便宜 |
| 通信/消费/工业大容量逻辑 | SRAM 型 + 外挂 Flash | 容量与生态,启动慢几百毫秒无所谓 |
| 上电必须立刻输出安全态的控制 | Flash 型 | 无加载窗口、配置链路短 |
| 电池供电长待机终端 | Flash 型 | 静态功耗低、免一片配置 Flash |
| 卫星载荷(大容量) | 加固 SRAM + TMR + 刷新 | 容量与抗辐照的工程折中 |
| 卫星/军工关键控制(中小逻辑) | 反熔丝型 | 配置机理免疫、任务期零维护 |
| 车规/医疗功能安全 | Flash 型或 SRAM + 安全机制 | 看认证材料与诊断覆盖率,而非只看工艺 |
最后补一条边界判断:FPGA 与 CPLD 的区别之一也在配置存储——传统 CPLD 多用非易失存储(EEPROM/Flash 开关),同样上电即行,但规模和布线结构与 FPGA 不在一个量级,不能因为「都能掉电保持」就把 Flash 型 FPGA 当大号 CPLD 用。
这一篇在知识体系里的位置
本篇属于 FPGA 入门概念簇的「配置机制」分支,回答的是配置存储的物理层:
- 往上,配置通道与引脚协议见 FPGA 配置方式有哪几种,上电时间轴见 FPGA 上电配置时序;
- 操作侧,下载与固化的工具流程见 比特流下载与固化,配置镜像的保密性见 FPGA 比特流加密;
- 单元结构侧,配置位如何构成 LUT 见 从 LUT 到触发器,哪些厂商卖哪类工艺见 FPGA 厂商与产品家族;
- 继续深入,SRAM 型为什么怕辐射、TMR 与刷新怎么把故障率压下去,见进阶篇 FPGA 可靠性设计:SEU 与软错误防护。
总结
SRAM Flash 反熔丝 FPGA 三种配置工艺的差异,根子在配置比特的物理载体:SRAM 型用易失锁存器控制传输门,掉电重配、无限改写、跟着先进逻辑工艺走,靠容量和生态成为主流,代价是上电加载窗口和配置位对 SEU 敏感;Flash 型用浮栅电荷保持配置,掉电不丢、上电即行、静态功耗低、配置攻击面小,代价是擦写寿命有限、工艺节点滞后导致容量与性能落后;反熔丝型靠介质击穿形成永久金属连接,一次性烧写、不可更改,换来了配置层面机理级的抗辐照与安全,代价是无法调试迭代、容量小、成本高,只在航天军工这类失效成本压倒一切的场景称王。选工艺没有绝对优劣,只有把容量、迭代速度、启动行为、辐照环境、现场升级和成本按项目约束排序——灵活性、即时性、永恒性三者通常只能取其二。