Flash FPGA、ASIC、SRAM FPGA你选择谁?
——
近年来,FPGA器件的应用领域在不断扩大。由于这种极其灵活的器件提供的通用平台能够针对特定的应用进行快速编程,并且可以在设计迭代中进行重复编程,因此它们迅速成为电子系统设计领域的中流砥柱。
---但是,FPGA在量产类产品中仍未得到广泛应用。当工程师们准备将设计用于产品量产时,他们通常会选择基于标准单元的ASIC方式。
ASIC与FPGA的比较
---在产品量产时,ASIC具有单位成本低、性能高、功耗低等显著优势。但是,随着ASIC厂家采用昂贵的深亚微米工艺技术,NRE(non-recurring expenses,不可逆费用)迅速增大,ASIC的传统成本优势开始逐渐减弱。
---今 天,通过采用最新的半导体工艺和新式架构,FPGA不仅在单位成本上与传统ASIC芯片相当,而且在功耗、安全性、可靠性、加电有效性、单片集成度、尺 寸、易用性和性能等ASIC的传统优势领域具有同等的甚至更好的表现。随着这些新型器件的出现,一个以价格为基础的FPGA市场正在逐步形成,并大有取代 ASIC之势,尤其是在消费电子、汽车电子等对价格敏感的应用领域。
---许多FPGA厂商都试图以低成本器件在这个充满商机的市场中一试高下。但是我们必须注意到:某些FPGA技术并不具备上述各种类似ASIC的性能,甚至会产生额外的成本。这些额外的成本必须纳入系统的总成本之中。
---两种技术方案的对比
---在 这场“价格”大战中,FPGA厂商可以提供两种主要的FPGA技术:Flash和SRAM。表面上看来,这两种FPGA技术具有 相似的特性和性能:都可以进行在系统编程,都具有较高的性能,系统门的密度都可达1M以上。但实际上,这两种技术具有很大的差异。
---相比基于SRAM的器件而言,基于Flash的可重编程器件的主要优势在于其具有非易失性的特性。基于Flash的FPGA采用Flash编程单元来控制FPGA内部的开关逻辑门。
---基 于Flash的FPGA编程单元是单管结构,而基于SRAM的FPGA采用六管SRAM单元进行开关控制,并且其开关本身还要占用一个传输门。在系统每次 加电时,我们必须从某个外部器件中加载SRAM FPGA的配置信息。而基于Flash的FPGA是单芯片结构,在加电之前其配置就是有效的,从而大大节约了成本。
---从系统安全的角度来看,基于Flash的FPGA具有更高的安全性,硬件出错的几率更小,并能够通过公共网络实现安全性远程升级,经过现场处理即可实现产品的升级换代。这种性能减少了现场解决问题所需的昂贵开销。
---在Flash器件中集成小型的NVM(nonvolatile memory,非易失性存储器)模块可以在某些消费电子和汽车电子应用中实现授权技术。这种NVM可以存储安全通信所需的密钥,或者针对基于广播的系统实现机顶盒设备的串行化。
---可重编程的NVM模块在90nm逻辑SRAM工艺下是无法实现的,并且所有的SRAM FPGA厂商也不提供这种模块。将单独的NVM模块集成到SRAM阵列中是可行的,但是将其他工艺下的NVM模块集成到90nm SRAM工艺中却极具挑战性。
---此外,可重编程的NVM在编程时需要一定的电压,因此SRAM用户必须从外部提供这种电压。基于Flash的FPGA(例如Actel的ProASIC3)采用内部电荷泵进行编程,不需要集成NVM模块,而基于SRAM的FPGA通常缺乏这种功能。
---Actel公司推出的 ProASIC3/E FPGA工作频率可达350MHz,小规模器件(30 000门)的起价仅为1.50美元(250 000个)。
---Flash 器件(例如Actel的ProASIC3/E)的工作频率可达350MHz,利用率超过95%,而SRAM FPGA一般能够达到的利用率仅为70%到75%。Flash FPGA在加电时没有像SRAM FPGA那样大的瞬间高峰电流,并且SRAM FPGA通常具有较高的静态功耗和动态功耗。
---例如,一块40万门的基于 Flash的FPGA需要20mA的静态电流,然而同等规模的基于SRAM的FPGA所需的电流达5倍之多。SRAM FPGA的功耗问题往往迫使系统设计者不得不增大系统供电电流,并使得整个设计变得更加复杂。Flash FPGA的功耗特性与ASIC和ASSP十分类似,减少了对电源供电的需求。
单片成本与系统成本的对比
---要想立足于瞬息万变的市场,工程师们所需的方案必须具有像FPGA那样的灵活性和快速变换的能力,同时还要具有像传统ASIC那样较低的单片成本、安全性、加电有效性和功耗优势。
---作 为价格市场中的一个范例,如表2所示。Actel公司推出的基于Flash的FPGA ProASIC3 在30 000门集成度下的售价仅为1.5美元(250 000个),其4倍集成度的器件价格也不超过5美元(500 000个)。而基于SRAM的FPGA在10美元以内只能提供2~3倍的器件密度,同等单片器件的价格达到了与ASIC价格相近的5美元左右。
---在增大了系统成本的基础上,SRAM FPGA通常还需要额外的支撑电路。除了使用自举PROM或微控制器来加载SRAM FPGA配置数据之外,设计者通常还必须采用SRAM断电检测设备来确保系统的可靠性。
---在 最新的90nm工艺下制造的基于SRAM的FPGA还必须满足严格的加电规范以及苛刻的电源容差,这通常都要使用电源定序设备。在很多应用中,我们必须使 用外部的时钟分布设备来处理系统的时钟管理任务,因为SRAM FPGA的加电配置延迟使其内部的PLL/DLL电路无法完成时钟管理任务。
---采用Flash器件进行设计时只需要一种1.5V的电压,而SRAM器件的内核需要1.2V的电压,器件配置需要2.5V的电压。对Flash FPGA经过一次编程之后,它们就不再需要配置电压了,并且其内核与I/O都可以工作在1.5V电压之下。
---总而言之,基于SRAM的FPGA所需的外部支撑电路成本在3~20美元之间。SRAM系统的额外开销有可能超过芯片的单片价格,更不用说还要耗费可靠性维护、库存管理和设计负责性等软件开销了。
评论