一块小小的FPGA芯片里,SRAM和DRAM正在上演一场没有硝烟的存储战争,而工程师们往往直到项目中期才意识到自己选错了阵营。
开发板上电那一刹那,FPGA内部的SRAM开始迅速从外部存储器加载配置信息——这个过程决定了整个系统的启动速度。

SRAM速度快但断电即失的特性,与DRAM容量大但需要定时刷新的本质,形成了FPGA存储江湖的两大对立阵营-1-5。

FPGA里的存储江湖,可谓三足鼎立。SRAM技术是这里的老大哥,应用最广泛,但有个致命弱点:一断电,所有信息全没了,得靠外部非易失性存储器给它“备份记忆”-1。
这就是为什么基于SRAM的FPGA每次上电都需要从外部重新加载配置信息,像极了每天早上需要咖啡才能启动的我们。
老二Flash/E²PROM就聪明多了,天生带着“非易失性”基因,断电也能记住自己的状态。但它也有短板——擦写寿命有限,大概只能编程500次左右-1。
对于那些需要频繁重配置的应用来说,这个数字远远不够用。老三反熔丝技术则是个“一锤子买卖”,编程一次就永久固定,无法更改,特别适合那些对安全性要求极高的应用-1。
这三种技术在FPGA世界里各自占据一席之地,但今天我们重点聊聊SRAM和DRAM这对欢喜冤家。别看它们名字里都带着“RAM”,脾气秉性可大不相同。
SRAM(静态随机存取存储器)和DRAM(动态随机存取存储器)虽然都是易失性存储器,但它们的实现方式和特性截然不同。SRAM用六晶体管结构存储每个比特,不需要刷新就能保持数据,只要不断电,信息就稳如泰山-5。
DRAM则采用单晶体管加电容的组合,数据以电荷形式存储在电容中。问题来了——电容会漏电!所以DRAM需要每隔几毫秒到几百毫秒就刷新一次,把数据读出来再写回去-5。
这个本质差异导致了它们在实际应用中的不同表现。SRAM访问速度极快,通常在1-2纳秒(片上)到5-10纳秒(片外)之间-5。
而DRAM的速度相对较慢,访问时间超过100纳秒-7。速度上的差距决定了它们在不同场景中的适用性。
密度和成本方面,DRAM则扳回一城。DRAM单元结构简单,一个晶体管加一个电容就能存1比特数据,所以集成密度更高、成本更低。SRAM需要6个晶体管存1比特,自然在密度和成本上不占优势-8。
在FPGA内部,SRAM可不仅仅是存储数据那么简单,它扮演着多种关键角色。作为查找表的存储单元,SRAM负责实现FPGA的逻辑功能;作为嵌入式存储器,它又承担起复杂数字信号处理和存储的任务-1。
多路开关、交叉开关、互连通道...这些可编程结构的控制端都离不开SRAM的身影。它就像FPGA内部的交通指挥,决定着信号要走哪条路-1。
但SRAM这位交通指挥有个小毛病——它控制的传输管并非理想开关,会给信号传输带来不小的阻性和容性负载,影响信号完整性-1。这是工程师们在设计高频电路时不得不考虑的问题。
近年来,FPGA内部的SRAM设计也越来越精细化。可配置SRAM模块可以根据用户需求配置为不同工作模式,如单端口SRAM、双端口SRAM、ROM、FIFO等,灵活性大大增强-6。
这种设计思路体现了FPGA存储技术从固定到可配置的进化趋势。
当FPGA需要更大容量存储时,就不得不与外部DRAM打交道了。这个过程远不像内部SRAM访问那么简单直接。FPGA需要通过专门的接口与DRAM通信,实现这一过程通常需要精心设计的控制器和时序处理-3。
现在的FPGA在外部内存支持方面已经相当强大。以Agilex™ 5 FPGA为例,它同时支持DDR4、LPDDR4、DDR5和LPDDR5四种外部内存解决方案-9。
这意味着工程师可以根据项目的功耗、带宽和成本需求选择最合适的DRAM类型。
DDR5和LPDDR5是当前的主流选择。DDR5采用双x32宽通道设计和16拍预取机制,通过x32接口就能实现64字节缓存行访问-9。
LPDDR5则更注重能效,其VDDQ I/O摆幅仅为0.5V,而DDR5需要1.1V-9。功耗差异直接影响了移动设备和嵌入式系统的电池寿命。
选择外部DRAM时,工程师需要权衡容量、成本、能效和带宽等多个因素。有趣的是,理论峰值带宽并不完全反映实际性能,访问模式同样至关重要-9。
顺序访问可以避免因开启与关闭行而带来的性能损耗,而更长的突发长度与通道化设计则能提升效率。
面对FPGA设计中SRAM与DRAM的选择,许多工程师都会陷入纠结。其实,这个选择并没有那么难,关键是明确项目的核心需求。
如果你需要极快的访问速度,比如做高速缓存或实时信号处理,那么片上SRAM是不二之选。SRAM不需要刷新,可以每个时钟周期都提供数据,这对于追求高主频的CPU来说至关重要-2。
如果你需要大量数据存储,比如图像处理、大数据缓存,那么外部DRAM的性价比更高。虽然DRAM有刷新开销,但在大容量应用中,这点开销相对于其成本优势来说是可以接受的。
现代FPGA项目往往是SRAM和DRAM的混合使用。片上SRAM作为高速缓存或关键数据缓冲区,外部DRAM作为主存储器,这种分层存储架构能够平衡速度、容量和成本的关系。
还有一些新兴技术值得关注,比如HBM(高带宽内存)。虽然目前价格较高,但HBM在峰值带宽和每瓦性能方面表现出色,特别适合AI加速和科学计算等高性能应用-9。
随着技术成熟和量产规模扩大,HBM可能会在更多FPGA应用中找到用武之地。
当工程师在FPGA项目中选择存储方案时,最新Agilex™ 5等器件已经支持LPDDR5,相比传统DDR4方案功耗降低超过41%-9。
随着FPGA工艺不断进步,存储控制器已硬核化,信号完整性问题得到改善。分层存储策略成为主流——热数据放SRAM,冷数据存DRAM。
FPGA的存储江湖,正从简单选择走向智能协同。