eFPGA中LUT数量将超越FPGA

标签:eFPGALUTFPGA
分享到:

FPGA已经成长为一项战略性技术。它曾被视为“穷人的ASIC”,且能够为小批量应用提供定制化IC。如今,当其仍然以这种方式广泛用在许多系统中的同时,在两个巨大且高成长的市场应用中已具有战略重要性:

·云端数据中心:网络连接﹑储存和安全性。

·通讯系统:基站和5G等。

事实上,由于FPGA对数据中心所具备的战略性意义,使得Intel最近收购了Altera,AMD最近也买下了Xilinx。这是因为在许多情况下,处理器的工作负荷正被移转到FPGA上。

大量利用FPGA的数据中心,能够提供处理器所无法实现的并行可编程能力(有客户称其为"硬件速度的可编程")。这些FPGA与具有特定功能的IC搭配,例如网络接口控制器 (NIC)和网络交换机芯片。每个数据中心有不同的工作负荷,藉由一个标准化的产品来满足所有需求是行不通的,因为每个数据中心都有不同的、使其需求最佳化的容量和建设成本。

通讯系统长期以来都利用FPGA来处理数以百计的法定频段和协议。如今在5G环境中,FPGA被用来管理复杂性和诸如O-RAN等持续变化中的标准。

尽管如前所述,FPGA的可编程很有价值,但其功耗和尺寸却不尽人意。结果,如今的数据中心和通信公司都欲将他们的FPGA整合到其SoC中,以减少尺寸和功耗。

FPGA行业整合已经开始

近十年来,例如Achronix、Flex Logix和Menta等公司,已经具备提供嵌入式FPGA(eFPGA)产品的能力。eFPGA现在可以在180nm到70nm的工艺节点上制造,产能从1K LUT到100K LUT,上限即将迈向1M LUT。也可以选用DSP和内存块-RAM。下列是一些有关采用eFPGA的历史,它们现在已经遍布整个行业。

第一个宣布成功使用eFPGA的客户是Sandia National Labs,在新墨西哥州的180 nm工艺上实现了这个目标。从此之后,他们利用eFPGA制造了许多ASIC芯片。

接下来,波音、美国空军研究实验室 (AFRL)、微软、BAE和许多其他政府机构与外包业者,也开始在美国制造的防卫系统中密集使用eFPGA。因此,对国防部和能源部而言,eFPGA现在已经是一个成熟的技术。

宸芯科技有限公司(大唐电信的一个子公司),宣称将把eFPGA用于FinFet ASIC,以供车对车(car-to-car)通信之用。

Dialog发布了eFPGA的ForgeFPGA产品系列,从1K LUT、批量成本低于50美分开始,且功耗仅有几毫瓦。

Flex Logix将eFPGA用在16nm AI推理芯片上,性能超过500 MHz,随着时间的推移和软件的增强,性能可以提升到667MHz和800MHz。

Socionext正在和一个重要系统厂商开发7nm SoC芯片,通过利用eFPGA和100K LUT的可编程逻辑电路,使得芯片在最坏的情况下,还能够有超过500 MHz的表现。这是一款5G应用与首款嵌入大量LUT的大容量通信芯片。

除了上述之外,有很多客户正在利用尚未公开的eFPGA。随着人们对技术认知的增加、以及领导厂商正利用eFPGA在其市场上取得显著的优势,客户采用eFPGA的步伐正在加速中,

集成FPGA能夠实现更多的软件控制

FPGA有一些显著的优势,但是编程设计不太容易,而且与处理器编程员相比,合格的FPGA程序员的人数并不多。

为什么FPGA不容易进行程序设计呢?

比起C++,Verilog更像是汇编语言的一种低级程序语言。

对传统的程序员而言,平行程序设计是很难以理解和学习的。

FPGA被编程设计成一个巨大的代码”块”。而处理器编程中包含有被程序员视为理所当然的子程序、主程序、链接器和加载程序、分页等等,但这些在FPGA编程中都无法使用。

单元FPGA编程可以在几秒内完成,并会永久驻留在硬件中,但对于整个FPGA来说,通常都必须进行重新编程。有一些部分单元程序速度很慢,在运行时,其他所有操作都会暂停。而在处理器代码中,当主程序运行时,分页程序却能不间断地在缓存中进行数据交换。

eFPGA则为人们提供了一个重新思考编程策略的机会,节约稀缺的Verilog编译器资源,并使C++编译器能够对FPGA进行软件控制。

以下是执行此方法的基本概念:

1.将代码封装/模块化成子程序。

将FPGA分割成更小的模块或容器(container),并为每个模块或容器提供对DRAM内存和处理器的直接访问。

eFPGA已经可以利用小方块式的模块化建构方法,如果需要,这些方块可以利用每排之间的RAM块(BRAM)相扣在一起。

这么一来很容易增加一个系统的相互连接/NOC/AXI总线,并让每个FPGA模块/容器能够访问內存/处理器。

于是写入FPGA的代码就能够像一个容器里面所包含的子程序一样地运作;可以给它提供输入数据或是指向系统內存数据的一些指针;在FPGA执行之后;可以将结果提供作为输出数据或是指向系统內存数据的指针。

利用稀少的Verilog编译器来写入那些需要密集运算的”子程序“,然后让C++编译器在处理器上写入代码,在需要的时候调用那些子程序。

 

6081580bfc506660092e6ff914697721

2.允许容器/模块大小可变

把一个FPGA分割成更小的模块或容器,能够允许它们直接访问DRAM存储器和处理器。

有些算法比较简化,使用的LUT较少,而有些用的LUT较多。

举例来说,使用Flex Logix的Flex interconnect fabric,可以使容器具有任意大小的矩形尺寸,甚至可以扩大到整个阵列。

 

8cbe4d885482706fde05af3036e54967

3.支持容器微秒分页

FPGA总是可以在几秒钟内从闪存中编程——速度确实非常慢,但编程通常很少这么做:在启动时或需要升级时才会这么做,比如对iPhone进行升级。

然而,eFPGA已经在领先的AI推理处理器中以百万分之一秒的速度重新编程。这的确是需要的,因为推理加速器处理一个神经网络层,需要进行数十亿次计算,然后在接下来的i<10微秒内重新配置并重新启动运算。

这种微秒级的重新配置可应用于上述阵列中的容器/模块。

在重新配置容器时,其余容器继续全速运行。

这使得eFPGA可以像处理器一样进行分页。

控制FPGA

我们已经看到了行业从简单的ALU发展到处理器、再到微处理器、再到并行处理器、然后再到SOC(包括内核和加速器)的转变。如今,我们有了可重新配置的SOC,可以更好地利用系统中的大量内核。

eFPGA将使数据中心和通信用户能够继续受益于FPGA的并行编程能力,同时降低功耗、缩小尺寸,并通过对FPGA进行软件控制,提高生产率和缩短上市时间。出于所有这些原因,eFPGA利用计算架构中的范式转变,既通过集成提高了每机架的计算密度,也允许更庞大的C++程序员队伍能够分享eFPGA的优势。基于这些原因,eFPGA集成将加速,在本年代末,集成到SOC中LUT数量将会超过FPGA。

继续阅读
eFPGA中LUT数量将超越FPGA

FPGA已经成长为一项战略性技术。它曾被视为“穷人的ASIC”,且能够为小批量应用提供定制化IC。如今,当其仍然以这种方式广泛用在许多系统中的同时,在两个巨大且高成长的市场应用中已具有战略重要性:

eFPGA帮助先进数据中心与通信应用

FPGA已然成为一种策略性技术,它被视为“穷人的ASIC”,且能够为少量应用提供客制化IC;

嵌入式FPGA:过去、现在及未来

嵌入式现场可编程逻辑栅阵列(eFPGA)的大量应用,宣示着它的时代终于到来。搭载此技术的芯片被应用在无线基础设施、人工智能(AI)、智能存储器,甚至是成本敏感微控制器上。它和中央处理器(CPU)与数字信号处理器(DSP)一样是系统单芯片(SoC),而且无论是在使用1,000个还是500,000个查找表(LUT)的硬件中,都能动态地重新配置硬件逻辑。

FPGA技术如何优化用于工业4.0及5.0的人工智能?

在过去三百年间,工业领域取得了长足的进步。机器设备最初于18世纪问世,主要以水和蒸汽为动力,并引发了18世纪末的工业革命(通常被称为工业1.0)。尽管流水组装线的概念可以追溯到中国古代的青花瓷制作,但直到19世纪末,亨利·福特才设立了第一条电动流水线,形成了工业2.0的框架。

基于FPGA的洗衣机控制系统的设计与实现

随着时代的发展,洗衣机已成为人们日常生活中的必需品。目前全自动单筒、滚筒洗衣机已日渐盛行,但其结构复杂,日常维修和购买时成本偏高,所以结构简单、价格实惠的双缸洗衣机依然受到普通大众的

精彩活动