6个选择FPGA而非ASIC或CPU GPU的理由
6个选择FPGA而非ASIC或CPU/ GPU的理由
6个你应该考虑fpga而不是asic或CPU/ gpu的原因
在这篇博客文章中,我们将集中讨论为什么fpga能够达到最佳的处理能力。在我们深入讨论之前,让我们先谈谈“房间里的大象”——任何事物的存在都有其原因,甚至asic(应用特定的集成电路)、cpu(中央处理器)和gpu(图形处理单元)。asic每瓦特提供了令人难以置信的性能,因此非常高效,但与使用FPGA(现场可编程门阵列)相比,它们的设计更具挑战性,也更加昂贵。另一方面,cpu / gpu在编程和设计方面具有优势,但缺乏其他cpu的效率。
事不宜迟,让我们进入清单:
1) FPGA可重配置 - 一般FPGA的可配置性让asic望尘莫及。除了为特定应用程序配置的硬/软IP核(例如:我们的Arty Z7上的Arm核)之外,真正的价值在于能够在安装后重新配置(并再次重新配置)——这是ASICs无法做到的。。
2)FPGA并行工作—一个fpga的好处,让他们这么好的工具与测量系统和其他边缘计算应用程序,这些应用程序需要处理大量数据的嵌入式视觉是他们能够并行过程。cpu / gpu按顺序工作,一次处理一个部分,但是使用配置良好的FPGA,您将能够在第一批信息完成之前同时接收和处理下一批信息,从而具有较低的延迟。。
3) FPGA执行时间要求严格的处理-由于前面提到的低延迟,工程师和开发人员能够使用FPGAS的应用程序,需要非常严格的时间计算;比如软件定义的无线电、医疗设备和军事航空系统。当您不必在处理器上等待很长时间来完成计算时,输出可以更精确。asic的延迟更少,但同样,它们只适用于单个特定的应用程序。对于原型设计和设计,FPGA是比较宽容的选择。
4) FPGA具有最优能效比- 当与CPU或GPU相比,你将获得更高的性能/瓦(虽然它更接近使用浮点算法)与FPGA。这种低功耗可以比GPU少3到4倍。ASIC的运营成本无疑是最好的,但高昂的初始成本(有时高达数百万美元)会大大抵消这一成本。
5)没有操作系统开销——如果CPU/GPU的延迟和计算能力与FPGA相当,内部线程就会因为运行操作系统的需要而失去。操作系统降低了处理成本效率,因为资源需要专门用于它,增加了使用的能量,降低了计算能力。
6) FPGA本质上是一块空白画布——而asic在制造之前需要有自己的功能,cpu / gpu只为一组狭窄的应用而优化,而FPGA的蓝图几乎完全是由用户定义的。有了HDLs(硬件设计语言)的正确知识,工程师可以配置FPGA结构来处理任何功能,在很多情况下,可以处理多个功能。此外,fpga具有巨大的接口灵活性,最近随着SoCs(芯片上系统;Xilinx的Zynq 7000 SoC可以在我们的ZedBoard上找到),它实际上包括一个CPU和FPGA。
所以,是的,有些应用程序可能更适合ASIC、CPU或GPU,但对于精通HDLs的工程师来说,FPGA在价格、处理能力和可配置性方面达到了要求。对于那些精通C、Java和Python等语言的人?请关注我们的新Eclypse Z7,它具有高级API,可以更容易地在fpga和软件语言之间进行交互(目前支持C和c++,稍后将支持更多)。