详解FPGA:人工智能时代的驱动引擎
上QQ阅读APP看书,第一时间看更新

1.3 超越维度的限制——3D FPGA

在过去的几十年中,半导体和芯片技术在摩尔定律的指引下得到了飞速发展,然而近年来,人们注意到这种增长速度有逐渐放缓的趋势,很多人因此开始质疑摩尔定律在目前是否仍然有效,“摩尔定律已死”的声浪也不绝于耳。

从单一晶体管的角度来说,半导体技术的革新从未停歇,例如,科学家已经制造出了单原子甚至单电子的晶体管,也可以对单个原子的位置进行移动和调整,以取得更好的晶体管性能。但从整个半导体产业的角度来看,这未必是下一步的发展方向。当前人们遇到的问题并不是能不能造出来这样小尺寸的单一晶体管,而是能否造出一个包含100亿个这样晶体管的芯片。也就是说,这本质上是个经济问题。因为在理论上,我们是可以制造更小的设备和器件的,但能否让这些设备稳定工作,并以足够低的成本进行生产和销售,则是当前产业亟待思考的问题。

当晶体管的尺寸逐渐接近原子极限时,再使用传统的晶体管制造技术已经几乎不可能了。传统的晶体管结构曾经非常简单,而现在已经演变成了以FinFET晶体管为代表的非常复杂的3D结构。此外,制造芯片的半导体材料、设备、封装与测试等全产业链都需要同步发展。同样地,由这些晶体管组成的芯片架构也要不断进化,从而继续保持芯片性能的不断进步。

例如,当芯片在水平维度的扩展逼近技术极限之后,科学家和工程师们就开始探索在垂直方向上对芯片密度进行扩展的可能,并由此发明了3D芯片封装技术。在FPGA领域,厂商采用的3D芯片技术主要有两种:赛灵思的堆叠硅片互联(SSI)技术,以及英特尔的嵌入式多管芯互联桥接(EMIB)技术。

■1.3.1 赛灵思堆叠硅片互联(SSI)技术

在每一代半导体工艺早期,工艺和生产技术尚未成熟,因此良率往往较低,对于面积较大的芯片而言更是如此。研究表明,如果硅片面积为6cm2,使用泊松良率模型推断后,其在工艺早期的良率仅为0.25%。也就是说,此时在一个12英寸的晶圆上仅能产出0.3个能正常工作的芯片。然而,如果硅片面积只有1.5cm2,良率则会高达22%。此时,在同样的一个12英寸的晶圆上会产出107个能正常工作的芯片,如图1-6所示。由此可见,在工艺早期,不同硅片面积大小会带来巨大的良率落差。

图1-6 工艺早期不同面积的裸晶良率与产量的关系

有意思的是,如果可以将上例中的4个1.5cm2的硅片通过某种方式“组合”成一枚6cm2的芯片,那么同样的晶圆就可以产出平均26.75枚芯片,并随之带来超过100倍的产能提升。这便是赛灵思采用的堆叠硅片互联(Stacked Silicon Interconnect,SSI)技术产生的主要背景。

堆叠硅片互联(SSI)技术示意图如图1-7所示。和传统封装技术相比,SSI技术在封装基板(Package Substrate)和FPGA硅片之间加入了一层无源硅中介层(Silicon Interposer)。在硅中介层上可以放置多枚FPGA硅片。这些硅片通过在中介层里的硅通孔(Through Silicon Vias,TSV)、微凸块(Microbumps)以及大量连线进行相互连接。

图1-7 堆叠硅片互联(SSI)技术示意图

在这个结构里,微凸块用来连接FPGA硅片上的各类引脚;硅通孔负责将硅片的电源、接地以及I/O接口通过C4凸块连接到封装基板;在硅中介层中,有着上万条连线将相邻的两枚FPGA硅片进行互连。在SSI技术中,硅通孔是它的核心创新点与技术难点。由于TSV通过蚀刻工艺制造,而非激光钻孔,因此对制造工艺有着严格要求。为了降低系统的制造难度,中介层会使用已经十分成熟的工艺而非最新的工艺制程进行加工,例如65nm工艺等。在硅中介层中,也不包含晶体管等有源器件,这样可以保证较高的良率,降低制造风险和系统的静态功耗。

使用SSI技术最主要的优点:能在每代半导体制造工艺的早期,快速生产出良率高的大型FPGA器件,加快了产品面世周期,从而能快速抢占市场,尤其是高端市场。此外,当制造工艺逐渐成熟,并可以生产良率较高的大型单硅片FPGA器件时,使用SSI这种基于硅中介层的技术也能通过组合多枚硅片集成更多的可编程逻辑单元。

在2017年的HotChips大会上,赛灵思发布了Virtex UltraScale+HBM系列FPGA,其中仍然使用了基于第四代硅中介层的技术来组合3枚16nm FPGA,以及2枚32GB的高带宽存储芯片(High Bandwidth Memory,HBM),如图1-8所示。

图1-8 Virtex UltraScale+HBM FPGA结构图(图片来自赛灵思)

■1.3.2 SSI技术的主要缺点

尽管SSI技术能在半导体制造工艺初期大幅提升良率,它的缺点也同样明显。总结起来主要有以下4点。

(1)如前文所述,SSI技术特别适用于每代半导体制造工艺的早期。此时制造大型硅片的工艺并不成熟,以至于良率较低。不过,当工艺成熟后,良率会明显上升,这时采用SSI技术的好处就不明显了。在开头的例子中,当工艺成熟后,制造6cm2硅片的良率会从一开始的0.25%猛增至55%,制造1.5cm2硅片的良率会从22%上升至86%。这样一来,一块12英寸的晶圆可以产出66.9片6cm2的硅片,以及104.6片4×1.5cm2的硅片,产量差别已然不大。同时,制造硅中介层、TSV以及在同一封装内组装多枚硅片的成本就会在此时逐步显现,导致整体的成本优势进一步减弱。

(2)和一片完整的大型FPGA硅片相比,将多枚FPGA硅片通过硅中间层组合可能会显著降低芯片的性能。这里对性能的影响来自于很多方面,例如在垂直方向上,由于硅中间层的引入,为了连接硅片引脚和封装引脚,就需要先后经过包括TSV在内的很多额外结构,这势必造成延时的增加。相比之下,在单芯片结构里由于没有这些额外结构,信号只需经过封装基板内的导线即可。

在水平方向上,硅中介层中的导线和微凸块也会带来额外的延迟开销。研究表明,对于一个尺寸为7mm×12mm的硅片而言,其中的微凸块可能分布在距离芯片边界为2.25mm的“远方”。此时如果将两个硅片进行互连,在中介层中的导线长度会非常可观,从而可能带来1ns左右的线路延时。相比之下,FPGA片上的延时才不过几百ps,大概只是前者的1/10。

在2014年,多伦多大学Andre Pereira和Vaughn Betz等人在FPGA国际研讨会发表的研究结果指出,硅片间由中介层带来的延时会对系统性能带来消极影响。例如,当中介层的互连延时造成关键路径增加0.5ns,1ns或1.5ns时,系统性能会分别下降约20%,35%和50%。

此外,硅通孔TSV也可能会降低系统性能。对于一个大型的FPGA,可能存在成百上千只I/O引脚,而每只都需要有TSV与之对应,这样会大大增加芯片的制造难度。同时,高密度TSV也可能对信号一致性造成干扰,引发串扰和耦合,尤其对于高速模拟信号而言,这极大增加了设计和控制的难度和复杂性。

(3)SSI技术对FPGA配置的灵活性也可能会造成很大影响。采用多枚FPGA硅片相当于人为地划分了多个设计区域和硬边界。为了优化实现一个较大的FPGA设计,就可能需要对系统进行额外的逻辑划分,尽量使每个逻辑区域不会散落在多个硅片上,而这势必会增加项目周期和设计难度。此外,这些无法改动的设计区域和边界也可能会造成额外的片上资源的使用,从而导致功耗的增加和性能的降低。如图1-9所示,假设原本有一个设计包含模块A到模块D,其中D为内存控制器,并连接了大量并行I/O。在单芯片系统中,该设计只使用2/3的芯片面积即可实现,如图1-9上半部分所示。然而在SSI器件中,由于两个硅片间的互连延时增加,将模块D分布于两个硅片已无法满足时序要求,因此只能将其放于单个硅片中。这样一来,模块A、B、C要重新布局到整个芯片,造成不必要的资源使用,见图1-9下半部分。

(4)SSI技术的第四个缺点是,为了适应这种新的多硅片FPGA架构,FPGA设计工具需要进行一定程度的改动和优化。对于时序优化工具而言,片间延时的增加使得时序收敛的难度增加。对于布局布线工具而言,由于片间只存在相对有限的布局布线资源,因此增加了布局拥堵的可能性。和传统FPGA设计流程相比,在布局映射(Mapping)和布线(Routing)两个步骤之间,可能会需要加入额外步骤实现设计区域划分,以协调各个硅片的资源使用和时序收敛。另外,由于硅片间硬边界的存在,在设计工具中可能会需要加入额外的设计区域划分,以协调各个硅片的资源使用和时序收敛,这也使得全局的时序和布局布线的协同优化变得更加复杂。

图1-9 多硅片模型对FPGA配置灵活性的影响

■1.3.3 SSI技术小结

赛灵思的堆叠硅片互联(SSI)技术自2012年发布至今,已经完成了多代的演进,时至今日仍然用于赛灵思最新的FPGA器件中。作为一种多芯片的集成和互联技术,SSI能在每代半导体工艺的发展初期,迅速提升大型芯片的良率,缩短产品面世的时间,快速抢占市场份额。然而,SSI技术最主要的问题就是人为引入了硅片间的“硬边界”,并且会给芯片性能造成不可逆的负面影响,也给FPGA设计和优化工具带来了更大的挑战。

■1.3.4 英特尔EMIB技术

英特尔从基于14nm制造的Stratix10系列FPGA开始,就采用了“异构3D系统级封装(System in Package,SiP)技术”。该技术产生的背景,与半导体制造工艺的发展也有密切联系,最主要的因素有以下两点:

第一,对于不同功能的IP,它们所对应的成熟或性价比更高的制造工艺不尽相同。例如,对于逻辑电路而言,工艺越先进通常会带来更好的性能和功耗,这也是为何CPU、GPU、FPGA等芯片产品不断追求新工艺的原因。然而对于很多其他类型的IP,如DRAM、Flash、传感器和模拟器件等,它们都适合或只能使用已成熟的工艺进行制造。这样就需要提供一种全新的硅片互连方式,将不同代的IP进行异构整合。

第二,不同IP的更新迭代速度不同。这里最典型的例子就是各类收发器IP与FPGA的整合。对于相同的FPGA,例如Stratix10,可能需要集成不同类型的收发器,由此形成多种FPGA的子产品门类。这些FPGA产品可能需要支持不同的协议和标准,如PCIe、以太网等,也可能有不同的数据速率的发展和迭代,如从10.3Gbps到28Gbps,再到56Gbps等。但是如果将收发器和FPGA进行同构集成,也就是做在同一枚硅片上,那么每次收发器进行功能迭代和发展,都要重新进行整枚芯片的流片过程。同时,如果需要支持不同的速率或标准,就需要制造多个不同的完整芯片。因此,需要一种全新的硅片集成方式,既能保持FPGA硅片独立不变,又能异构连接多种收发器IP以组成完整系统。

为了应对这两个问题,英特尔提出了一个名为“嵌入式多硅片互联桥接(Embedded Multi-die Interconnect Bridge,EMIB)”的技术。EMIB技术的示意图和封装切面图如图1-10所示。可以看到,和赛灵思的SSI技术不同,EMIB没有引入额外的硅中介层,而是只在两枚硅片边缘连接处加入了一条硅桥接层(Silicon Bridge),并重新定制化硅片边缘的I/O引脚以配合桥接标准。

图1-10 EMIB技术示意图

与SSI这样使用硅中介层的技术相比,EMIB最大的优点在于它降低了系统的制造复杂度,并降低了不同硅片间的传输延时。由于无须制造覆盖整个芯片的硅中介层,以及遍布在硅中介层上的大量硅通孔,EMIB只需使用较小的硅桥在硅片间进行互连就可以满足硅片间的互联需求。同样地,由芯片I/O至封装引脚的连接和普通封装技术相比并未变化,因而无须再通过TSV或硅中介层进行走线。此外,硅桥接只需在硅片边缘进行,不需要在中介层中使用长导线。对于模拟器件(如收发器)而言,由于不存在通用的中介层,因此对高速信号的干扰明显降低。

在英特尔的Stratix10系列FPGA中,EMIB目前主要被用来进行FPGA与收发器以及高带宽存储器HBM的连接,如图1-11所示。这些由EMIB与FPGA互连的部分,英特尔将其称为不同的“Tiles”(子模块)。Stratix10系列FPGA和赛灵思的3D FPGA最大的不同点,在于它的可编程逻辑阵列部分使用了一枚完整的FPGA硅片,而非多个分立的小型FPGA硅片,这使其理论上可以规避上文提到的多硅片模型的各种缺点。

图1-11 使用EMIB技术进行FPGA的异构集成

在2019年的HotChips大会上,一家名为Ayar Labs的初创公司展示了一款名为TeraPHY的硅光学收发器。这个硅光收发器以芯粒(Chiplet)的形式,通过EMIB技术集成在英特尔Stratix10 FPGA上,并完成异构芯片封装。相比传统的电气收发器,这个光学收发器的最高数据带宽可达2Tbps,传输距离最高可达2km,而每比特的传输功耗则不超过1pJ(10-12 J)。

除了收发器和HBM外,EMIB还可以用来直接连接多个FPGA硅片。例如在前文提到的目前世界上最大的FPGA-Stratix10 GX 10M中,英特尔首次将两个拥有510万可编程逻辑单元的大型FPGA硅片通过EMIB相连,由此形成一个超大FPGA。这两个FPGA硅片通过25920个EMIB数据接口进行互连,其中每个数据连接可以提供2Gbps的吞吐量,因此系统整体的通信吞吐量高达6.5TBps。这事实上是在印证EMIB技术完全可以胜任处理超高带宽的吞吐量需求。

从另一个角度看,这种异构集成技术解耦了FPGA与各种IP单元的开发周期,形成了一种模块化的系统集成方案。这种基于EMIB的桥接方式,能够将FPGA与其他不同功能的IP,以及不同的制造工艺进行混合集成。这样使得不同的IP可以在最优的制造工艺下实现,并分别进行工艺迭代。这进一步扩展了FPGA的应用场景,加速了细分产品的面市时间。在简化芯片本身开发的同时,研发资源也可以逐渐转移到软件和生态层面,相对而言降低了开发门槛,使得更多开发者加入,有助于扩大整个生态系统。

■1.3.5 基于EMIB技术的异构FPGA的潜在问题

值得注意的是,基于EMIB的异构FPGA集成方式也有一些潜在的问题和风险。

首先,当使用单枚较大的FPGA硅片时,每代工艺早期的良率将可能会成为很大的问题,这会直接影响产品的面世时间。在当前激烈的市场竞争下,谁的产品优先面世,谁就能抢占更多的市场。不过,随着半导体制造工艺不断推进,技术难度不断增加,两代工艺的间隔会被逐渐拉长,这样会使得每代工艺的成熟时间也对应增长,从而在一定程度上缓解工艺早期的良率问题。

第二,通过EMIB连接不同硅片后,可能会形成一个不规则的芯片结构,由此可能引发一系列潜在的问题。在英特尔Stratix10 MX FPGA中(如图1-12所示),可以看到FPGA与HBM以及收发器的布局排列并不规则。由于EMIB是无源器件,且FPGA和其他外置位IP的制作工艺、集成方法都不尽相同,例如Stratix10 MX中的高带宽存储器HBM是基于TSV制造的3D芯粒。那么,在芯片工作时,EMIB两端的一致性可能会成为问题,如发热不均衡导致的应力、连接和可靠性问题等。

图1-12 Stratix 10 MX FPGA芯片图(图片来自英特尔)

■1.3.6 EMIB技术小结

EMIB是英特尔在芯片互连和集成领域的杀手锏,它能够将多种不同工艺、不同功能、不同大小的硅片进行互连集成,同时提供高带宽、低延时的数据传输性能。除了FPGA之外,EMIB已经被广泛用于英特尔的其他芯片产品,如旗下的Nervana AI芯片NNP-I等。

值得注意的是,EMIB并不是英特尔唯一的3D互连和集成技术。事实上,上文介绍的SSI和EMIB技术也并非是真正意义上的3D芯片技术,这是因为各个硅片仍然只是排列在二维平面,而只是通过额外的中介层或桥接进行互连和集成。在业界,这种集成技术通常被称为2.5D技术,即介于二维芯片和三维芯片之间。

在2019年初,英特尔就公布了一项名为Foveros的“真·3D”封装技术,它可以将CPU、GPU、DRAM、Cache等不同功能的硅片堆叠在一起,然后再封装成为一枚完整的芯片。Foveros将在英特尔基于10nm工艺的Lakefield CPU上使用。

值得相信,随着半导体集成与封装技术的不断推进,诸如Foveros的3D芯片技术也必将用于FPGA上,3D FPGA芯片也终将面世并逐渐成为主流,将来也必然会出现更大、更复杂的FPGA器件。而驱动它出现的技术,也将不断推动科技和文明的延续。