天天看点

多芯片设计将复杂性推向极限

作者:半导体产业纵横
多芯片设计将复杂性推向极限

本文由半导体产业纵横(ID:ICVIEWS)编译自semiengineering

继续采用先进封装技术进行持续缩小,将需要整个半导体生态系统的改变。

多芯片设计将复杂性推向极限

多芯片设计给管理设计复杂性的能力带来了挑战,推高了每个晶体管的成本,压缩了市场窗口,并促使整个芯片行业争相寻找新的工具和方法。

数十年来,整个半导体设计生态系统(从EDA和IP提供商到晶圆厂和设备制造商)都在发展,基于这样一个假设:可以将更多功能集成到芯片和封装中,同时改善功耗、性能和面积/成本方程。但随着将所有这些功能集成到单个芯片或封装中变得更加困难,开发这些设备的复杂性已经急剧增加。

据估计,未来不久的先进封装技术将容纳1万亿个晶体管,紧密控制功耗、性能和面积/成本(PPA/C)需要在设计到制造流程的每个环节都进行重大转变。

Synopsys公司研发工程高级架构师Sutirtha Kabir表示:“目前行业还没有准备好,但我们正在朝着那个方向发展。” “我们认为在今天和那一年之间有哪些步骤,不管是2030年还是更早?假设您拿起一个SoC并将其折叠[一个简单的3D-IC类比],假设您所做的一切都是将它们放入具有相同功能的两个芯片中,但没有其他变化,您的晶体管数量并没有改变,但在这个过程中您所做的是在这两个芯片之间添加接口,无论是凸点还是混合键合互连(HBI)。

以前在单个芯片上完成的设计,由于功能现在分布在多个芯片或芯片组上,变得更加复杂。“基本上,以前完成的任务变得更加困难了。” 西门子EDA的Tessent硅生命周期解决方案技术赋能高级总监Ron Press说道。“还记得比尔·盖茨在1981年的著名语录吗,‘640K内存应该足够了,对吧’。那时候这是适用的。复杂性是EDA产生的动力。一旦使用传统方法执行某项任务变得太困难,那么某种抽象和自动化就是必要的。从早期的电子学开始,这推动了编程语言编译到硅设计以及许多EDA工具。因此,复杂性的定义总是相对于当前的技术水平。”

这又加剧了更高数据速率带来的复杂性。“如果你看看数据速率与时间的关系,对于2G、2.5G、3G、4G、5G,它们所支持的数据速率与摩尔定律的增长大致相同,这也证实了复杂性的不断增长。” 凯捷公司新市场管理总监Chris Mueth指出。“很久以前的2G手机是由一堆组件组成的——晶体管、小模块和离散元件。那时手机里堆满了电子组件,几乎没有多余的空间用于额外的功能。但现在一切都集成在一起了。模块的大小几乎与很久以前的IC芯片一样大,里面包含了所有的东西。而3D-IC将把它推向一个新的水平。”

这同时也显著提高了验证挑战。“在2.5G时代,手机可能有130个规格,而5G手机可能有1,500个规格需要验证。” Mueth说道。“现在有很多不同的频段、不同的操作模式、不同的电压、数字控制等等,你必须在发货之前验证每一件东西,因为你最不想做的就是在手机已经上市时发现问题。”

所有这些都导致了复杂性的巨大增加,并且正在严重破坏长期以来的芯片设计方法。

“以前单一芯片的设计师可能会担心这些问题,但那更多是一个封装问题。” Synopsys的Kabir说道。“让封装人员去担心吧。芯片设计团队只需要工作到引脚。RDL凸点连接总会发生一些事情。但现在,因为信号与信号之间的连接是通过这些芯片之间的凸点完成的,芯片设计师必须担心这个问题。今年我们看到的情况是,我们在开始时有数百万个凸点,而现在凸点的数量迅速增加到了大约1千万个,预计在两三年内,多芯片设计将包含5千万个HBIs连接。”

其他人也持同样观点。“在我在这个行业工作的多年里,我一直觉得我们在解决当时最复杂的问题,” Cadence的设计IP高级产品营销团队总监Arif Khan指出。“摩尔定律适用于单片系统,直到遇到掩膜极限和工艺限制。晶体管密度并没有随着工艺技术的进步而线性增长,而我们对日益复杂的设计的需求却持续不减,将我们推向了光刻图像领域的物理极限(掩膜极限)。据估计,NVIDIA的GH100设计拥有超过1400亿个晶体管,芯片尺寸为814平方毫米,采用4纳米工艺。”

多芯片设计将复杂性推向极限

图1:复杂的通用设计流程。来源:Cadence

在多个维度上的缩小

随着先进工艺技术变得更加复杂,晶圆成本超出了历史常态。当与每一代新工艺的晶体管缩放逐渐下降相结合时,每个连续的前沿节点上的每个晶体管成本都比上一代更高。

“这对设计构成了一个困境,因为在更新的工艺节点中设计和制造成本要高得多,” Khan说道。“较大的设计自然会产生更少的晶圆。当考虑到随机缺陷时,当晶片尺寸较大时,产量的损失会更大,较小分母的一部分会无法使用,除非这些晶片可以修复。随着工艺技术超越5纳米,极紫外技术达到了单层光刻的极限。高数值孔径EUV技术现在开始发挥作用,它将放大率加倍并允许更小的间距,但会将掩膜尺寸缩小一半。因此,如今越来越复杂和更大的设计别无选择,只能进行分解,而芯片组技术就是圣杯。”

同时,人们更加注重向设计中添加新功能,而主要限制是掩膜尺寸。这增加了一个全新层面的复杂性。

“在IBM大型机和英特尔/AMD x86服务器的美好时代,一切都是时钟速度和性能” Axiomise的CEO Ashish Darbari观察到。“由于Arm架构,从90年代末开始,功耗成为了行业的主导推动因素,随着芯片被压缩到诸如移动电话、手表和微型传感器等较小的形态因素中,性能与功耗和面积(PPA)决定了设计复杂性的商数。据Wilson Research 2022年的报告,据报道,72%的ASIC功耗管理是主动的,而功耗管理验证是一个不断增长的挑战。然而,随着硅在汽车和物联网中的快速应用,功能安全和设计复杂性占据了主导地位。设计芯片时你不能不考虑功耗、性能和面积(PPA)——以及安全性和/或保密性。

根据哈里·福斯特(Harry Foster)的威尔逊研究报告,71%的FPGA项目和75%的ASIC项目同时考虑安全性和保密性。随着“熔断”和“幽灵”(2018年)的出现,以及一系列持续出现的芯片安全漏洞,包括2024年的“GoFetch” — 安全问题正证明是设计复杂性的直接结果。更糟糕的是,安全漏洞通常源于性能增强优化,如推测性预取和分支预测。

“为了实现低功耗优化,设计师们已经使用了选择性状态保持、时钟门控、时钟分频器、热和冷复位以及电源岛,这些技术在时钟和复位验证方面带来了验证挑战,”Darbari说。“多速时钟引入了关于毛刺、时钟域交叉和复位域交叉的挑战。”

尽管计算性能始终在设计领域占据主导地位,但现在它只是众多因素之一,比如移动和访问由传感器和人工智能/机器学习生成的越来越多的数据。"HBMs是人工智能/机器学习芯片的基石之一,这也是我们行业的发展方向," Darbari说。"如果你看一下设计复杂性的更广泛范围,超越了PPA、安全性和保密性,我们应该注意到,在单个芯片上拥有数百个核心和人工智能/机器学习的时代,我们正在重新审视高性能计算的设计挑战,同时最小化功耗足迹,以及优化算术(定点/浮点)数据格式和正确性。在低功耗下更快地移动数据,使用高性能NoCs,为设计师引入了死锁和活锁挑战。RISC-V架构为任何人设计处理器打开了大门,这导致了既可以作为CPU也可以作为GPU的巧妙设计,但是关于PPA、安全性、保密性的设计复杂性基础,以及死锁、活锁以及计算和内存密集型优化,对于RISC-V来说将和RISC-V时代之前一样相关。在过去的六年里,大量的工作投入到了建立RISC-V微架构实现与RISC-V指令集架构(ISA)的合规性,使用模拟进行启动测试和形式化方法来数学证明合规性。RISC-V验证,尤其是低功耗、多核处理器验证,将开启一个充满验证挑战的潘多拉盒子,因为并没有多少设计公司拥有与更成熟公司相同水平的验证能力。Wilson Research的报告建议,对于ASICs,74%的设计调查有一个或多个处理器核心,52%有两个或更多核心,15%有八个或更多处理器核心——我们在部署形式化验证的经验中看到了更多这样的情况。"

解决复杂性挑战的方法

通过自动化和抽象化的方法不断建立在先前一代能力的基础上,来解决复杂性挑战。

“随着时间的推移,越来越多的权衡和优化被嵌入到EDA工具中,因此用户可以提供更少复杂的‘意图’命令,让工具来完成困难和繁琐的工作,”西门子的Press说道。“创新是必要的,以应对一些复杂性,比如如何在设备之间进行通信和对数据进行排序。在测试社区中,扫描是一种将设计转换为移位寄存器和组合逻辑的方法。扫描使得自动测试模式生成成为可能,因此EDA工具可以生成高质量的测试模式,而不需要有人了解功能设计。随着数据和测试时间变得太大,嵌入式压缩被用来提高效率。”

Darbari也表示同意。“测试和验证已经从70年代和80年代的体系结构验证套件发展到了有限随机、形式验证和仿真。每一种新的验证技术都处理不同抽象层次的设计,如果使用正确,它们可以是互补的。虽然仿真可以在整个芯片级别推理功能和性能,有限随机和形式在RTL级别是很好的技术,形式验证是构建缺陷证明的唯一技术。我们看到形式验证在架构验证方面的应用增加了,以及在发现死锁、活锁和逻辑相关错误方面也在增加。”

复杂性也有其他类型。“您可以根据应用领域和流程中发生的位置来定义复杂性,”Arteris的解决方案与业务发展副总裁Frank Schirrmeister说道。“您可以根据您将要构建的系统来定义复杂性。显然,当您考虑系统时,您可以回到老式的V字形图,这给您一种复杂性的感觉。然后,您可以根据技术节点和工艺数据来定义复杂性。此外,还有非常传统的复杂性定义,通过提高抽象级别来解决。但接下来会发生什么?”

多芯片设计将复杂性推向极限

图2:SoCs(左)和NoCs(右)中的复杂性增长。来源:Arteris

Chiplets

答案就是chiplets,但随着chiplets和其他先进封装方法的逐渐普及,设计者们必须应对许多问题。

“chiplets为这种不断增加的复杂性问题提供了一种模块化解决方案,”Cadence的Khan说道。“例如,在‘N’工艺节点设计的复杂SoC具有许多子系统——计算、存储器、I/O等。前往下一个节点(N+1)以添加其他性能/特性不一定会带来显著的好处,考虑到有限的缩放改进与其他因素(开发时间、成本、良率等)。如果原始设计是模块化的,那么只有那些受益于工艺缩放的子系统需要迁移到先进节点,而其他chiplets则保留在较旧的工艺节点。将设计分解以使每个子系统与其理想的工艺节点相匹配,解决了开发复杂性的一个关键方面。在第一轮中,为分解架构设计的开销是有的,但随后的几代在减少开发成本和增加SKU生成选择方面获得了显著的好处。英特尔(Ponte Vecchio)和AMD(MI300)等领先的处理器公司已经采取了这种方法。”

定制chiplets以实现理想的功耗、性能、面积/成本尤其重要,以管理成本和上市时间。“可以在不重新设计整个芯片的情况下添加新功能,使设计能够在保持产品刷新节奏的同时命中市场窗口,否则这个节奏将会因在先进节点中所需的开发和产品化时间而放缓,” Khan说道。“‘涅槃’是由Arm等公司构想的chiplets市场,提出了一种chiplets系统架构,以标准化chiplets类型和分区选择(在其生态系统内)。SoC设计者仍然需要为其秘密配方定制设计,这提供了他们实施中的差异化。自动化将是降低这里复杂性的关键驱动因素。在过去几年中,通过芯片间标准(例如UCIe)等标准,芯片间通信的复杂性已经在很大程度上得到缓解。但是,设计者们在从2.5D IC流向3D-IC流时必须克服的附加实现复杂性。如何在各个chiplets之间进行逻辑分区,以提供具有堆叠芯片的直接芯片间连接的最佳分区?下一个领域是将这个复杂的问题从用户分区域域转移到自动化、AI驱动的设计分区。人们可以设想,在某一代的AI处理器成为下一代基于chiplets的处理器的主力军,用于设计。”

与此同时,chiplets引入了一种新的验证维度——基于UCIe协议验证芯片间通信,同时也要理解延迟和热问题的复杂性。

换而言之,chiplets是设计增长和扩展的又一次演变,西门子的Press说。“与许多以前的技术一样,能够实现更多即插即用方法的标准很重要。设计师不应该处理日益复杂的 tradeoffs,而应该采用消除困难 tradeoffs 的方法。在扫描测试领域,打包的扫描传递可以消除整个复杂性的层次,使得chiplte设计师只需要优化chiplet的设计测试和图案。有即插即用的接口和自我优化的图案传递,因此用户不需要担心核心或chiplet嵌入或 I/O 引脚来获取扫描数据到chiplet。这个想法是用即插即用的方法和自动优化来简化问题。”

如何最好地管理复杂性

鉴于多芯片设计所涉及的考虑因素和挑战之多,复杂性很难能够轻松地被管理。然而,有一些方法可以帮助解决这个问题。

Axiomise的Darbari指出,通过意图使用更先进的技术,如形式化验证,将验证左移会对结果产生巨大影响。"在DV流程的早期使用形式化验证确保我们更快地捕捉到错误,找到边缘情况下的错误,建立错误不存在的证明,确立无死锁和无活锁的自由,并获得覆盖以找到不可达代码的覆盖率。只有在无法使用形式化验证时,才应使用基于约束和随机激励的模拟。"

但是还有另一方面。在许多情况下,复杂问题无法为整个chiplets解决。“你必须把它分成片段,”Synopsys的Kabir说。“解决小的问题,但确保你正在解决更大的问题。在多芯片设计中,这是最大的挑战。我们仍然在看‘这是一个热问题。不,这是一个功耗问题。’但是昨天你设计的是同一个芯片。有时候芯片在实验室返回时,他们发现时序不准确,因为对时序的热或功耗效应没有正确的考虑到。模型和标准库没有预测到这些,它可能会造成重大影响。因此,设计都会留有很大的余地,我们怎么能够压缩这个?这也意味着需要考虑多物理效应,以及时序和构造。”

将复杂问题分解成可管理的部分是芯片设计工程师仍在努力解决的问题。"这是一个新的难题,我看到了很多人都在与之斗争,而且这仅仅是复杂性挑战之一,甚至没有涉及到原子级别,"Kabir说道。“这是怎样的设计流程?谁先来,谁后来?你先解决哪个问题?而且不仅如此,你如何确保在整个过程中问题得到解决,所有不同的芯片都能够合并在一起?没有哪家公司知道如何做到这一点,我们必须共同解决。每个人都会提供不同的解决方案,这就是人工智能/机器学习工具等大有可为的地方。”

Keysight的Mueth表示赞同。“这绝对是一个多学科的挑战。你的数字设计师必须与你的射频设计师交流,后者必须与你的模拟设计师交流;一个芯片设计师要与封装设计师交流;一个热分析、振动分析。这是一个多学科的世界,因为现在你有你的系统和系统的系统。你有底层组件。这真的很复杂。有四个不同的维度,然后你必须在整个工程生命周期内审视它。有时候人们能够完成任何事情的能力真是令人惊讶。”

这可能是一种轻描淡写。虽然复杂性呈指数增长,但工作人员的数量并没有相应增加。“美国的工程师平均任职时间是4.5年。在硅谷,这个数字是2.5年,”Mueth补充道。“当他们离职时,他们带走了所有的设计知识、部落知识、公司知识,你会留下空缺。所以,你真的希望有办法将你的流程数字化,将它们锁定,并锁定你开发的知识产权。你必须找到一种方法来扩展或弥合工作人员和复杂性之间的差距,其中包括寻找新的自动化流程。我们已经看到很多人在拼命开发大型平台。但我们已经知道,大型平台并不能涵盖一切。它们做不到。变化太多,应用也太多。解决方案是一种应用特定的工作流程、外围工程管理和外围流程的组合,因为工程师并不是花费100%的时间在仿真上,甚至不是在设计上。他们大部分时间都在处理外围流程,而这些流程可悲地没有被自动化。”

*声明:本文系原作者创作。文章内容系其个人观点,我方转载仅为分享与讨论,不代表我方赞成或认同,如有异议,请联系后台。

继续阅读