可编程逻辑
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来说,应用的第一大领域是通讯而不是计算机。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总价高。
为什么是基站(也可以说是管道)最适合用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因其高可靠性,主要用于军工航天产品。
全部0条评论
快来发表一下你的评论吧 !