中文 英语
18lickc新利
的意见

片上FPGA:“其他”计算资源

扩展处理器子系统的可能性。

受欢迎程度

当系统公司讨论下一代产品的处理需求时,典型的讨论总是导致:处理器子系统应该是什么样子?您是否将当前子系统中的嵌入式处理器升级到最新和最好的嵌入式CPU?是否增加cpu ?或者通过添加DSP或GPU来增加一点多样性?

一个很少(如果有的话)得到考虑的计算资源是片上FPGA(又称为嵌入式FPGA或eFPGA)。这是可以理解的,有两个原因:可以集成在芯片上的FPGA是一个相对较新的IP,当人们想到FPGA时,他们不一定会认为它是一个计算资源。

在接触Flex Logix之前,我对fpga的看法和其他人差不多。它是自定义ASIC的替代方案,适用于低容量应用,没有严格的功率要求。虽然eFPGA的功能本质上与FPGA芯片相同,但eFPGA实际上更强大,因为它们可以在SoC中的任何地方运行,并且可以比嵌入式处理器更好地执行某些功能。这里有几个例子。

过滤:我们运行了一个基准测试,比较了在小型eFPGA上运行几个过滤操作所需的能量消耗,与带有DSP指令的嵌入式CPU相比。我们发现,尽管eFPGA使用了更多的区域,但嵌入式CPU执行起来却多消耗了50%到475%的能量。申请说明可在以下网址找到https://flex-logix.com/wp-content/uploads/2019/04/2016-09-23-EFLX-As-Energy-Efficient-Embedded-FPGAs-for-DSP-Applications-rev-7-compressed.pdf

包处理:许多NIC应用程序需要查看一个大数据包中的特定位,并在将数据包发送到管道中的下一阶段之前执行某种类型的计算。需要修改的特定部分在需要可编程性的应用程序之间变化。由于对本地或缓存内存的依赖,嵌入式处理器固有地会引起延迟,这直接影响吞吐量。专用的状态机可以提供更好的性能,但一旦使用了硅,就会变得不灵活。eFPGA提供了一个理想的解决方案,因为它们提供了接近ASIC的性能,同时具有完全的可重编程性。一个额外的好处是,设计人员不需要过度设计他们的状态机来预测每个可能的未来用例。它们只是在一个新的状态机中进行编程。

模拟芯片当前位置似乎各种各样的传感器都被添加到每一种能想到的设备上,产生越来越多的数据。过滤掉不需要的数据被推到边缘,以降低主处理器的处理负载和系统功耗。边缘处理的选择往往是小型的嵌入式cpu或状态机。与上面的包处理示例一样,可以将一个简单的小状态机编程到eFPGA中,以针对特定应用程序的传感器,但是可以使用完全不同的状态机编程用于完全不同的应用程序,从而扩展该传感器的市场。此外,只需几百个lut, efpga就可以使用二进制神经网络有效地执行ML模型。可以使用嵌入式cpu,但它们往往会提高芯片成本,并且对于许多传感器应用来说可能是多余的。在功耗方面,莱迪思的iCE40和瑞萨最近发布的ForgeFPGA都证明了FPGA技术可以用于低功耗应用。eFPGA IP也是如此。

加速器:众所周知,由于摩尔定律的扁平化,使用专用硬件加速器是芯片架构师推动性能提升的方式。在这种情况下,eFPGA被用作“侧车”来容纳加速器,并提供接近ASIC的性能和完全的可重编程性。

eFPGA IP是一种灵活的技术,可以像FPGA一样使用,但将其视为柔性结构限制了其潜力。无论是低功耗应用程序还是需要高性能加速器的应用程序,eFPGA都可以作为强大的计算引擎替代嵌入式CPU !



留下回复


(注:此名称将公开显示)

Baidu