基于SRAM的FPGA需要在断电后再次加载位流。同时,基于非易失性的人不需要这一点。
我想知道,为什么在SRAM FPGA上进行的实验和安全性研究要比基于NVM的实验和安全性研究更多,但似乎易失性技术在不受安全性限制的情况下使用得更多(当涉及确保安全启动时)。
(PS:我没有统计数据,这是个人观察)
基于SRAM的FPGA需要在断电后再次加载位流。同时,基于非易失性的人不需要这一点。
我想知道,为什么在SRAM FPGA上进行的实验和安全性研究要比基于NVM的实验和安全性研究更多,但似乎易失性技术在不受安全性限制的情况下使用得更多(当涉及确保安全启动时)。
(PS:我没有统计数据,这是个人观察)
Answers:
除了Dave Tweed对涉及的制造工艺的回答外,大多数基于闪存的FPGA实际上仍然使用SRAM来驱动其结构。就像在更传统的FPGA中一样,比特流从闪存加载到SRAM中,唯一的区别是闪存是内部的。当您查看他们的数据表和应用笔记时,这种架构显而易见。特别是,诸如Lattice MachXO2 / 3之类的某些设备支持在设备运行时对其闪存进行重新编程,这仅是可行的,因为该设备实际上是从SRAM运行而不是直接从闪存运行。因此,“基于闪存”的FPGA 除了需要SRAM 之外还需要闪存,这意味着它需要更多的裸片面积。
关于安全性,您应该指出,在允许捕获比特流方面,FPGA启动过程可能是一个弱点。为了弥补这一差距,许多FPGA现在都结合了对比特流加密的支持,该加密基于存储在FPGA专用存储器中的安全密钥。使用此密钥对比特流映像进行加密,然后将其加载到配置存储器中,然后在FPGA启动时,它将读取加密的比特流,并在将其加载到其中时对其进行解密(某些需要外部存储器的微控制器具有类似的功能,并且原理基本相同。)
最重要的是,这取决于您的要求。虽然尺寸,重量和功率(SWaP)是通用IC的主要驱动力,但如果您由于这些要求而没有被迫开发ASIC,那么性能是您的下一个考虑因素,无论如何,这可能会促使您回到ASIC,但是,如果您可以承受SWaP的折衷,则可以使用FPGA。
传统上,基于FLASH的FPGA(Actel,现在为Microsemi)没有密度和性能是基于SRAM的FPGA所能达到的,因此,如果性能是驱动因素,则可以选择Xilinx或Altera(现在为Intel),或者也许是莱迪思。
本质上,您受系统要求(特别是IC)的驱动。尽早解决这些需求,并对不同的FPGA(电子表格)进行贸易研究。SWaP和性能以及随之而来的重复成本是您要与团队(系统,CCA甚至SW)进行迭代的主要考虑因素,这些因素可以反馈给您的项目总工程师/经理。其他问题,例如可靠性,可制造性等,通常由来自各自组织的其他团队成员提供,但如果没有您的初衷,通常并没有多大意义,并且通常不会妨碍您的选择。
如果您搜索“ SRAM vs FLASH FPGA”,则会在Web上找到文章,但是您可能会比使用其他任何东西都更容易地从使用数据手册的贸易研究中学到更多信息。
为了解决安全问题,大多数现代SRAM FPGA可以配置有加密流,通常使用现代加密标准(例如256位AES)进行配置。可以说,这与在内部存储配置一样安全:能够从解盖后的芯片中提取私钥的专用附件也将能够读出内部闪存。
当实现非常简单(因此不需要大型SRAM FPGA)或需要即时启动时,通常使用基于闪存的FPGA。