为什么基于SRAM的FPGA比基于NVM的FPGA使用更多?


20

基于SRAM的FPGA需要在断电后再次加载位流。同时,基于非易失性的人不需要这一点。

我想知道,为什么在SRAM FPGA上进行的实验和安全性研究要比基于NVM的实验和安全性研究更多,但似乎易失性技术在不受安全性限制的情况下使用得更多(当涉及确保安全启动时)。

(PS:我没有统计数据,这是个人观察)


我不确定您的统计信息,但与SRAM相比,FLASH FPGA相对较新。因此,这可能是您的数据为真的原因。
尤金(Eugene Sh)。

3
您比较费用了吗?我想非易失性的价格会更高。
炉边

@EugeneSh我没有统计信息,这是个人观察(我更新为问题的PS,以免混淆人)
Lavender

我接触的最后一个项目使用了sram,因为它们针对不同的功能进行了多次重新配置
PlasmaHH

Answers:


32

主要驱动因素是SRAM与用于实现实际逻辑的相同物理过程高度兼容。实际上,当今大多数FPGA都是基于LUT(查找表)的,而LUT实际上只是RAM的一小部分。

另一方面,构建EEPROM(非易失性存储器)所需的过程需要额外的步骤-创建具有特殊氧化物厚度的浮栅等。该过程与逻辑/ SRAM过程不直接兼容。这意味着非易失性FPGA在这两个方面都有一定的折衷。


21

除了Dave Tweed对涉及的制造工艺的回答外,大多数基于闪存的FPGA实际上仍然使用SRAM来驱动其结构。就像在更传统的FPGA中一样,比特流从闪存加载到SRAM中,唯一的区别是闪存是内部的。当您查看他们的数据表和应用笔记时,这种架构显而易见。特别是,诸如Lattice MachXO2 / 3之类的某些设备支持在设备运行时对其闪存进行重新编程,这仅是可行的,因为该设备实际上是从SRAM运行而不是直接从闪存运行。因此,“基于闪存”的FPGA 除了需要SRAM 之外还需要闪存,这意味着它需要更多的裸片面积。

关于安全性,您应该指出,在允许捕获比特流方面,FPGA启动过程可能是一个弱点。为了弥补这一差距,许多FPGA现在都结合了对比特流加密的支持,该加密基于存储在FPGA专用存储器中的安全密钥。使用此密钥对比特流映像进行加密,然后将其加载到配置存储器中,然后在FPGA启动时,它将读取加密的比特流,并在将其加载到其中时对其进行解密(某些需要外部存储器的微控制器具有类似的功能,并且原理基本相同。)


2
实际上,第一段对于一组相对有限的FPGA是正确的。许多基于闪存的FPGA被宣传为“即时”(在许多应用中很重要的卖点),这意味着没有内部传输-闪存单元直接控制连接和逻辑。
戴夫·特威德

3
从我已经看到的情况来看,即使“即时”设备仍然必须加载CRAM,它的发生速度(需要内部闪存的接口更大)比需要外部闪存的部件要快得多。例如,MAX10处于“即时开启”状态,但请参见此处的第28页:intel.com/content/dam/altera-www/global/en_US/pdfs/literature / ... 但是,如果您的参考资料显示了完全的CRAM,更少的架构,我会对学习有所兴趣。
ajb

2
看一下Actel(现在是Microsemi)-它们的反熔丝和基于闪存的设备都是零拷贝的。
戴夫·特威德

8

最重要的是,这取决于您的要求。虽然尺寸,重量和功率(SWaP)是通用IC的主要驱动力,但如果您由于这些要求而没有被迫开发ASIC,那么性能是您的下一个考虑因素,无论如何,这可能会促使您回到ASIC,但是,如果您可以承受SWaP的折衷,则可以使用FPGA。

  • 基于FLASH的FPGA处于“即时启动”状态,因此无需“立即”即可进行配置。您的设计可能需要这样做。
  • FLASH技术比SRAM功耗低
  • 基于闪存的FPGA不需要BOOT PROM,因此一个芯片与两个(或更多)芯片比较。
  • 您可能需要在以前的状态下加电。
  • 基于闪存的可提供更多的抗辐射解决方案。在基于SRAM的FPGA中,有多种方法可以满足辐射要求或SEU,但Microsemi提供了“强化技术”。

传统上,基于FLASH的FPGA(Actel,现在为Microsemi)没有密度和性能是基于SRAM的FPGA所能达到的,因此,如果性能是驱动因素,则可以选择Xilinx或Altera(现在为Intel),或者也许是莱迪思。

本质上,您受系统要求(特别是IC)的驱动。尽早解决这些需求,并对不同的FPGA(电子表格)进行贸易研究。SWaP和性能以及随之而来的重复成本是您要与团队(系统,CCA甚至SW)进行迭代的主要考虑因素,这些因素可以反馈给您的项目总工程师/经理。其他问题,例如可靠性,可制造性等,通常由来自各自组织的其他团队成员提供,但如果没有您的初衷,通常并没有多大意义,并且通常不会妨碍您的选择。

如果您搜索“ SRAM vs FLASH FPGA”,则会在Web上找到文章,但是您可能会比使用其他任何东西都更容易地从使用数据手册的贸易研究中学到更多信息。


2

为了解决安全问题,大多数现代SRAM FPGA可以配置有加密流,通常使用现代加密标准(例如256位AES)进行配置。可以说,这与在内部存储配置一样安全:能够从解盖后的芯片中提取私钥的专用附件也将能够读出内部闪存。

当实现非常简单(因此不需要大型SRAM FPGA)或需要即时启动时,通常使用基于闪存的FPGA。


我认为基于闪存的FPGA也可能解决安全问题。请参阅EEtimes上有关使用差分功率分析(DPA)缓解攻击的文章:eetimes.com/document.asp?doc_id=1327477
奇怪的是,

@boink是的,尤其是较旧的FPGA尤其容易受到攻击(例如),但是我希望情况到现在已经有所改善。您所引用的文章似乎在宣传DPA对策。
德米特里·格里戈里耶夫
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.