中文 英语

自定义、异构集成和暴力验证

为什么需要新的方法来设计复杂的多芯片系统。

受欢迎程度

《半导体工程》杂志坐下来讨论了为什么异质设计需要新的方法,硅谷实现集团高级副总裁Bari BiswasSynopsys对此;John Lee,总经理兼副总裁有限元分析软件半导体事业部;迈克尔·杰克逊,公司研发副总裁节奏;微软Azure产品主管Prashant Varshney;罗伯·艾特肯(手臂当时的研究员,现在是Synopsys的杰出建筑师);和Mohamed Elmalaki的高级首席工程师英特尔.本讨论的第一部分是在这里

SE:我们看到越来越多的异质设计以较低的产量被生产出来。对于这些,您是否使用与大容量设计(可能有多个测试芯片和迭代)相同的工具?

杰克逊:在这些系统中,将混合自定义设计和重用,就像今天在单个模具中混合它们一样。两者都需要用于解决整个系统和设计目标。至于将要定制的面料,将会有特定的工具来实现。如果有某种处理器类型的应用程序,并且都是自定义的,那么您将应用一种方法。如果您正在使用这些可重用组件和芯片中的一些,那么您将有效地将它们集成到整个系统中。这两种场景都使用了许多相同的工具,它们都需要将整个系统组合在一起。

Biswas:这些异构系统将使用与其他芯片相同的工具。不同的是方法,这将根据不同类型的设计而改变。无论你是在处理处理器核心、低功耗设计还是I/O,你都可以使用不同的方法。有些将是定制的。一些公司将更加数字化。然后一些会被整合在一起。异构芯片系统之间的连接非常重要,因为将会创建ip来连接它们。我们将使用什么方法来单独分析或设计每个芯片或单元,或者一起设计?改变将是在方法上,而不是在用来创建它们的工具上。

SE:我们也看到了比过去更多的物理影响,包括电力、热量和各种噪音。你如何处理这些问题?

系统和硅之间的界限已经模糊了。我们不能再用骰子级别的边缘或保护带。如果你看逻辑骰子,你是把计算和内存靠得更近了。您可以在一个单独的芯片上添加射频通信,或者在一个先进的包中将硅光子学和电子计算更紧密地结合在一起。但你也有一组新的问题要处理。你会在有母线的模具之间遇到电磁干扰,它可能会因为电感耦合而无意中切换,无论是在该模具上还是从相邻的模具上。热完整性问题是真实的,因为你把多个模具放在中间。这可能会增加温度,从而导致机械应力和应变,从而影响部件的可靠性。因此,对于定制芯片与标准芯片,或小容量与大容量,这一切都取决于内容。我们越来越多地将系统应用到汽车领域,这是一个非常恶劣的环境,也要求非常高的可靠性。 These methods need to evolve or be strengthened in order to ensure the electronic reliability of the system. The challenge here is that you may be designing all of the silicon yourself, in which case you have full visibility. But what happens when you’re buying silicon from a supplier, and that supplier doesn’t want to give you all the details — the IP, the GDS, the schematics? How do you ensure thermal and electromagnetic reliability? That’s a big challenge.

SE:所有这些复杂性是否需要更多的蛮力计算来进行模拟、仿真和分析?

Varshney:设计周期的总体百分比可能在50%到70%之间,这取决于客户,但就SoC所花费的计算小时数而言,这是绝对正确的。作为云供应商,我们正在验证标准工作负载,以了解如何优化集成该工作负载所需的基础设施或架构,以及该架构如何向前变化。现在工作负载本身正在进行大量的切片和切片。我们如何在云中进行内存管理和存储管理,以及数据在云中传输和返回?例如,L3缓存变得更加重要。在存储中也是一样。我们正在寻找用于验证工作负载的高性能网络存储。我们将基础设施视为优化的一个维度。我们正在非常努力地使用新技术来保持这一轨道,但我们也在与EDA供应商密切合作,看看我们可以一起做些什么。

Biswas:即使当我们谈论暴力方法时,我们也需要以一种更智能的方式来看待它,即软件如何与硬件匹配。功能验证本质上是一个并行问题。它可以分布在多个核心、多个系统上,并且可以在云中利用它来获得所需的可伸缩性。但话虽如此,当我们谈到异构系统时,你可以想象今天硬IP变成了小芯片。规模是巨大的。所以我们需要想出其他方法来解决这个问题。您可以将此称为分层方法。我们需要将调试视为一个极其关键的部分,因为虽然我们可以进行模拟,但我们无法从设计内部获得见解,以防止错误逃脱。我们在异构设计和单芯片上看到的一件事是,需要在每一步都利用数据。我们有一些人工智能增强的东西,可以添加到数据之上,以改善来自验证和模拟的覆盖关闭、分析和调试。

杰克逊:这肯定需要更多的蛮力计算。未来的2.5D和3D设计将在功能验证方面提出更大的要求,特别是在容量和性能方面。这也适用于其他形式的验证。我们在这里讨论的是功能验证,但我们也看到了验证设计的其他方面的复杂性的爆炸式增长,包括热、功率、完整性和计时。各种模拟技术都需要不断发展。竞赛将发挥重要作用。系统的复杂性会带来一些问题,比如如何验证以及从哪里得到向量。目前最好的方法是使用仿真,它的运行速度比使用标准仿真技术快数千倍。能够在周期的早期引导软件总是很重要的,但是当你在一个异构的系统中这样做时,有固定的芯片和定制的硅,将会有一些问题需要解决,以实现这一切。

SE:在过去,晶圆代工厂在加工过程中有足够的余量来解决电源或布局问题。在过去的几个节点中,它向左移到了设计端。这在工具方面有什么影响,需要做多少处理?

这使问题更加棘手。如果你想一个单一的模具泵入400或500瓦的功率,同时你想要在低电压下运行,尽可能地消耗电池,这些都是相互冲突的挑战。答案是,如果你在低电压下运行,你有大量的芯片和计算,然后你有来自电源完整性或其他来源的噪声,比如其他芯片,你需要有更好的覆盖。如果你没有正确的覆盖范围,你就必须保护波段。但即使是保证金或警戒带也是不够的。我们已经看到了多重物理的复杂性,时间、功率、热和电磁都相互干扰。所以很难想出一个合理的保护带。所有这些问题的答案是更好的计算、更好的覆盖范围和更好的数学方法。AI/ML就是其中一种方法。我们还推出了其他方法来帮助解决这个问题。 But ultimately, to do everything flat and brute force is not practical, even with the cloud. In all other phases of designing chips, we’ve developed abstractions, modeling, and hierarchical approaches. The same now needs to be done across multiple die. There’s a need for multi-physics models that abstract the die in a way that gives you enough resolution so that when you look across multiple die you can really look at these multi-physics effects. There’s a lot of work ongoing today in terms of research and practical development.

SE:那么,对于80%或90%的市场来说,未来是否足够好?还是全部都是定制的。

Elmalaki答案是特定于产品的。有一个市场将受益于通用,比如当你有一个运行在80%的编解码器。但对于其他市场,芯片供应商将需要一个100%适合其市场的解决方案。我没有看到任何变化。我们还是会把芯片都放进去。这取决于工作量和市场的大小。

艾特肯当你开始把这些东西融合在一起时,它们会以你没有想到的方式被使用,事情就会开始崩溃。我们必须开始以一种更主流的方式采用的方法是弹性。从架构上讲,这些系统必须认识到事情可能会出错,事情将会出错,并且需要对它们做出反应。这就把验证问题分成了两类,一类是一旦发生就会破坏系统的事情,另一类是一旦发生就很糟糕的事情,但如果及时发现并加以处理,这些事情就可以解决。这是一个完整的多层抽象。你可以把它放在软件里,这样如果软件要求一个非时间敏感的计算,而这个计算由于某种原因没有发生,那么它就会重新请求。这是最简单的时间冗余方法。但核查问题本质上是一个经济问题。人们把70%的预算花在这上面,因为这就是让芯片问世的代价。如果它改变了,现在看起来你95%的设计花在验证上,5%花在你的设计上,这是不可持续的。 So we’ll have to think of better ways of doing it. Instead of just throwing brute force simulation at it and hoping for the best, we can target algorithmically what might actually go wrong. Of the billion things I’m simulating, which of these things is more likely to happen? That kind of thing already exists in circuit design. People don’t just throw random Monte Carlo simulations at stuff. They look at what might fail, and what might happen as a result. That same process has to happen in systems. Arm does spend an enormous amount of time validating and verifying processors. Other people who want to play in the chiplet space are going to have to put similar effort into verifying their stuff or nobody is going to use it.

相关的
EDA前沿缺口(上述圆桌会议的第一部分)
工具链和方法中缺少的小芯片和高级封装变得更加流行。



留下回复


(注:此名称将公开显示)

Baidu