(本文编译自Semiconductor Engineering)
半导体设计和EDA正在经历一场变革,需要创建新的语言、模型和抽象。
左移正从一个流行词演变为设计方法和EDA工具领域的一场更为广泛的变革,尽管它仍处于早期阶段,但人们普遍认为它将带来颠覆性的变化。
过去几十年来,半导体行业经历了许多变革。有些变革显而易见,有些变革则是因为多种因素的汇聚,需要对流程本身进行系统性更改,而目前的情况就是如此。从表面上看,左移可能看起来像是涉及优化策略或引入新指标的一个微小转变,但这是一个从孤立的半导体视角到系统设计时代开始的根本性一步。更令人惊讶的是,推动这一变革的力量来自现有流程的各个方面。
这并不是半导体行业第一次面临这样的挑战。Cadence战略与新业务集团总监Rob Knoth表示:“如果“战争的体制迷雾”让我们忘记了这些教训,那我们真应该感到惭愧。我们已经经历过多次这种情况。我们面对的范围超出了我们现有工具的能力,这些范围基于物理原理或现象,或者无法被现有的工具完美捕捉。我们也曾面对过过于紧迫的截止日期,无法做到尽善尽美。在那些史诗般的挑战中取得成功的人,是那些能够诚实地评估他们能模拟什么、能估算什么,以及这将如何影响他们上下游的人。”
这一变革涉及许多领域,以下列举其中一些:
优化重点的变化:优化策略已从简单的功率、性能和面积(PPA)指标转变为系统级指标,例如每瓦性能。英特尔代工厂先进技术项目总监Chris Auth表示:“如果回顾20世纪90年代和21世纪,那时的路线图非常清晰。只需让产品更小、更快、更便宜。我们现在看到,这已扩展到各个不同的领域。PPA优化只是你要做的事情之一,但还有很多需要优化的其他东西,包括热效率或每瓦频率。我认为还有许多未竟的事情要做。”
3D-IC:Chiplet不仅仅是制造出来的IP部件,它们也正在改变开发流程的许多方面。“3D-IC正在改变市场和行业,”是德科技高速设计部门负责人HeeSoo Lee表示,“现在的PPA涉及多个学科。芯片不再是垂直结构,你会把许多不同的模块整合到一个系统设计中。那么,如何从系统角度对其进行优化?你将使用什么语言来与那些不同的芯片或不同的功能模块进行沟通?它为系统级的chiplet或异构集成提出了有趣的市场需求。我们需要通过使用不同的芯片来优化系统性能,然后优化整个封装性能。”
然而,如何排列、组装、验证和测试这些芯片仍然是一项重大挑战,其中一些工作可以通过预组装、预集成的芯片提前完成。Arm汽车业务高级总监Christopher Rumpf表示:“工作负载和软件是可以体现差异化的地方。因此,我们仍将销售IP产品,但我们现在正在将它们组装成更大的子系统。”
相互依赖性增强:随着越来越接近物理极限,所有指标都会相互关联。“设计收敛的目标是根据特定条件或用户提供的输入,跨多个变量进行优化,”新思科技产品管理高级总监Manoj Chacko表示,“除了PPA,现在还有R,即可靠性或稳健性。这从我们必须考虑影响性能的IR压降开始。我们开发了缓解该问题的技术。然后我们看到了设备的可变性,以及基于邻近设备和环境而变化的设备行为,这会影响设计的性能和功耗。”
领域定制设计:通用设计的时代已经一去不复返。在许多行业中,定制硅是实现必要设计特性的唯一方法。英特尔的Auth表示:“您已经从通用计算转向了更多特定工作负载的应用程序。每个人推动技术的方式不同。PPA是一个组成部分,但还有很多PPA没有涵盖的内容。”
这在汽车设计中尤为明显。西门子EDA副总裁兼硬件辅助验证总经理Jean-Marie Brunet表示:“以汽车为例,这是一个真正的系统建模挑战。它们有不同的采样率、不同的时钟、不同的模型精度。这些部分如何相互通信呢?这是一个行业整合挑战,这就是我们需要数字孪生的原因。它们可以为您提供终端设备或系统的可视化表示。这是一个令人难以置信的同步和集成挑战,而且需要一个非常强大的计算平台环境。您必须决定哪种软件可以与特定硬件配合使用。”
系统设计:系统不再只是硬件。AWS半导体行业高级领导兼顾问Ravi Poddar指出,据报道,沃尔沃汽车中拥有约120个ECU、1亿行源代码以及源代码中3000万个位置上的300万个函数。
“我们正在看到一种左移的趋势,即使用软件和虚拟孪生,”Poddar表示,“这包括虚拟硬件在环,它要求你尽早进行测试并频繁测试。”
软件现在是硬件设计不可或缺的一部分,但硬件和软件的开发计划通常不同。“在进行系统和硬件分析时,软件总是被忽略,”西门子EDA网络电子系统工程计划解决方案架构师Ahmed Hamza说道,“当你构建了一个系统,但如果你不知道什么软件将在系统上运行,整个等式就会改变。硬件、系统和软件是我们需要在分析节点尽早组合在一起的三个部分,它们将影响未来系统工程的完成方式。”
我们解决问题的方式并未改变。“优化的关键在于,随着流程的推进,自由度会逐渐降低,”Ansys产品营销总监Marc Swinnen说,“一开始,自由度很高,因此潜在的优化空间会更大。随着流程的推进,自由度会逐渐降低,潜在的优化空间也会下降。”
工程师喜欢分而治之。“我们无法同时做所有事情,”是德科技的Lee说道,“我们知道需要解决问题的顺序。当然,并不是所有事情对于每个应用程序或用例都同样重要。有些设计更注重系统性能,而有些设计更注重功耗。每个工程师或系统架构师都有自己的任务要完成和优化。我们正在进入一个尚未完全稳定或成熟的新时代。”
整体优化
在开发流程中,任何给定步骤所能实现的目标都受到预测不确定性的限制。“当你对设计进行更改时,比如功率,就会有信号,但也会有噪声,这意味着存在不确定性,”Ansys的Swinnen表示,“实际功率可能会高一点或低一点,因为你没有连接导线,也没有进行精确的逻辑综合。你的信息中存在噪声,考虑到你在特定阶段的不确定性程度,你只能对噪声进行优化。除此之外,任何信息都可能是虚假的。这是浪费时间,你只是随机生成数字,但不知道它是真的更低还是更高。你受到那个噪声带的限制,一旦你达到噪声带,就该进行下一步了,因为在这一步再进行优化已经没有任何意义,即使是相对的优化。”
从哪里开始分析在很大程度上取决于优化目标。“你需要一个好的软件解决方案,可以模拟整个系统,”Auth表示,“然后你可以优化每个组件,最终会得到很多非常定制化的软件,可以模拟各种各样的量。它可以模拟热量、频率或类似的参数。软件或许可以让你更好地回答设计师关于优化技术的最佳方法的问题。”
但了解所用模型或信息的准确性至关重要。“简单来说就是‘垃圾进,垃圾出’,”Lee说道,“代表异构集成中每个芯片的模型有多好?如果你的模型不够准确,而你又在其基础上进行优化,那么你就是在进行无效优化。虽然模拟技术非常强大,但它们需要以正确的方式处理所有因素,以保持准确性。如果你没有这些技术和模型,那么你将基于错误的输入数据进行开发。”
过去,业界已经开发出抽象概念,有助于在减少计算时间的同时保持必要的准确性。“在前端,你没有指标,”Swinnen表示,“你使用代理。例如,功率密度是热的一个很好的代理。对于RT级别的时序,您可以使用基于扇出(fan-out)的线载模型。当进入布局时,你会使用曼哈顿距离。然后在进行布线时,它就是净长度了。路由器实际上并不关注时序。布局器也不关注时序。每个步骤都有其代理,、这些代理会变得越来越好,只有当布线完成时,你才会最终拥有一个RC模型。那时它就不再是一个代理。现在你有了实际可模拟的线路延迟。”
这意味着您必须不断评估在准确性和可负担的计算能力方面的可能性。“您需要哪些帮助来提高流程的准确性?您可能需要一些创造力来尝试过去没有奏效的策略,”Cadence的Knoth说到,“也许过去您没有足够的计算能力来完成所需的所有模拟,但现在您可能有了。当我们谈论PPA优化策略时,最近我们看到了这种能力,您没有足够的能力将矢量集成到设计优化阶段。但现在算法更好了,估算技术更准确了,模拟能力更强大了。您可以开始集成一些过去您只是估计的数据,而现在您可以实际测量它们了。”
更精确的估算可以实现更多的优化和自动化。Arteris产品管理和营销副总裁Andy Nightingale表示:“设计片上网络(NoC)需要基于物理设计的分析。当你控制物理布局的各个方面,再加上许多分析工具时,就可以构建一个探索工具,运行流量配置文件。你可以将大量事务推送到网络的任何部分,并且可以看到它在服务质量方案、接口宽度和其他参数方面最坏情况下的表现。你对设计中的导线长度有了很好的了解,对布局有了很好的了解,对整个网络的延迟和带宽有了很好的了解。所有这些结合起来,为流程的下一阶段提供了一个非常好的起点。”
在系统级拥有最大的自由度。“大部分功率和性能优化(大约70%-80%)是在设计阶段的早期阶段通过架构决策决定的,”Innergy Systems创始人兼首席执行官Ninad Huilgol说道,“架构师通常会采用某种方式执行假设模拟来确定最佳架构。越来越多的先进功耗建模工具能够提供虚拟模拟来估算功耗和性能。”
如果没有必要的估算工具,那么所能实现的目标将受到限制。“关于预测不确定性,有两种处理方式,”Swinne表示,“要么设置保护带,要么投入更多资金进行测量。设置保护带是最简单的方法。你只需要留出很大的裕量,但这会增加噪声带,并限制优化能力。在某些情况下,这并不明显。保护带限制了可以进行的早期优化量,并迫使在后续阶段进行更多优化。”
Chiplet是可能发生这种情况的一个领域。“如果你谈论背面电源或堆叠芯片,仅仅考虑一个芯片的热量是不够的,”Auth说道,“你还必须考虑它对旁边芯片的影响。你必须了解系统将如何运行它。以前,我们专注于优化单个芯片或chiplet,但当它们被封装在一个包含多个芯粒的更大封装中时,单个芯片的优化就没有最终整个封装整体的优化那么重要了。”
如果开发不是完全自上而下的,这可能会带来困难。“优化系统和模块指标是一个互补和不断发展的过程,”Arm客户端业务线产品管理高级总监Kinjal Dave说道,“虽然我们越来越多地看到在系统层面投入更多的时间和资源,但在尚未建立完整系统的开发阶段,模块指标至关重要。在开发的早期阶段,通常无法构建完整的系统,因为并非所有功能都已完成。因此,需要继续分析这些模块指标,并在开发过程的后期逐渐纳入更多系统级指标。”
在实现上述这些目标,业界还有很多工作要做。“硬件团队和EDA工具花费大量时间进行分析,但遗憾的是,这些信息无法反馈给系统工程师,”西门子的Hamza表示,“在分析开始时,他们需要一些指标,这样他们就可以了解发生了什么。系统工程师可以从中获得即时信息。如果我们能以他们能阅读和理解的语言和形式提供这些信息,那会怎样?这将改变整个系统工程的概念。”
信息的缺乏意味着你别无选择,只能使用保护带。“当你左移时,你不会拥有完整的知识,”Auth说道,“你会设置一些护栏。并且你计划在未来获得更多知识时,能够减轻一些保护带带来的限制,从而获得更好的性能。”
左移正在尝试将越来越多的信息向前推进,但它需要从现有的硬件重点转移到软件和系统。Arteris的Nightingale表示:“你需要在顶层而不是底层提出假设问题。你制作一个未计时的设计模型,并将软件放到上面,这样你就能了解软件对系统的要求是什么。然后,你从顶层视图向下细化,以确定需要哪些硬件组件。如果你说,我将从X类型的处理器和Y类型的系统结构开始,并试图得到一个结果,那么你永远不会成功。你必须从最终应用程序出发,然后从上而下进行工作。”
为了解决这个问题,每个人都必须齐心协力。“半导体行业之所以能达到目前的规模,是因为我们接受了一定数量的规则,”Knoth说道,“为了做到这一点,我们并不总是发挥极致。如果跳出芯片层面,进入封装世界、PCB世界、机械世界,你会发现那里的规则要少得多。我们将看到更多标准化外流。我们已经在chiplet层面看到了这一点,越来越多的标准正在制定中。”
结语
虽然左移正在引起广泛关注,但更广泛的转型正在进行中。它涉及过去从未参与过的参与者,他们经常使用不同的语言,并有自己的方法体系。在许多情况下,需要进行的更改不仅仅是技术上的,它们还会影响组织的结构。新的工具和方法必须根据它们所需的投资水平产生良好的结果,无论是从EDA角度还是从设计公司的角度,它们都需要牢记长期的方向和目标。
这个问题不是一两年就能解决的。它需要重建整个流程,最终将系统工程和半导体开发纳入到同一个体系下。