怎样用FPGA做产品设计?
扫描二维码
随时随地手机看文章
FPGA简介
FPGA(Field Programmable Gate Array)于1985年由xilinx创始人之一Ross Freeman发明,虽然有其他公司宣称自己最先发明可编程逻辑器件PLD,但是真正意义上的第一颗FPGA芯片XC2064为xilinx所发明,这个时间差不多比摩尔老先生提出著名的摩尔定律晚20年左右,但是FPGA一经发明,后续的发展速度之快,超出大多数人的想象,近些年的FPGA,始终引领先进的工艺。
FPGA发明后,在这个行业里面曾经出现过不少玩家,比如xilinx、altera、lattice、actel、cypress,atmel等,经过十几年的厮杀,玩家逐渐减少,这些公司或者出售,或者退出,如cypress,atmel完全退出,actel出售给microsemi,altera被intel收购,但这两个厂家还在这个行业。现在国际上的主流厂家实际只剩xilinx,altera(intel),lattice和microsemi四家。而前两者是绝对的霸主,占据市场总份额的近90%,处在第一阵营。后两者份额在百分之十左右,处在第二阵营,但和第一阵营差距非常大。与国际上巨头的兼并和退出相反,近些年国内陆续诞生了一些FPGA设计公司,且有蒸蒸日上的趋势,但在市场份额及技术方面和国际巨头差距非常大,还远未达到挑战领先巨头的实力,后面会对国内厂家做些分析。
下面再来简要介绍FPGA设计,这里的FPGA设计不是研发FPGA芯片,而是用FPGA做产品设计。业界普遍认为FPGA设计门槛很高,相对软件设计,差别在哪呢?现在FPGA的主流设计还是采用verilog设计(早期有使用原理图方式,这个方式更接近硬件搭积木,但大规模的设计无法完成)。用matlab,C语言做算法设计,然后通过工具直接转化为verilog的方式,喊了十几年,到现在还未成为主流,说明工具在转化verilog方面其效果还不如有经验的FPGA人员写的代码。Verilog语言本身非常简单,但FPGA设计的难点并不在语言,而是对FPGA器件内部资源和硬件的熟悉,你写的语言能和你使用的目标器件高效的配合起来,使它的效果、利用率以及程序的可读性达到最优,这个难度就非常大了。笔者曾经牵头编写了某大型公司整个无线产品的coding style,有近200条规定,这些规定是几十个FPGA开发人员多年经验的积累,不按这个来,随时可能是个坑。好的coding style,不仅程序写得很美观,可读性好,也不容易出bug。一般来说,要成为一个有经验的FPGA设计人员,起码得从事相关工作5年以上,经历过3个以上大型项目的锻炼,而且需要有高手带。笔者曾经面试过的大量的FPGA开发人员,基本上从研究所、小公司或者小团队出来的,尽管有些工作了很多年,其底子也不是太好(这里没有歧视研究所和小公司的意思,术业有专攻而已)。因此,如果想在FPGA设计领域做得很深入,国内著名通信设备厂家绝对是最好的选择,没有之一。当然,如果有IC设计经验的人,转为FPGA开发,则会快很多,而且基本功也很扎实,但需要补充行业、系统经验。
FPGA从诞生起,就注定和ASIC站在不同的阵营。ASIC是固化好的芯片,不可以进行硬件编程(上面跑软件的不属于硬件编程)而随意改变硬件结构,而FPGA则可以根据设计者的需要改变硬件结构。因此,从灵活性来说,FPGA远强于ASIC芯片,而且FPGA开发周期也比ASIC要短,因此在有些领域或者场景下,FPGA比ASIC有优势,比如通信领域,协议标准还不成熟时,各个厂家大量的私有接口,使用FPGA能快速推出产品,而且高度灵活满足了非标准接口的开发。再比如工业领域,很多功能也可能是非标的,很难找到合适的ASIC芯片,这时FPGA也是很好的选择。但是FPGA也有它的弱点,为了保证灵活性,芯片里面预留了可配置逻辑,即相对ASIC增加了冗余的面积,这样既增加了成本也增加了功耗,这就决定了在有些领域里面它很难竞争过ASIC,比如终端产品,它对低功耗要求比较高。在标准化的产品、功能里面,它不需要那么灵活,这也不是FPGA的菜。因为终端产品量非常大,而且这个世界上大部分东西都是有共性的,即可以标准、通用的可能性大,因此,FPGA在整个芯片行业占比总体来说比较小。这些年FPGA总体市场规模在40亿美金左右(加上CPLD大概在50多亿美金),而2016年全球芯片市场规模大概在4000亿美金左右。
总体来说,由于FPGA本身的特点,决定了它不是在每个行业、产品都适合应用,标准化的,功耗要求很严格的,单价很低的产品都不适合,而这些恰恰是电子产品中占比大的,事实上,FPGA用得比较多的行业主要有通信、工业控制、医疗设备、及高端安防等,以及航天和军工(可靠性要求高,但量不大),未来可能数据中心和AI会是一个爆发点,后面会做分析。
FPGA在各行业的应用分析
在芯片应用行业,计算机和通讯是最大的两个领域,而对于FPGA来说,应用的第一大领域是通讯而不是计算机。PC机虽然数量及其巨大,但PC机里面没有FPGA芯片,原因是PC机是一个高度标准化的产品,因此PC机里面所有芯片用ASIC实现不仅可行,而且是经济的。而服务器、大型机里面开始逐步在使用FPGA,主要用于大数据的协处理,目前量还不大,远远无法和通信产品使用的FPGA相比,但未来潜力很大,后面会做进一步介绍。
通信产品可以从云、管、端层面来划分,端不大适合使用FPGA,如前所述,因为FPGA功耗相对ASIC偏大,至于前段时间吵得沸沸扬扬的lattice FPGA芯片用于三星和苹果7的手机案例,实属特例,千万不要认为未来FPGA能大规模进军消费电子,从而使得FPGA市场规模将成倍甚至数十倍的增加,至少短期内可能性不大。
通信行业讲的云主要包括核心网及各种服务器中心,在大数据和云计算没有规模应用之前,核心网设备里面基本没有FPGA,因为核心网所处理的协议其实非常标准化,变化不是太大,我们常见的2G-3G-4G以及即将到来的5G,其标准的核心部分实际上主要体现在物理层和逻辑层,而这些功能主要在管道(基站、基站控制、承载、传输等产品)中实现,这些标准变化快,各设备厂家为了抢占产品和技术的制高点,甚至在标准还未冻结之前就推出原型样机甚至小批量,而这只有FPGA能做到。一般来讲越往终端侧靠近,设备的数量越多,用的FPGA量也越多,越靠近核心网侧用的FPGA数量越少,但FPGA芯片的型号越高端,单片更贵。考虑量、价因素,最终还是基站侧用的FPGA总价高。[!--empirenews.page--]
为什么是基站(也可以说是管道)最适合用FPGA,而且总价最高。首先因为基站的量非常大,基站虽然和手机的量没法比,但远多于核心网数量,据不完全统计,全球存量基站有数千万(5G部署后,可能会轻松破亿),每个基站里面有数块到10数块板子(根据配置不同而不同),除了电源和风扇板子没有FPGA芯片外,几乎每块板子都有FPGA芯片,有的还不止一颗。其次,基站里面用的FPGA型号也不会太低端,因为要处理复杂的物理协议、部分算法和逻辑控制,接口速率更是一个重要的考虑。一般来讲,基站中的芯片价格在一百到数千元人民币不等。价格过高比如几千甚至上万人民币的芯片,最多在初期原型验证用,不会大规模发货。最后,基站主要负责实现通信协议中物理层、逻辑链路层的协议部分,这部分内容每年都在升级,而且也比较适合FPGA来实现,尤其是协议未完全冻结时,最适合FPGA来处理,因为可以通过升级FPGA版本来应对协议变动,待协议完全冻结后,各设备厂家会逐步以ASIC来替代之前的FPGA,因为量达到一定程度后,ASIC的成本和功耗优势就体现出来了,而且大型设备商的ASIC化能力又非常强,因此FPGA在通信领域主要在初、中期应用比例高,后期能被替代的都被ASIC替代了,只留下一些接口类的FPGA,这也是FPGA厂商必须要面对的一个现实。
除了通信领域,FPGA在安防和工业领域也存在大量应用。在安防领域,视频的编解码比如MPEG和H.26x等协议基本由专用ASIC实现,但是前端的数据采集处理及部分控制逻辑可以由FPGA来处理,因为安防也是一个巨大的产业,因此,FPGA的用量也是非常可观的。工业领域主要用FPGA的灵活性来做控制,而且主要是规模比较小的FPGA。此外,军工和航天也是FPGA应用的一个重要领域,军工和航天对FPGA的可靠性要求更高,除了xilinx和altera有军工产品外,microsemi(前actel)的anti-fuse工艺(一次编程,可以更好的抗干扰和抗辐射等)FPGA因其高可靠性,主要用于军工航天产品。
FPGA未来几年的发展趋势
(1)技术层面
首先从技术上来看FPGA未来的发展,至少在几年内还是遵循摩尔定律的规则,工艺不断升级,目前xilinx 16nm工艺的FPGA已经成熟商用,altera被Intel收购后逐步会切到Intel的工艺上面来,现在也推出基于Intel 14nm工艺的Stratix 10等高端芯片。xilinx下一代产品会升级到7nm,重点应该还是瞄准通信和可能出现的新兴行业如大数据处理等。可以预见的是,未来5年内工艺升级仍然是FPGA发展的主要方向。
其次,要符合未来行业的应用。FPGA市场定位一定是以下游产业发展趋势为依据的。在过去十几年中,xilinx和altera、lattice等公司最重视华为、中兴、爱立信等公司的需求,因为FPGA在通信行业的市场占据了他们营收的半壁江山,所以这些年FPGA公司的Marketing相对来说是比较好做的。曾经有一次lattice的全球Marketing VP 来我这里进行市场需求搜集,说这场会议是他最重视的,虽有恭维之词,但我们确实给lattice创造了在他们公司单一芯片最大销量的记录。FPGA下一个应用热点,一定还是通信,从4G过度到5G,5G初期的量会很大,中后期逐步被ASIC化。另外可能大数据也会起来,毕竟FPGA协同CPU进行数据处理已经在多家大公司得到了验证,微软bing团队用于搜索引擎处理的著名论文更是让业界认同FPGA在数据处理中的优势,后面是逐步上量的过程。人工智能不会那么快上量,一来AI目前还刚起步,究竟是FPGA、GPU、CPU唱主角还在争论中,ASIC商用更早。二来FPGA在AI领域并没有真正成功的商用案例,从开始商用到最后上规模需要比较长的时间。但是一旦FPGA在AI应用成为共识,其市场潜力极其巨大,也许会使得FPGA市场这个盘子迅速突破徘徊多年的4、50亿美金。因为AI和行业密切相关,这决定了AI行业会有大量的中小公司,不像通讯设备行业这样集中到几个大公司,这些小公司没有使FPGA 成为ASIC的能力,可能自始至终都是用FPGA,即使强大到如BAT,在其利润非常可观的情况下,也未必会很快启动自己的ASIC设计来替代FPGA,因此如果AI行业中会大规模使用FPGA,FPGA行业规模将会得到快速增长。
(2)商业层面
芯片行业并购是这几年的主旋律,一方面是巨头们在某些细分领域遭遇到中小公司强有力的竞争,使得他们的利润率收到影响,收购可以减少竞争,维持一定的寡头利润。另一方面行业竞争使得巨头们需要抱团取暖,丰富自己的产品线以进军广泛的市场,如avago收购博通成立新的博通。还有的收购是为了增强协同效应,很显然,Intel 花160多亿美金收购altera不是为了获得altera在通信市场的份额,而是和自己的cpu在云计算、大数据处理方面的协同增效,以维持Intel在未来新兴行业的霸主地位。这样一来,xilinx可能会比较被动,虽然在云计算、大数据处理方面xilinx也推出相应的解决方案,而且也有下游巨头落地的案例,但是如果Intel 在市场上占据了主导,它一定会通过各种方式给xilinx设置相应的门槛,比如FPGA和Cpu之间自定义接口,或者牵头制定相关的协议标准等。xilinx未来是否也会走和altera相同的路还不好说,毕竟能买得起xilinx的芯片巨头一只手都能数的过来,而且还要有相关性,这个范围就更小了,让我们拭目以待。
各巨头市场份额及中国企业的机会
2016年FPGA的总体市场规模在40多亿美金,比2015年增长约10%左右,受通信市场运营商建设周期的影响,这几年FPGA的市场规模在40亿美金上下波动,总体比较平稳。以下是几个主流FPGA厂家15/16年的市场占有率和销售额,xilinx和altera遥遥领先,约占市场份额的90%左右,为第一梯队。Microsemi和lattice为第二梯队,中国厂商在里面属于Others阵营,市场份额大概在1%左右。
可以这么讲,目前中国IC厂商在FPGA这个细分领域和国外巨头的差距远远比其他领域要大,原因很多,其中很重要的一点是FPGA技术门槛非常高,核心技术只掌握在及其少数的公司手上,而且xilinx和atlera手头握有6000多项专利,对后进者形成很高的技术壁垒,国内厂商要么和国外巨头专利交叉授权,要么花钱买专利,但当前我们并没有多少专利可以和xilinx和altera进行交叉许可,购买难度更大,这不仅仅是资金的问题。从canyon bridge收购lattice被美国商务部否决来看,凡涉及到美国国家安全的高新技术公司,我国是不可能通过收购来获得的,lattice在行业内充其量是第二团队尚且如此,业界领先的企业我国更难获得。因此,国内FPGA的发展只能靠自主,虽然这个过程可能会很漫长,但除此之外没有更好的选择。[!--empirenews.page--]
下面从SWOT四个维度简要分析当前国内发展FPGA的前景。
(1)首先说优势。相比较xilinx和altera,国产FPGA厂商目前基本没有绝对优势,只有比较优势,比如起点高,再也不用从微米级技术开始做起,一开始就从几十纳米进入,工艺差距可以缩小到2-3代的水平。另外,中国是FPGA芯片的应用大国,国产FPGA有本土化的各种优势,比如对中小客户需求的理解等比国外巨头要更接地气等。
(2)劣势的话很明显,从专利、技术产品到人才及市场品牌等,国产FPGA厂商都和国外巨头存在很大的差距。
(3)再说机会,当前中国厂商面临的机会比较多,因为从国家层面来看已经把FPGA列为国家战略芯片,政府在这个领域的投入可能会逐步增加,虽然政府直接主导这个产业发展未必是好的方式,但是给予民营企业各方面的支持却是非常重要的。另外,随着中国经济的发展,中国的企业能吸引到更多更优秀的国际化人才加入,尤其是一些高端的FPGA领军人才,对一个企业的发展至关重要。最后,随着人工智能和大数据等新兴行业的发展,FPGA市场容量可能会出现大规模的增长。
(4)最后说威胁。说道威胁,专利是一个。当中国企业还很弱小,远远对国际巨头构不成竞争的时候,这个风险还不大,如果已经形成竞争关系的时候,可能巨头们就会拿起专利武器来捍卫自己的利益,如同中兴、华为在发展过程中遇到的问题一样,这就要求中国的FPGA厂商要苦练内功,在专利和技术方面踏踏实实做好积累,以应对将来可能出现的专利战以及国际化,否则即使能做出产品,可能也走不远。
总体来看,虽然目前中国在FPGA这个领域比国外的主流厂商还存在很大差距,但是考虑到中国经济的发展和综合国力的增强以及政府对芯片产业的高度重视,还有这个市场可能出现的大幅增长,中国的国产FPGA和国外主流厂商的差距会逐步缩小,虽然这个过程会比较长,但趋势是无疑的。
近些年中国陆陆续续诞生了一些FPGA厂商,如京微雅阁、安路、同创、高云半导体等公司,都先后推出自己的FPGA芯片,有的已经在商用,有的在大公司进行样品认定和试验项目,这是一个很好的信号。在今年的“IC-CHINA 2017”大会中,高云发布了3款新品,不仅发布了集成ARM3的SOC FPGA,还有基于55nm SRAM工艺的“晨熙”系列和基于55nm嵌入式Flash+SRAM的“小蜜蜂”4个系列11款产品,基本覆盖了lattice 70%~80%左右的产品,特别是小蜜蜂系列,对应lattice 的XO2/XO3,对其形成强有力的替代竞争优势。另外,高云28nm的产品已经在研发中,预计2019年左右推出。目前高云FPGA芯片累计出货量即将达到200万片,对于一个成立才3年左右的公司,这个发展是相当迅速的,如果芯片的良率在应用中得到逐步提高,芯片可靠性得到了用户的认可,这将会对国外厂商产生很大的冲击。与此同时,安路也发布了它最新55nm的第二代“小精灵”ELF2系列高性能低功耗和内嵌MCU的SOC FPGA,向国外厂家的中低端产品发起了挑战。
回头看中国每个发展得不错的行业,基本都遵循一个逻辑,先是从低端开始突破,对国外同类产品进行替代,在行业站稳了脚跟之后,开始持续改进,不断提升自己的技术、产品、服务以及专利积累等,到了一定阶段之后可以在细分领域里面创造一些需求,以不断向高端进军,最终在行业里面的高端占有一席之地。中国通讯制造业、高铁制造等都是遵循这个逻辑发展的。 “低端突破->持续改进->创造需求->高端引领” 是中国各个行业发展的必由之路。对于FPGA行业来说,也完全可以按照这个思路发展。