前不久,美国《连线(Wired)》杂志报道了微软在数据中心中使用FPGA技术做加速。必应搜索引擎在使用FPGA技术后,在网页排名上获得了30倍的性能提升。同时在该文章中,Intel执行副总裁Diane Bryant透露,Intel之所以收购Altera,就是因为这个项目。她估计,到2020年有1/3的服务器都会采用FPGA做加速。

另一篇文章指出,谷歌为机器学习设计的TPU专用加速芯片,其上便设计了专用接口使FPGA能够用于数据中心计算。因此,未来FPGA应用在高性能计算、数据中心、人工智能等领域将会越来越广泛。

FPGA正在经历第三个发展阶段:其增长将由CPU协处理器来主导

FPGA目前正在经历第三个发展阶段。第一个阶段(80年代到90年代中期),FPGA主要用于实现TTL胶合逻辑。这时,其速度很慢,市场总量从0增长到5亿美元。第二个阶段(90年代中期到2015年)是互联网时代,FPGA被用于在路由器/交换机中做ASIC连接,这时,由于工艺进步,FPGA变得更大、更快、更便宜,市场容量也由5亿美元增长到50亿美元。

第三个阶段(从2016年开始),FPGA增长将由CPU协处理器来主导,其主要应用包括:CPU数据中心加速(加解密、压缩解压缩、深度包检查、无架构搜索、机器学习和人工智能),灵活的软件定义网络(SDN),以及无线基础设施(5G)。这个阶段,市场容量将会更大。为此,总部设在美国硅谷的一家FPGA公司——Achronix,开发了全新概念的嵌入式FPGA(embedded FPGA,eFPGA)IP产品。在FPGA发展的第三个阶段,eFPGA将会有很大需求。

2016101400032

图1:Achronix公司总裁兼首席执行官Robert Blake(左),Achronix公司亚太区总经理罗炜亮(右)。

Achronix公司总裁兼首席执行官Robert Blake介绍说,Achronix成立于美国康奈尔大学(美国东海岸非常有名的常春藤联盟之一)。该公司由一些工程师和教授建立,旨在开发非常高速的FPGA。Achronix随后将总部迁到了美国硅谷,其间也研发了几代FPGA产品。比如,该公司Speedster22i是一款高端FPGA,它是基于Intel 22nm技术制造的。

该公司新的Speedcore eFPGA IP产品是一款高端FPGA内核,可以让客户将其嵌入到他们自己的ASIC SoC产品中做加速。

Speedcore是基于22nm Speedster22i独立式FPGA产品设计的。它具备FPGA的灵活性,相比FPGA器件,具有如下显著优势:互联带宽增加10倍,互联延迟减小至1/10,功耗降低50%,成本降低90%。

Blake先生透露,Achronix虽然今天才公布这项技术,但在3年前就开始了这项开发,并且也已经有客户在应用这个技术了。该公司有3种产品,除了Speedcore eFPGA和Speedster22i(独立式FPGA产品,已量产3年,明年将发布下一代产品)外,还包括基于Speedster22i的Accelerator-6D PCIe加速卡。

现在CPU正在向多核发展,增加核数可以同时处理多个功能,但是性能并不是随着CPU的核数成比例增长,它的收益会降低。如果将eFPGA嵌入到SoC中来与CPU连接,因为FPGA是并行运算,所以能够帮助CPU并行处理这些业务。由于数据中心处理的业务量越来越大,eFPGA便能在其中帮助卸载许多任务,Blake先生指出。

2016101400033

图2:将eFPGA嵌入到SoC中与CPU连接,能够帮助CPU并行处理多个业务。

ASIC中已集成各种IP,为何不把FPGA也嵌入到其中?

从ASIC的发展历史看,ASIC最开始只是逻辑资源,但是后来集成了越来越多的功能,如存储器、锁相环、高端收发器、CPU、DSP等等。有这么多的IP集成到ASIC当中,那么为什么嵌入式FPGA IP不能放在其中?Blake先生表示,其原因有二:1,市场上没有人愿意提供这个技术;2,这个技术太贵。

要想在eFPGA领域成功的话,需要具备两个重要因素:1,要有FPGA专长,包括设计FPGA的能力和经验,要有很好的软件去做布线布局,要有许多的客户经验;2,要知道eFPGA IP如何与SoC集成。另外,FPGA设计需要有好的软件。Achronix提供全功能的ACE(Achronix CAD Environment)工具,从综合直到编程到芯片中,并且在不断地优化和增强。

2016101400034

图3:Achronix提供全功能的ACE工具。

2016101400035

图4:ACE在不断加强。

Achronix在设计Speedster22i独立式FPGA时在美国硅谷和印度班加罗尔有两个团队,分别负责开发FPGA内核和SoC(FPGA周边集成第三方IP)。

2016101400036

图5:Speedster22i独立式FPGA设计,美国硅谷和印度班加罗尔有两个团队,分别负责开发FPGA内核和SoC。

eFPGA到底能实现哪些好处?

对于FPGA来说,FPGA内核和周边逻辑的尺寸各占一半。如果能够将FPGA放在SoC中,其周边逻辑(IO)便可以省去(因为SoC中含有),而且也能节省成本。PCB上省去了FPGA,因此尺寸可以减少,层数可以减少(高端FPGA连接到SoC,在电路板上会需要很多层),可改善信号完整性问题(FPGA和SoC用高速SerDes连接,设计信号完整性需要花很多工夫),FPGA外围元器件(电容、电源调节器等)可以省去。

2016101400037

图6:eFPGA降低芯片尺寸和系统成本。

外部IO的功耗可以大幅减少。购买独立的FPGA不可能做到逻辑资源恰好满足设计需求,而eFPGA可以实现定制化设计,功耗也能相应减少。

从成本来看,电路板的层数减少,成本相应减少。由于是客户自己制作,FPGA裸片的成本及FPGA厂商的利润(FPGA厂商的利润都不错)也可以省去。

2016101400038

图7:eFPGA降低系统功耗以及成本。

另外,在延迟方面,因为传统的独立式FPGA采用高速SerDes收发器转接时需要经过很多的协议、软件和封装,所以需要很长时间。如果将FPGA嵌入到SoC中,接口将会非常简单,延迟可以大幅减少——2ns(1个时钟周期)或0ns(0个时钟周期,不经过寄存器)。

2016101400039

图8:独立式FPGA对Speedcore eFPGA。

下图为Speedcore eFPGA和竞争对手中端器件(Xilinx XCKU025、Altera GX160)作比较。因为独立式FPGA管脚数受制于封装,eFPGA可以实现10倍接口带宽。eFPGA的延迟也从外挂式FPGA的大约30ns到50ns得到显著降低,因此非常适用于高性能计算、数据中心硬件加速等(带宽、性能、功耗都有很大提升)。

2016101400040

图9:Speedcore eFPGA相比竞争对手中端器件可实现10倍接口带宽和更低延迟。

怎样将eFPGA成功应用到客户方?

那么,怎样才能将eFPGA成功应用到客户方?Blake先生表示,虽然这个产品现在才发布,但该公司已经做了3年开发,并已将其用到几个客户那边。

他表示,Achronix会根据客户定制化的需求,如需要多少资源、什么工艺,提供固定IP(包括GDSII、仿真文件等)以及软件(根据IP来定)。Speedcore eFPGA最开始是采用的台积电16nm FF工艺。如果客户需要新的工艺或Foundry厂商,Achronix需要4到6个月进行转移。但是如果定下了工艺,如果客户需要不同资源,几周就可提供。之所以能够这么快速提供,是因为在定义时,所有资源都采用的是模块化设计(一列一列的),可以很快将它们拼接在一起。比如做5G设计需要有更多DSP,那就多给几列DSP;做高性能计算需要更多存储器,则可以多给一些存储资源。

2016101400041

图10:Speedcore eFPGA所有资源都采用模块化设计,可以很方便地拼接。

另外,Achronix使用标准的IP产品商业模式供货(类似于ARM),具体包括:授权许可Speedcore技术;对使用Speedcore IP的器件按出货量收取知识产权使用费;对ACE设计工具进行维护。

20160630000123