FPGA:AI ASIC的必经之路?

发布者:Serendipitous55最新更新时间:2018-08-22 来源: 矽说关键字:FPGA  ASIC 手机看文章 扫描二维码
随时随地手机看文章

来源:内容来自「矽说」,谢谢。 


想起写这篇矽说的起源是一个月前的AI界大新闻——知名AI硬件公司深鉴被FPGA巨头Xilinx收购,传说中的交易金额在n亿美金不等,大家纷纷感概创始人的财富自由与高尚情怀(给清华大学捐了500万,简直是国内由学、研至产再回馈学的典范),一时佳话。与此同时,各种危言耸听也开始流传,如AI领域的垂直整合大幕即将开启,泡沫破灭已经不远矣的恐惧也落在雨后春笋般崛起的AI硬件公司中。


我并不想去评断那个商业行为背后的动机,只是想以此为契机从技术的角度,略略讨论下这次收购背后的关键因素——FPGA和ASIC的在AI计算中衔接关系。因为并不是专家,所以如有错误理解请指出。


从FPGA到ASIC,异曲同工还是南辕北辙?


在国产AI硬件三强“寒地深”中,deephi最强的当属其面向AI的专用design kit —— DNNDK以及其FPGA的实现,其中涵盖了其大杀四方的必杀技——稀疏化网络。做AI硬件的如果没有看过剪枝(prunning)就可以放弃科研了。


与此同时,deephi也有其ASIC产品线——听涛系列SoC。



我们假设听涛的亚里士多德结构传承自深鉴在Zynq 7020上的Aristotle架构(Aristotle是亚里士多德的英文),即下图: (注:这里是姑妄言之随便臆测,这个假设很有可能是不对的)


那么,问题来了 AI硬件的架构最优解是否从FPGA 到 ASIC是一以贯之呢?


这个问题还需要回到FPGA和ASIC的设计的价值观。随着FPGA芯片的发展不断深化,在一个FPGA fabric中,核心基础模块早已不仅仅是查找表(Look Up Table, LUT)。在以算力为主要矛盾的FPGA设计中,(典型例子是神经网络),FPGA中的DSP和BRAM IP的高效率决定了该设计的最终性能。


让我们来看看目前应用广泛的Xilinx 7系列的dsp48 macro IP,其基本架构如下图,基本可以理解为一个可配置乘加模块,值得注意的是其输入位宽,25位和18位,输出位宽可以达到48位。



这时候,尴尬的故事发生了,DNN,特别是端测DNN的大部分应用仅仅需要8位精度,如果用牛逼的dsp48就是大炮打蚊子,如果用LUT综逻辑时序又无法满足。这个时候,Xilinx官宣了一份白皮书WP487,给出了一种在NN场景下一个dsp48怎样实现并行实现两个8-bit精度的方法。简而言之就是把两个8-比特数拼成一个27位的数,当中隔了10位然后和第三个数相乘,乘法的结果的MSB和 LSB分别是两个乘法的结果。总之,尴尬癌还是有那么点的。

在这个场景下,每次MAC需要3个周期才能完成,复杂的流水线实现会给带来很多debug的空间。然而在ASIC实现中,8-bit MAC仅仅需要一个周期,跑到500MHz是分分钟的事情。由此,如果照搬FGPA的RTL到ASIC,那将带来许多平白无故的性能损失。该问题可能在时下越来越流行的低精度神经网络中越来越显著,比如在ISSCC 2018中韩国KAIST提出的新形复用MAC,在乘加内部做了新逻辑,完全超出了FPGA的mapping范围,但是其在功耗性能上的优势显著。


同样的问题还发生在片上RAM的使用。笔者认为,CNN专用处理器和经典SIMD计算/矩阵乘加速器 最大的差别,就是在于利用CNN的数据复用实现多样化的data flow上。而实现各种data flow的切实需求就在于有一个不大不小的scratchpad用于实现存储partial sum。目前主流的设计,每个MAC对应scratchpad大小在0.5kb-2kb左右。而FPGA片上macro IP(RAMB18E1)提供的BRAM/FIFO 的单位尺寸为18kb,显著地大于scratchpad的需求。于是这个scratchpad在FPGA上的实现又陷于两难,直接综合将消耗大量的LUT中DFF的资源,如果用片上macro,又有一定程度的浪费,并且挤压了用于存储feature/weight的空间。由于这个scratchpad大小的尴尬处境,很多FPGA的DNN实现专注在矩阵乘法(Matrix product)的实现上,而放弃了在CNN/DNN中复杂data flow的支持。同样地,这个问题在以RAM compiler为基础的ASIC实现上毫无问题,毕竟ASIC设计中可以自由配置scratchpad的大小。


综上所述,FPGA和 ASIC在面向AI的专用设计中,虽然表面都是写RTL,但是在具体架构和思想上已经有了较大的差异。FPGA设计的最优解是最大化底层marco IP的拼积木设计,而ASIC却完全没有这样的限制,以放飞自我的方式寻找可能。由此,照搬FPGA而来的ASIC很有可能在某种程度上受这些限制的影响,也无法达到存在的ASIC最优解。这或许也是为什么深鉴在FPGA原型开发完成之后,还付出了大量努力才能完成真正ASIC设计的原因。


FPGA原型验证:食之无味,弃之可惜?


传统意义上,FPGA出现的一个重要因素是为了给ASIC做原型验证(Prototyping)的。不可否认,原型验证仍然是FPGA的一个重大市场。



在AI应用中,除了对RTL code的功能验证和高速仿真外,FPGA Prototyping对于产品的更重要优势在于,更早地让嵌入式软件设计(Embedded Software Development)进入整体设计流程。软件领域的bug和灵活度的数量级往往都远高于硬件,如果等ASIC流片完了再对软件和系统接口着手,那也是白白浪费时间。原型验证的一大优势就是尽早地从系统和集成的角度,以硬件原型着手进行软件与嵌入式的开发。而于此同时后端以及流片的ASIC研发时间可以同步进行。


但和RTL simulation相比,Prototype的debug性差也是路人皆知的。常见的FPGA Prototype的debug方法是人为的在RTL中设置观测点(probe),调用片上BRAM存储,然后用类似JTAG的串口方式读取存储信号,再现波形。显然地,这种观测方法方法是在和有实际功用的RTL竞争片上BRAM资源,特别是在存储深度大,位宽宽的情况下。更严重的问题是如果发生了新一轮规模性的修改probe,而导致的重新综合与实现可能会耗去大量时间,可能还不如simulation的效率高。目前主流的FPGA的debug方案基本都是如上思路,如下图中的ChipScope+ILA模式。



不仅如此,FPGA prototyping在复杂时钟设计中的表现也令人堪忧。对于FPGA的初学者,门控时钟(clock gating,CG)几乎是完全不推荐的。而作为最主流的ASIC降功耗手段,CG几乎存在AI芯片的每一角落,特别是在具有稀疏性的网络中,门控时钟是最简单易行的降低功耗的做法。FPGA对这一特点的弱支持将导致原型验证可能存在不完整性问题。除此之外,多时钟域的问题在FPGA的原型验证也是一个问题,由于FPGA片上的PLL资源受限,在原型设计中也将收到诸多限制。


上述种种原因的情况下,FPGA作为AI芯片的原型验证重要平台,虽然仍是不少产品的重要选项,但是目前的受到的挑战令他越来越后继乏力。


Hardware Emulator,领域专用的FPGA


随着集成电路EDA工具的发展,一个兼具良好debug性能,又可接近原型功能提供软件开发的便利的新型SoC系统开发工具正在崛起——hardware emulator(硬件模拟器)。可以说它兼具了simulation和prototype的优点,又在很大程度上弥补了缺点。目前主流的EDA工具开发商均提供emulator平台,并且期望在不远的将来,实现以emulator为中心的SoC开发流程。Synopsys 家的Zebu,Cadence家的Palladium和Mentor家的Veloce。其中Zebu就是以Xilinx的高端FPGA为基本元件搭建的。


从技术角度上,FPGA emulation 和 prototype的差别在于——emulator的RTL mapping是将原本的RTL分解映射(partition)到多块FPGA上,每块FPGA本身还集成了用于debug的观测硬件部分的代码。在Partition同时,设计EDA软件还关注模块间的通信行为,通过FPGA集成的高速传输(high speed link)和路由(router)特性完成实现SoC partition,避免了在单一FPGA中硬件资源受限制的问题。



下图从性能的角度比较了以FPGA为核心的原型验证平台与模拟器平台的上的区别。可以发现,emulator虽然在速度上并不具有优势,但是,其在内部数据的可观测性,以及由此带来的debug的可实现性能,均具有明显的优势。可以说,基于FPGA的模拟器正在并非对AISC 设计原代码的直接映射,反之是在源代码基础上通过Partition, Interconnection,Probe-serialization等一系列RTL的再生成后,产生的新RTL的映射。拿时髦的话来讲,emulator是领域专用的FPGA Prototyping。



当然,FPGA emulator有一个明显的劣势,那就是贵!对于刚过门槛的AI 硬件startup们,购买一台emulator是真的在流血。但即使如此,随着AI ASIC对于系统和应用的要求越来越高,未来基于FPGA的Emulator取代基于FPGA的Prototyping是否将成为一种潮流?让我们拭目以待。


FPGA AI:是否需要走ASIC的老路?


如前所述,FPGA设计很难直接照搬到ASIC。事实上,FPGA上的AI应用是否真的要走传统ASIC的老路,即“发现需求——定义产品规格——上量大规模出货——以年为时间单位更新换代”?我们认为,FPGA的可重配置特点让它完全没有必要走这条路,而是可以走更接近于软件开发模式的道路。一个例子就是最近流行的云端FPGA instance(AWS,阿里云等),用户可以根据其自身的需求在云端FPGA instance上烧入相应的bit-stream,从而让FPGA能成为针对你应用的专用加速器。另一个云FPGA的好处在于潜在地统一了FPGA的选型,令开源工作的移植减少了很多不必要的配置bug。著名的NVDLA的FPGA版本就以支持AWS的FPGA平台为主要方案。


至此,FPGA AI这样一来设计迭代速度(尤其是配合了Chisel,HLS等敏捷开发流程之后)可以远远快于传统ASIC流程,同时硬件的能效比则远高于传统的CPU/GPU。这一招在异构计算得到越来越多重视的今天可谓是迎合了潮流(关于异构计算详见RISC-V与DSA! 计算机架构宗师Patterson与Hennessy 演讲实录)。这也是为什么我们看到微软,亚马逊都纷纷在云端数据中心部署FPGA,而Intel则也在往高端CPU里加入Altera FPGA。未来,这种新的模式可望成为FPGA市场的一个新成长点,值得我们关注。


最后做个小总结,


(1)对于AI硬件的实现而言,FPGA和ASIC的 优化路径有很大区别,从FPGA到ASIC的直接移植并不是一种高效的做法。

(2)强调一下这里并不是说基于FPGA的AI实现就没有未来,(相反我觉得还潜力无限),本文只是对于从FPGA到ASIC的直接移植提出了一点小想法。我们预计FPGA将会配合敏捷设计拥有自己的新生态。

(3)FPGA对SoC设计流程的影响正在从原型验证往硬件模拟的角度发展,你的产品有没有掉队呢?


关键字:FPGA  ASIC 引用地址:FPGA:AI ASIC的必经之路?

上一篇:SK电讯部署赛灵思FPGA用于AI加速,超越GPU实现5倍性能
下一篇:CIOReview杂志:Achronix将高性能计算市场中的界限推到了更远

推荐阅读最新更新时间:2024-05-03 03:12

如何使用自带外设IP让ARM PS访问FPGA
  本文为玩转赛灵思Zedboard开发板(4):如何使用自带外设IP让ARM PS访问FPGA?,内容精彩,敬请对电子发烧友网保持密切关注。本文的目的是使用XPS为ARM PS 处理系统添加额外的IP。从IP Catalog 标签添加GPIO,并与ZedBoard板子上的8个LED灯相连。当系统建立完后,产生bitstream,并对外设进行测试。本文给出流水灯实现过程 的详细步骤截图。更多赛灵思(Xilinx)Zedboard基础知识、相关手册以及应用实例将陆续推出,以飨读者,敬请期待。【本文的完整工程文件下载:见本文最后。】   硬件平台:Digilent ZedBoard;开发环境:Windows XP 32 bit;软
[单片机]
如何使用自带外设IP让ARM PS访问<font color='red'>FPGA</font>?
Xilinx与台积公司联手打造拥有最快上市最高性能优势的FPGA器件
赛灵思公司 (Xilinx, Inc. (NASDAQ:XLNX) )和台积公司公司(TWSE: 2330, NYSE: TSM)今天共同宣布联手推动一项赛灵思称之为“FinFast”的专项计划,采用台积公司先进的16纳米FinFET (16FinFET)工艺打造拥有最快上市、最高性能优势的FPGA器件。双方分别投入所需的资源组成一支专属团队,针对FinFET工艺和赛灵思UltraScale™ 架构进行最优化。基于此项计划,16FinFET测试芯片预计2013年晚些时候推出,而首款产品将于2014年问市。 此外, 两家公司也在共同合作藉助台积公司的CoWoS 3D IC制造流程以实现最高级别的3D IC系统集成度及系统级性能,
[嵌入式]
一种高速帧同步和相位模糊估计的方法及其FPGA实现
0 引 言   数字通信中的消息数字流总是用若干码元组成一个“字”,又用若干“字”组成一“句”。因此,在接收这些数字流时,同样也必须知道这些“字”、“句”的起止时刻,在接收端产生与“字”、“句”起止时刻相一致的定时脉冲序列,统称为群同步或帧同步。帧同步的检出一般可用相关检测技术完成。以往数据通信中的速率不是很高,相关检测的问题容易解决,但数字通信的日益高速率化的趋势,对实时状态下的相关检测提出了新的难度挑战。实际上,很多高速数传系统比如中继卫星通信系统,要求用户星和地面站下行链路间的传输数据率越来越高,达到了数百兆甚至上千兆的水平。在这样的高速环境下对数据进行实时的处理,就更加困难。   PSK调制在通信领域得到了广泛的应
[嵌入式]
一种高速帧同步和相位模糊估计的方法及其<font color='red'>FPGA</font>实现
基于FPGA技术的交通灯控制系统设计
交通灯是城市交通监管系统的重要组成部分,对于保证机动车辆的安全运行,维持城市道路的顺畅起到了重要作用。目前很多城市交叉路口的交通灯实行的是定时控制,灯亮的时间是预先设定好的,在时间和空间方面的应变性能较差,一定程度上造成了交通资源的浪费,加重了道路交通压力。本文在EDA技术的基础上,利用FPGA的相关知识设计了交通灯控制系统,可以根据实际情况对灯亮时间进行自由调整,整个设计系统通过Max+PlusⅡ软件进行了模拟仿真,并下载到FPGA器件中进行硬件的调试,验证了设计的交通信号灯控制电路完全可以实现预定的功能,具有一定的实用性。 1 系统设计要求 所设计的交通信号灯控制电路,主要适用于在两条干道汇合点形成的
[嵌入式]
基于FPGA的数字核脉冲分析器硬件设计方案
在此基础上通过电路设计建立了数字化能谱测量实验装置,实测了137Cs的能谱,测量结果与相同条件下的模拟能谱仪的实测谱完全吻合。由此证明基于FPGA的数字多道脉冲幅度分析器硬件设计方案的正确可行,具有实用性。 0 引言 多道脉冲幅度分析仪和射线能谱仪是核监测与和技术应用中常用的仪器。20世纪90年代国外就已经推出了基于高速核脉冲波形采样和数字滤波成型技术的新型多道能谱仪,使数字化成为脉冲能谱仪发展的重要方向。国内谱仪技术多年来一直停留在模拟技术水平上,数字化能谱测量技术仍处于方法研究阶段。为了满足不断增长的高性能能谱仪需求,迫切需要研制一种数字化γ能谱仪。通过核脉冲分析仪显示在显示器上的核能谱帮助人们了解核物质的放射性的程度。 1
[电源管理]
基于<font color='red'>FPGA</font>的数字核脉冲分析器硬件设计方案
基于循环前缀ML估计的同步分析及FPGA实现
   引言   正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)技术已经成为第四代移动通信研究的热点,同时,OFDM同步又是OFDM的关键技术,研究OFDM同步技术的目的就是为了防止码间干扰和载波干扰。当前OFDM同步的算法是根据OFDM原理提出的基于数据符号方法,它的优点是捕获快、精度高,适合分组数据通信,具体的实现是在分组数据包的包头加一个专门用来做定时、频偏的OFDM块。基于数据符号的算法又可以分为两类:基于训练符号(导频码)的方法和基于循环前缀(CP)的方法。其中基于循环前缀的方法是在OFDM符号中插入保护间隔,保护间隔取符号尾部最后若干个样点的复制,当其中的
[嵌入式]
基于循环前缀ML估计的同步分析及<font color='red'>FPGA</font>实现
FPGA与MSP430通信 UART串口操作
个人感觉,FPGA对数据的处理相对麻烦。在之前的等精度测频法中,明明是简简单单的一些除法,却需要引入IP核来进行一步一步的浮点数运算,当时为此死了很多脑细胞,比较详细的内容见我早一些时间的吐槽博客:Verilog设计练习 基于FPGA的等精度频率计_Krism0912的博客-CSDN博客_用verilog设计等精度频率计 所以最好的是FPGA采集一些基本数据量,然后直接传到电脑或者其他地方进行处理,免得浪费一大把好时光。。 这次是对FPGA串口操作进行的一些调试,FPGA的书写代码有参考网上的资源,不过进行了大幅度的更改,参考的代码太过久远突然找不到了、、 由于FPGA比较常用给别的MCU发数据而不是收数据,所以
[单片机]
<font color='red'>FPGA</font>与MSP430通信 UART串口操作
英特尔和Altera在嵌入式展上发布专为AI打造的边缘和FPGA产品
全新的边缘优化处理器和FPGA在零售、工业和医疗保健等边缘计算市场中推动AI无处不在 今天,英特尔及其子公司Altera在嵌入式展(Embedded World)上,宣布推出全新边缘优化处理器、FPGA以及市场就绪的可编程解决方案,致力于将强大的AI功能扩展到边缘计算。这些产品将为适用于零售、医疗保健、工业、汽车等行业的人工智能边缘设备提供动力。 英特尔公司副总裁兼网络与边缘解决方案事业部总经理Dan Rodriguez表示,“下一代英特尔边缘优化处理器与独立GPU,可发挥强大AI功能,从而助力企业将AI与计算、媒体和图形工作负载更加无缝地结合。从制造业到医疗保健行业,英特尔凭借其丰富的边缘AI经验,及边缘就绪芯片
[网络通信]
英特尔和Altera在嵌入式展上发布专为AI打造的边缘和<font color='red'>FPGA</font>产品
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved