新闻  |   论坛  |   博客  |   在线研讨会
让FPGA定制进专用芯片,Achronix祭出custom blocks(定制单元块)
wangying | 2017-11-08 13:09:28    阅读:21026   发布文章

                      让FPGA定制进ASIC/SoC
          顾名思义,FPGA就是“可编程”逻辑阵列,特点是通用性,利用编程实现各种功能。但是Achronix让它定制化了。看看Achronix怎么说。

          纵观FPGA的技术创新史,传统FPGA制造商所关注的提供通用的可编程功能,例如上世纪80年代提供基于SRAM LUT的功能,90年代推出嵌入式RAM存储器,2000年代推出加强数学运算的DSP,2010年代加入SerDes和硬化的I/O协议。他们的共同特点是通用性强,因此一块FPGA可以卖给不同的客户,但是缺少定制性。
QQ截图20171108112929.png  

图:FPGA的技术创新史
             为此,Achronix公司不久前推出了定制化的custom blocks(定制单元块)。名为Speedcore Custom Blocks的IP新产品可加速数据密集的人工智能(AI)/机器学习、5G移动通信、汽车先进驾驶员辅助系统(ADAS)、数据中心和网络应用。该公司的Speedcore嵌入式FPGA(eFPGA)IP产品已于2016年10月问世,特点是可以把FPGA嵌入到ASIC或者SoC之中。
1.png

图:独立FPGA与嵌入式FPGA(eFPGA)的版图布局
                     eFPGA推高Achronix营收
            Achronix公司在京新闻发布会上,公司市场营销副总裁Steve Mensor向电子产品世界记者介绍了这款产品的推出背景及新产品架构。

            定制单元是FPGA的一项全新创新,可以大大缩小芯片的面积,提升芯片的性能。通过这种客户bolck的协议,可以分布在内部,提供非常高的灵活度。

Archronix目前有三个产品系列:独立芯片,嵌入式FPGA内核,和客户的芯片进行组合封装(如下图)。
2.png

图:Achronix的FPGA产品线

           Achronix将在2017年实现强劲的销售收入和业务量增长,预计2017年第四季度完成后,销售收入将超过1亿美元。
          其中,Speedcore是三种产品中增速最快的产品。2016年10月第一次向媒体发布,目前在公司营收中占25%份额,预计未来三年内将为公司整体利润贡献50%。
          Speedcore的新产品推出速度也很快:2016年第三季度首次向客户供货,基于16nm产品已经量产,目前正在开发7nm产品,预计2018年中可以向客户供货。
          Achronix独立的FPGA/Speedster和eFPGA/Speedcore都是由Achronix ACE设计工具提供支持。优势是完全可以定制的IP,包括LUT等资源数量、类型的比例和长短比例等。当前该版本可以支持最大2百万个查找表(LUT)。
                      custom blocks怎么用?
          Speedcore是列形式组织,有非常高的灵活度。当前的版本成熟,支持逻辑、DSP、BRAM和LRAM。DSP适合视频处理和无线通讯。Memory(内存)在网络中的应用也是常见的,其中BRAM是大尺寸的内存,LRAM是小尺寸、分布式的内存。DSP和RAM也是列形式的组织,和逻辑的组织形式是类似的。

           Speedcore Custom Blocks的组织方式和传统的DSP、RAM和logic的组织方式是一致的,也是以列形式放置在架构中。数量多少可以灵活调节,如下图的棕色和紫色单元块是Speedcore Custom Blocks。

3.png 
图:Speedcore的列形式组织

                        硬件加速器能应对计算量大幅增长
          当前我们正遇到计算量越来越大的挑战。据Cisco的网络指数分析报告,整个网络中的数据量越来越大,基于此产生产生的应用类型越来越多。因此也需要越来越强大的计算处理能力来支持这些应用开发,例如针对5G通信、高性能计算(HPC)、网络加速和自动驾驶等。如果可以考虑数量量和应用类型的增长。实际上这些应用对计算能力的需求增长呈指数性增长。

            为了应对计算能力的急速增长,会对硬件的性能提出更新的需求。过去传统CPU/冯.诺依曼架构,计算能力的提升是通过提指令、取数据的串行方式来实现。为了提高性能,只能增加CPU/核的数量,提高单位CPU/核的频率。但这种方式的缺陷是会在一定的物理限制(诸如功耗和面积)下会达到极限,在某一拐点上增长不会按照预期进行了(如下图)。
0.png 

图:CPU的演进史

          为了克服这种增加CPU/core的挑战,传统行业提出了异构计算,由外部的硬件加速来协助CPU进行数据处理。传统的CPU可以作为控制流或进行较为简单的计算,硬件加速器可以并行处理大量计算。这种组合可以大幅提升计算速度。例如下图的eFPGA就可实现硬件加速器功能。

1510118267433133.png

图:硬件加速器的应用

        eFPGA的应用案例,例如字符串(string search)查找功能,在传统CPU构架中查找一个单词,要消耗很多CPU cylce(循环),例如需要72 cycle,如果可编程硬件加速器,1个cycle就完成了。
         那么,如何将大型FPGA功能放入一个面积很小的片芯中呢?可以利用eFPGA的高效面积使用率,采用custom block自定义单元块(注:与客户一起定义的),通过这种组合,可以将相关片芯面积缩小6倍!

                           为何eFPGA比标准FPGA更高效?
         主要有如下三大原因。
         *原因1。如下图,传统FPGA构架中,周围的红色边框放置可编程I/O、高速SerDes及各种接口控制器,这些会占有30%~40%面积。如果做成嵌入式FPGA,这些面积可以省掉。下图公式展示的FPGA和片芯面积的比例。

12.png

图:核心电路与边缘电路的比例

           *原因2。微软在其有关Catapulit项目(注:某云加速与计算项目)的白皮书中介绍了一种云规模的加速架构。其中增加了一些术语,有shell(壳)和应用。shell是I/O及电路板相关的逻辑电路,应用是在核心逻辑上实现的核心应用。

          在此研究中,这些shell一旦固定到应用中,这些可编程不能被可编程(即固定下来了)。另外,核心应用是会改变的。因此如果拿掉shell,会节省44%的面积。

13.png 
图:如果去掉shell,会节省近一半的面积(注:左右两图的左上角均为“FPGA IO”)

           *原因3。在把shell剥去的基础上,又增加了自定义的custom block,这是由客户自定义的,分布在speedcore架构之中,有了这种custom block,面积会缩小75%,同时有更低功耗和更高的性能。

            基于以上三个原因,即裁剪了FPGA的可编程I/O,shell资源去掉,另外提高了custom block,因此片芯面积大大缩减(如下图)。

1510118484459531.png

图:与独立FPGA相比,把Speedcore的三个优势

                          小结
          Achronix公司不久前推出的定制化的Speedcore custom blocks(定制模块),可以实现最小的片芯面积,提供ASIC级的性能,去构建独立FPGA芯片无法提供的功能。
          Achronix作为FPGA的后来者,今年也要跨入1亿美元俱乐部。新产品Speedcore 推出一年已占营收1/4,未来三年将占半壁江山。在夹缝中生长,Achronix的商业模式就是不走寻常路。    


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客