中文 英语

竞赛的下一步是什么

技术必须不断发展以跟上不断变化的需求,仿真也不例外。

受欢迎程度

仿真现在是先进芯片设计验证的基石,但是如何验证呢模拟是否会进化以满足未来日益密集、复杂和异构的架构的需求还不完全清楚。

EDA公司一直在仿真、增加容量、提高性能和添加新功能方面进行大量投资。现在最大的问题是,随着设计需求的转变,他们还能如何利用这项技术。设计一直停留在寄存器转移级别(RTL)运行了30年,而模拟器性能在大约20年前停滞不前。由于技术进步与设计尺寸的增长保持同步,模拟器的性能几乎与设计尺寸无关,从而逐渐填补了这一空白。

“作为一个验证行业,我们继续做着我们过去所做的事情,”公司首席执行官西蒙·大卫曼(Simon Davidmann)说治之软件.“事情不断扩大,电脑变得更强大,我们增加了更多的内存,然后在某个时候,有些东西坏了。我们不能再这样下去了。我们必须进入下一个阶段。”

这对EDA公司来说并不意外。“这是我们的面包和黄油,”emulation at产品营销高级总监约翰内斯•斯塔尔(Johannes Stahl)表示Synopsys对此.“我们每天都在思考这个问题,看看事情会如何发展。我们时刻关注客户的需求。”

所有大型模拟器供应商都指出了类似的趋势。“我们拥有的每一个引擎逻辑仿真,或现场可编程门阵列(FPGA)原型平台-动态引擎-每个都有自己的最佳点,”产品营销总监Michael Young说节奏.“因此,这实际上是关于手头的验证任务,以及我们可以做些什么来最大限度地发挥其优势。当我说最大化优势时,它的意思是,它将如何实际,你将可以使用什么,这又回到了经济学上。”

模拟的发展
如果没有容量和性能的提高,仿真很快就会跟随RTL仿真走向衰落。但是商业模拟器有明显不同的架构。其中一些基于定制芯片,而另一些则使用现成的FPGA设备。一些具有可编程结构和查找表,而另一些则基于处理器。每种方法都在成本、性能和周转时间之间做出了不同的权衡。

Synopsys的斯塔尔说:“fpga正在随着硅曲线的发展而发展,并在节点上下降。“这使我们能够专注于硬件架构。你用这些fpga做什么?如何使用fpga优化伸缩?从根本上讲,容量建设意味着决定拥有数百个fpga的形式因素,以及如何以最有效的方式连接它们。我们在今天的市场上有各种不同的架构,实现不同的性能点。这种创新将继续下去。”

对于外行来说,模拟器似乎从来没有更快过。“如果你看看同样的设计,比如在以前的仿真系统上运行的十亿门设计和最新一代的设计,我们实际上看到了大约50%的性能改进,”Cadence的Young说。“这是个好消息。现在你看到的不是900千赫兹或1兆赫,而是1.4到1.5兆赫。它正在逐步改进。但如果你有一个20亿的门设计,那么由于通信的原因,它可能会回到1.1的加速因子。限制器是像路由机制,互连。随着规模的扩大,路径会变得更长,仿真速度会受到最长路径的限制。”

Cadence的仿真器Palladium Z2。来源:Cadence Design Systems

图1:钯Z2,节奏的模拟器.来源:Cadence Design Systems

然后是用于将设计映射到模拟器的软件。“如何最好地将设计映射到这些fpga上?斯塔尔问道。“这项工作正在进行中,开发模拟器的架构,然后是设计的细节。软件方面不断创新,这些创新最终会体现在下一代模拟器上。”

其他人也同意。Young说:“我们在并行分区编译器的创新上投入了大量资金,然后继续开发我们所谓的模块化编译器。”“如果我们只是做传统的编译,需要几天的时间来编译,这对大多数客户来说是不现实的。大多数客户希望每天转两到三圈。例如,我们有一个客户正在使用这些先进的编译器进行60亿门的设计,他们能够在不到6小时的时间内完成编译。”

所有这些都是在模拟使用模型不断变化的情况下发生的。Young解释道:“当世界开始使用仿真时,它实际上是关于在线仿真,即您的模拟器被连接到定制板或现成的板上。“你可能在主板上有一个处理器,你在模拟器上设计一个GPU。大多数人使用PCIe作为处理器的主要接口,所以这是一种方法。随着时间的推移,人们已经虚拟化了该接口,因此不再使用通过PCI连接的高速桥,而是使用虚拟桥。还有另一类使用模型是模拟加速。这些是模拟人员,他们想要进行很长的运行,并使用硬件来加速。现在,还有更奇特的东西,比如功率估计。”

事实上,Cadence表示,他们正在跟踪20种不同的使用模型进行模拟,并预计在未来一两年将增加到30种或更多。

软件的影响
贯穿整个行业的一个重大变化是软件日益重要。该公司高级副总裁兼总经理Ravi Subramanian表示:“随着我们进入新的半导体超级周期,以软件为中心的SoC设计时代要求功能验证系统发生巨大变化,以满足新的要求西门子EDA.“我们的客户需要一个完整的集成系统,并为未来十年制定清晰的路线图,涵盖虚拟平台、硬件仿真和(FPGA)原型技术。”

Imperas的大卫曼对此表示赞同。“世界已经从一个以芯片性能、芯片设计为中心的世界,转向了一个由软件定义的世界。人们不指定绝对的硬件性能,但他们确实希望得到最快的实现。软件的意思是,为了让我在实际时间内运行,我需要“这类”硬件。他们不需要详细的时间分析。如果一项工作没有完成,你就把它分成两个可用的核心。”

早期的软件验证已经成为托付给仿真的最重要的任务之一。斯塔尔说:“你将运行的不仅仅是软件的一小部分,而是整个工作负载。”“它可能是带有一些手机应用程序的Android引导程序,可能是5G协议,也可能是用于大量以太网数据包的网络应用程序。但它们都是真正的应用程序工作负载,是运行在芯片上的完整软件堆栈。”

这可以发生在多个抽象级别上。西门子的Subramanian说:“客户可能希望在验证周期的早期运行特定市场的、真实的工作负载、框架和基准测试,以进行电源和性能分析。”“这将在周期早期使用虚拟SoC模型来完成。稍后,将相同的设计移到模拟器中,以验证软件/硬件接口,并在接近实际系统速度的情况下执行应用程序级软件。为了使这种方法尽可能高效,他们需要使用相同的虚拟验证环境、相同的交易者和模型,以最大限度地重用验证抵押品、环境和测试内容。”

在不同阶段使用不同的抽象模型会给流增加额外的需求。“通过采用基于平台的硬件设计,硬件在系统设计中的风险可能会降低,”Christoph Sohrmann说夫琅和费IIS自适应系统工程部.“更重要的是软件与外围设备的交互。大多数功能来自软件层。在这里,我们将看到复杂性的急剧增加,其中硬件/软件交互将变得难以验证。例如,在这个领域所需要的是关于时序行为的适当限定的、快速的系统级模型。未来的一个趋势将是系统级IP的开发和提供,这些IP已经与RTL对应的IP相比较。”

在某些情况下,循环精度可能是必要的。Young说:“还有其他一些软件,比如驱动程序或DMA等低级嵌入式软件,在这些软件中,时间很重要。”“这就是性能分析和权衡的时候。他们需要使用RTL模型,因为虚拟模型抽象了必要的信息。为了进行良好的性能分析,你需要周期级的准确性。”

RTL是否太晚了?
随着越来越多的软件验证可以在虚拟模型上执行,RTL对于很多验证任务来说是否为时已晚?“RTL是设计的一种非常具体的表示,对于性能分析和运行需要周期精度的软件来说,它足够准确,”Stahl说。“所以它仍然是设计中最重要的表现形式,但不是唯一的。如果你没有比RTL更早的表述,你就无法在市场上获胜。最好的例子就是拥有全新架构的芯片。由于每个人工智能芯片都有不同的架构,这些公司都提出了一个高级架构模型,代表他们的特殊处理核心,他们用这个模型在RTL之前以一定程度的准确性研究性能。”

风险降低意味着人们不愿意改变。大卫曼说:“人们面临的巨大挑战是,他们必须摆脱过去只关注细节的舒适。”“几乎所有软件都可以使用指令精确模型进行验证,然后在RTL上尝试一小部分。芯片架构正在发生变化。你在通信中有抽象,所以它都在更高的层次上工作,这意味着你可以在软件中做这件事,并在没有细节的情况下更好地模拟它。对于这些新的架构,你可以模拟它们,而不用担心通信的细节,因为这些细节可以被抽象出来。”

识别重要的部分需要使用混合解决方案。斯塔尔说:“我们所提供的是用于互连和内存子系统的周期精确模型,因为这两者共同决定了你的设计可以泵入多少周期。”“其他一切都可以是行为上的。它可能是抽象的交通。也许它是一个抽象处理器模型。也许它只能模拟特定的事件序列。但是这一系列的事件和流量的强度足以在架构上进行权衡。没有人会错误地将其等同于现实世界。没有人在那个水平上质疑它需要5%的准确度。可能不是。 It’s perhaps 15% accuracy or 20% accurate. Relative tradeoffs are still worthwhile.”

图02:Synopsys ZeBu EP1仿真系统。来源:Synopsys对此

图02:TheSynopsys ZeBu EP1仿真系统。来源:Synopsys对此

混合虚拟样机仿真已经成为一种必须。Fraunhofer的Sohrmann说:“混合仿真与虚拟原型相结合可以显著加快验证过程,并在未来解决复杂性的诅咒。”“基本上,有两个概念可以考虑。一种是经典的联合模拟方法。为了使工作顺利进行,不同抽象级别的模型之间需要一个标准化的接口。可以用更快的模型替换RTL的某些部分,以加快整体模拟的速度。第二个更有挑战性的概念是在模拟过程中在抽象级别之间动态切换。例如,您希望验证系统在漫长的引导过程后所处的某些内部状态。当直接在RTL上运行时,这将花费很长时间。你可以考虑在虚拟原型上运行初始化,并在模拟过程中的某个时刻动态切换到更详细的模型。”

这种动态抽象方法正在流行起来。“我们有一个客户正在使用我们的软件模拟处理器来引导系统到一个合适的点,然后以混合模式在模拟器上热插拔到RTL,”Davidmann说。“我们将运行速度从每秒5亿条指令切换到模拟器,一旦他们到达有趣的点,模拟器的运行速度就会慢100倍左右。”

添加的原型
作为解决其他验证挑战的一种方法,原型设计最近得到了广泛的关注。Stahl说:“原型系统使您能够获得比模拟更高的性能。“但建造这些原型需要更多时间。与模拟器不同,它们通常是手动连接以获得最佳性能,并且在流程方面进行了更多调整。但你可以达到20mhz或30mhz,这可能需要执行某些功能。”

将原型和仿真结合在一起是否有价值?“这里的挑战并不是把这些系统放在一起,”杨说。“挑战在于,当你拥有一个具有工作数据库的仿真平台时,将其带到FPGA原型平台所需的时间。我们已经付出了很多努力,以使他们之间的过渡非常顺利。在模拟上运行后,只需要几周时间就可以在FPGA原型平台上运行,有时在一周内。所以现在你有了两个平台之间一致性的优势。当你需要更高的性能来运行更多的软件工作负载时,你可以很快做到这一点,而不是等待几个月。”

但市场上也发生了其他变化。Chiplets开始获得很多关注,这些可能作为最终产品和类似于原型的东西交付。Young补充道:“你可以称它们为chiplet,或者在早期我们称之为定制板或目标板。”“这绝对是市场的走向。不用等待我的最后一个硅片,我可以交付一个带有自定义目标环境的仿真平台,其中的目标基本上是物理形式的模拟器之外的任何东西。这已经发生了。客户们要么围绕它设计自定义存储器,要么设计小芯片,无论需要什么来创建模型,他们可以证明这就是我的设计。这就是最终芯片的功能、特性和性能。它可以成为他们的系统客户进行早期软件开发或集成的平台。”

添加分析
模拟的一个问题是,它生成了太多的数据,以至于很难对所有数据进行分析。为此,仿真制造商开始在硬件中嵌入分析工具,极大地减少了必须导出的数据量。我们已经在覆盖率分析以及各种形式的功率分析中看到了这一点。

一个新的报告用例支持对原型进行性能测量。”手臂已经提出了使用原型,不仅用于软件开发或界面的系统验证,而且用于性能测量,”斯塔尔说。“他们已经找到了校准结果的方法。以前,业界的信念是,您只能在模拟器上测量性能,因为模拟器是唯一循环准确的。原型不一定是周期精确的。但他们发现还有另一个不确定性。当您没有运行足够多的基准测试时,基准测试之间的性能就会发生变化。如果只运行一次基准测试,可能得不到正确的结果。您必须在多次运行相同的基准测试之间进行平均,因为执行基准测试需要依赖于软件。”

结论
竞赛在其历史上发生过多次变化。它一次又一次地证明了自己,开发团队已经对硬件进行了调整,以适应芯片制造商的需求。对于模拟器来说,最大的问题是架构正在发生多大的变化,以及这将对总体验证产生多大的影响。如果在RTL之前需要进行越来越多的验证,那么行业将会找到绕过周期精度需求的方法。

其他方法也取得了进展。特别是,虚拟原型已经成为架构探索、性能分析和早期软件验证不可或缺的工具。但无论发生什么,芯片中存在的硬件都必须得到验证,这需要巨大的能力。而且由于硬件必须由一些软件驱动,可能总是有一个角色让两者在尽可能接近生产的表示中一起执行。



留下回复


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

Baidu