时下,机器学习是一大热门话题,它与传感器融合密切相关,对计算提出了很高要求。FPGA作为CPU的加速引擎,也是因特尔收购Altera的重要原因。Achronix公司嵌入式FPGA(eFPGA)新技术,各方面性能和功耗相比传统FPGA都有很大优势。今年,该公司推出的Speedcore定制单元块(custom block),又为eFPGA的性能带来了更大提升。

Achronix半导体市场营销副总裁Steve Mensor日前在媒体发布会上告诉记者,Speedcore定制单元块是标准单元ASIC实现和功能,可以在eFPGA内部由用户自定义。

20171027-eFPGA-stevemensor

Achronix现有三个产品线。前两类产品请见EDN此前报道《瞄准协处理器/SDN/5G巨量市场,看eFPGA如何击破带宽/延迟/功耗/成本问题》,Speedchip是新增的第三类产品线。“FPGA多晶粒组合封装(chiplet)的每款器件都是定制的,因此比Speedcore更灵活,而且性能更高。”Mensor表示。

20171027-eFPGA-1

Mensor透露,Achronix在2017年实现了强劲的销售收入及业务量增长,销售收入将超过一亿美元。Speedcore是Achronix增速最快的产品。2015年,Speedcore开始参与客户项目评估;2016年第三季度实现了向首批客户供货。在集成电路工艺技术方面,该公司基于TSMC 16nm工艺的器件已量产,基于TSMC 7nm的器件将在2018年上半年完成测试芯片和首批设计。

另外,他表示,Achronix提供ACE设计工具,对该公司三种产品都提供支持。同时,Speedcore可由客户定义资源组合和容量,最大可达200万个查找表(2M LUT)。

有关Speedcore定制单元块的细节

“Speedcore的一个基本单元叫做一个簇(cluster)。从图中可以看出,DSP64占用2个基本单元高度,BRAM占用3个基本高度。所有的资源都是按列排列,具体数量可以根据客户需要进行配置。F1和F2是客户自定义的功能,大小不一,也是按列排列。”Mensor说。“这些小的单元需要多少个就拼多少个在一起。每个单元实际上是一个交换矩阵加一个交换资源,比如DSP是一个交换矩阵加一个交换资源,这样就可以拼接。”

20171027-eFPGA-2

下面这张图是字符串搜索的例子(这句话是查尔斯·狄更斯(Charles Dickens)《双城记》中的开篇名句)。用CPU去查找wisdom这个单词,它需要逐个字母去查找,会用到多个CPU周期,而用FPGA去查找就能一次性完成。

20171027-eFPGA-3

Mensor表示,Achronix Speedcore eFGPA嵌入式FPGA可加速数据密集的人工智能(AI)/机器学习、5G移动通信、汽车高级驾驶辅助系统(ADAS)、数据中心和网络应用。Speedcore定制单元块可以大幅度提升性能、功耗和面积效率,并支持以前在FPGA独立芯片上无法实现的功能。利用Speedcore定制单元块,客户可以获得ASIC级的效率并同时保持FPGA的灵活性,从而可以将功耗和面积降至最低,同时使数据流量实现最大化。

20171027-eFPGA-4

随着新一波智能数据密集型应用的兴起,基于传统的CPU架构已经无法满足这些新应用中计算需求的指数级增长,推动了对全新的、异构的、带有可编程硬件加速器的计算架构的需求。Speedcore eFPGA提供了性能最高而成本最低的硬件加速,而现在借助Speedcore定制单元块,过去在独立FPGA运算结构中运行缓慢且消耗大量资源的功能,都可以面向最高性能和最小芯片面积这些目标进行优化。

Mensor具体介绍了几个案例进行说明,如下:

● 通过为矩阵乘法运算优化数字信号处理器(DSP)和存储单元块,基于卷积神经网络(CNN)的YOLO目标识别算法的芯片面积被缩减了超过40%。

● 如果用Speedcore定制单元块来实现,需要并行比较器阵列的大型字符串搜索功能的片芯面积可以缩减超过90%。

● 桶形移位器(Barrel shifter)和二进制位处理结构也可以在Speedcore定制单元块中完全实现,从而在同样的面积中实现更大的、更精妙的应用,提升了可获得的频率。

● 一个运行在800MHz的400Gbps包处理数据通道的核心功能也可以用Speedcore定制单元块来实现,其可编程逻辑管理分析和控制功能。今天的FPGA独立芯片不能为包处理应用提供这么高的数据吞吐量。

20171027-eFPGA-5

20171027-eFPGA-6

20171027-eFPGA-7

20171027-eFPGA-8

“业界领袖对Speedcore定制单元块及其可发挥的潜力倍感兴奋。”Mensor表示。“目前与我们合作的公司都在打造下一代异构计算平台和高带宽通信系统,他们正在构建高性能的硬件加速器,可以随着其计算算法的演进而不断调整。现在,Achronix eFPGA IP产品在添加了Speedcore定制单元块以后,就使其在拥有可编程性的同时还能够拥有ASIC级的性能以及高片芯面积效率。”

Speedcore定制单元块的定义过程

Speedcore定制单元块由Achronix与其客户共同定义,这需要一个详细的加速工作负载架构分析,作为性能和/或面积瓶颈的重复性功能被评估为潜在目标,有可能被硬化而进入Speedcore定制单元块。随后,Achronix将为客户提供一个用于基准测试和评估的新版ACE设计工具,它包含了带有定制单元块的、新的Speedcore eFPGA。根据需求,该过程可以被多次迭代,为客户的系统创建优化的解决方案。

ACE设计工具提供的支持

Achronix的ACE设计工具全面支持Speedcore定制单元块,可以与存储器和DSP单元块相同的方式,提供从设计捕获到比特流生产和系统调试等功能。Achronix为每个Speedcore定制单元块创建了一种独有图形化用户接口(GUI),它可以管理所有的配置规则。ACE拥有Speedcore定制单元块所有配置的完整的时序细节,支持ACE去完成各种设计基于时序的布局和布线。客户可以用强大的版图规划器来优化设计,并为所有的单元实例去制定局域或者定点的任务安排。ACE还包括一个关键路径分析工具,它可以支持客户去分析时序。客户还可以使用ACE强大的Snapshot嵌入式逻辑分析仪,去创建复杂的触发器并展示Speedcore内的实时信号。