在提到5G时,华为无疑是一个引人注目的名字。在其5G基站中,有一种不那么显眼但却极为重要的芯片——FPGA芯片。
那么,什么是FPGA芯片呢?
要快速了解一种芯片,通常可以查看其功能和用途,但对于FPGA而言,这种方法并不奏效。
深入研究FPGA的应用场景后,你会发现一个庞大的列表,涵盖了通信网络、物联网、信息安全、数据中心、人工智能、卫星导航、医疗器械、图像处理、视频编码、云计算和军工等多个领域。
许多人在查阅过程中可能会感到困惑,因为FPGA的应用范围涉及众多行业。那么,FPGA芯片究竟是什么呢?
简单来说,它就像一张白纸。
如果将其他专用芯片比作不同风格的画作,那么FPGA芯片则是白纸。我们可以在这张白纸上绘制出各种风格的作品,这正是FPGA的魅力所在。
设想一下,如果你是一块FPGA开发板,你在大学实验室中的一天可能会是这样的:
清晨,一群大二学生进入实验室。他们急于完成昨晚未完成的项目,开始调整相关硬件。最终,他们将FPGA开发板变成了一个音乐播放器。
中午,一组大三学生来到实验室,他们准备参加省内的智能小车比赛。这块FPGA开发板被他们借去,用于测试智能小车的代码。
下午,一位大四学生也来到实验室,借用这块FPGA开发板来进行他的毕业设计,目标是制作一个电梯控制模块。
就这样,一天过去了。同一块FPGA开发板,上午是音乐播放器,中午是智能小车,下午又变成了电梯控制模块。只因每次刷入的代码不同,FPGA芯片展现出了完全不同的功能,这就是FPGA的神奇之处。
FPGA的特点
FPGA的一个显著特点是灵活性。正如前文所述,它就像“白纸”,通过“刷代码”的方式改变用途和功能。
在数据中心中,许多设备是面向不同客户出租的,因此硬件的用途经常会变化。在这种情况下,使用FPGA作为加速卡会非常便利,设备用途变化时,FPGA也能随之调整。
尤其在人工智能领域,FPGA的优势更加明显。随着时间的推移,流行的神经网络和相应算法也在不断变化。此时,若需要频繁更换硬件,以满足算法需求,FPGA的灵活性便显得尤为重要。只需重新刷入代码,便可节约时间和成本。
除灵活性外,FPGA的另一个显著特点是并行处理能力。如何理解并行呢?
假设我们周末需要做家务,包括洗衣服、洗菜和做饭。如果按顺序进行,可能需要40分钟,但我们可以在洗衣机洗衣服时同时进行其他家务,这样总共只需25分钟就能完成所有任务。
因此,并行处理可以显著提高效率,这也是FPGA能够帮助CPU加速计算的原因。
然而,并非所有任务都适合并行。例如,洗完菜后才能做饭,这两个任务就无法并行。因此,FPGA的加速通常针对特定任务,而不如CPU那样能够解决所有问题。
FPGA与ASIC的比较
FPGA,全称现场可编程逻辑门阵列,属于一种半定制电路。而ASIC是专用集成电路的缩写。
这两者都可以视为“白纸”,不过在FPGA的“白纸”上,我们画的是铅笔画,而设计制造ASIC芯片时,则是在“白纸”上绘制水彩画。
两者都有相当的灵活性,但ASIC一旦完成,便无法再修改;而FPGA则可以擦除重新绘制。
从性能角度来看,如果其他条件相近,ASIC的性能通常优于FPGA。就像水彩画色彩更加鲜艳一样。如果一个电路在后期不需要更改,从性能(功耗、速度、芯片面积)考虑,选择ASIC更为合适。
当然,除了性能考量外,实际选择还涉及其他因素,如成本。
ASIC的起步成本非常高,尤其对于先进工艺制程而言,流片一次的费用可能高达上亿元。而FPGA的起步成本相对较低,可以在网上以几百元的价格购得开发板。此外,由于ASIC制造后无法更改,若设计不合理或市场反馈不佳,开发成本可能会白费;而FPGA则很少遇到此类风险,若设计出现问题,后期可以再次调整,甚至可以在其他项目中重新利用。
另一方面,ASIC的规模化生产后边际成本极低,而基于FPGA设计的产品则难以通过大规模生产获得边际成本优势。
可以打个比方:想吃羊肉串,ASIC就像自助餐,入门费用高,但进门后吃多少串的费用差别不大;而FPGA就像普通餐馆,没有最低消费,点多少吃多少,但不会因为多点而有优惠。随着芯片的更新换代,可能需要换口味,但在自助餐厅里没有排骨,需重新交钱进入另一家。而对于FPGA来说,换个餐厅点餐即可,毕竟没有最低消费。
因此,对于一些中小企业,如果产品性能有一定要求且无法承担一次性流片费用,他们通常会选择FPGA;如果性能要求不高,则可能选择成熟工艺的ASIC,后者的流片成本相对较低。
对于大公司,情况则较为复杂:若目标产品需频繁变更,则使用FPGA;若产品在开发初期需频繁调整,定型后则不再修改,则可以在初期使用FPGA,待定型后转向ASIC。如果某个芯片产品已有相当开发经验,且第二年只需推出新款,也可能直接采用ASIC。
另外,开发周期也是一个关键因素。先进工艺的流片费用高,且开发周期较长。在这种情况下,一些公司为了更快地将产品推向市场,也会选择FPGA。
国产FPGA现状
根据2018年的数据,全球FPGA市场中,Xilinx(赛灵思)、Intel(英特尔)、MicRoSEMi(美高森美)、Lattice(莱迪思)四家公司占据了约96%的市场份额。这四家公司及排名第五的QuickLogic均为美国公司,而在市场占有率仅为2%的其他公司中,也包括一些美国公司。
国内FPGA公司如紫光同创、复旦微电子、高云半导体等仍在发展阶段,与国外先进FPGA公司相比存在一定差距。
工艺差距
Xilinx和Intel这两家公司均提供不同工艺制程的FPGA产品,以更好地满足不同需求和预算的客户。当前,Xilinx的最先进工艺为16nm,而Intel为10nm(统计自官网展示的FPGA产品,未包括如Xilinx 7nm工艺的ACAP类产品)。
相比之下,国内FPGA厂商如紫光同创目前的FPGA产品种类较少,官网上展示的最先进工艺为40nm。大约在今年3月,紫光同创发布了28nm工艺的Logos-2系列FPGA,但在官网产品页面中未找到相关信息,仅有发布的新闻资讯。
另一方面,以Intel的Stratix系列FPGA为例,其40nm产品Stratix IV推出于2008年,28nm产品Stratix V则在2010年发布。
推广差距
对于FPGA产品来说,除了向企业推广,向学校的推广也同样重要。FPGA厂商通常不仅提供FPGA芯片,还配备了包括EDA工具在内的相对完整解决方案。各厂商一般都有自己的EDA工具,例如Xilinx的Vivado、Intel的Quartus II、紫光同创的PDS等,这些都是各自的FPGA软件工具。不同软件在功能和使用习惯上存在差异,因此让未来的FPGA工程师在学校期间习惯使用自家EDA工具和芯片至关重要。
例如,清华大学于1994年便与Xilinx合作成立了中国大陆第一个培训中心。在清华大学招聘FPGA工程师的岗位描述中,明确要求熟悉Altera/Xilinx的FPGA设计流程。
此外,许多企业在招聘FPGA工程师时也明确要求掌握Intel(Altera)/Xilinx的设计流程,少数企业要求掌握Lattice的设计流程。这表明Intel和Xilinx的推广相对成功,紫光同创也在朝着这一方向努力。
例如,在2017年第七届大学生集成电路设计与应用创新大赛-紫光同创企业杯中,设计要求中通常会包括使用紫光同创Titan系列FPGA进行设计。通过这种方式,紫光同创在推广自己的产品。
这样,部分相关专业的大学生在毕业前能够获得紫光FPGA的开发经验,并开始熟悉紫光FPGA的开发流程。然而,这种推广对企业的具体反馈效果仍需时间来验证。
面临的挑战
鉴于美国的出口管制政策及相关措施,许多中国企业正积极推进“国产替代化”。在FPGA这一高度被美国公司垄断的市场中,国产替代化显得尤为重要。这对紫光同创、复旦微电子、高云半导体等国产FPGA厂商来说是一个机遇。目前,国内FPGA厂商的FPGA芯片和EDA工具正逐步发展,未来的发展前景值得关注。
