混合仿真占据了舞台的中心位置

复杂的芯片需要大量的验证平台工作同步,这就是挑战开始。

受欢迎程度

从移动网络,人工智能的应用,系统的复杂性没有放缓的迹象。这些设计,这可能包含多个十亿盖茨,必须验证,验证和测试,不再可能把整件事情在一个硬件模拟器。

一段时间,仿真、fpga原型和虚拟环境模拟器等给出设计和验证团队选择时确保其设计功能正常。现在,因为竞争激烈的市场压力和系统的复杂性,这些技术正在召集了在各种各样的新方法来解决系统验证的巨大挑战。

的地方模拟器RTL模拟器在电子设计达到几十年。”与RTL模拟器,人们检查设计他们会制造功能正确,”Simon Davidmann说治之的首席执行官。“他们模型Verilog,他们离开RTL,他们通过Verilog模拟器运行它,和它运行难以置信slowly-maybe数百小时,一事无成的一个模拟。需要几周时间,什么也不会发生,因为它是太慢了。”

年前,有人在专用硬件运行Verilog,而不是运行在x86处理器。今天,抑扬顿挫,导师和Synopsys对此模拟器用Verilog RTL和允许它运行。这些机器可以处理数十亿的盖茨,但他们花费数百万美元,他们认为是一种珍贵的资源在硬件团队。

”作为工程团队试图让软件运行在RTL致力于硅之前,他们遇到的问题花了很长时间的有趣的部分,“Davidmann说。“举个例子,假设有一个多核处理器运行Linux SMP硬件盒子里复杂的图形子系统或移动的视觉模式识别系统。这种类型的系统有大量的RTL,所以当工程师们想要启动的操作系统到有趣的一点,直到硬件加速器来生活,问题在于引导Linux或Android是数以亿计的指令。获得引导,微处理器是RTL的硬件仿真器,需要执行的一天emulator-literally 24至48小时到达有趣的一些硬件的一部分来生活。”

这就是混合仿真。当工程团队想要处理器RTL模拟器,在模拟器上运行它,它依赖于模型的处理器。这些可以包括从手臂快速和准确的模型,MIPS,和开源模型基于RISC-V ISA,等等。

这些模型已经存在一段时间。改变的是工程集团正试图使用模拟器更大量的RTL和他们遇到的硬件仿真器的能力。所以工程团队试图解决的RTL离开的模拟器,但它也必须应对第三方处理器,这是添加和不需要模拟。

如果只是模拟设计,它将运行更快。所以动机的一部分搬到一个混合仿真方法是获得更多的RTL模拟器的能力。RTL变大,为处理器可能没有足够的空间,所以它可以模拟快速模型在虚拟平台模拟器,模拟器,腾出空间。AMD、英特尔、高通、英伟达、三星和意法半导体都是投资在这种方法中,根据多个业内人士。

使用混合仿真
在最高的层次上,混合模拟被定义为在主机服务器系统的一部分,与其他系统在模拟或原型硬件的一部分。例子:三星与Synopsys对此混合迁移软件开发计划,已完成post-silicon, pre-silicon方法,规模和软件开发人员会采用。公司尝试模拟,不需要改变硬件的优势和软件可以在模型中运行,而无需修改。问题是太慢,所以交换到混合动力方案。

“这是简单的吗?不,不,”约翰内斯·斯塔尔说,产品营销高级总监Synopsys对此。“我们经历了一个学习的过程在很长一段时间在三星,Synopsys对此方面,和学习过程的一部分是把参与者——人的团队一起创建仿真模型,使用混合的人在三星方面,软件,和Synopsys对此技术提供商和所有的帮助方法和流”。

,似乎已经得到了回报。在过去的三年里,三星一直在使用混合仿真在生产设计运行Android pre-silicon流动,把Android,通过引导顺序,并确保所有的服务上来,所有的外围设备在移动SoC被正确使用。引导操作系统后,一些应用程序测试系统是如何执行的。

三星使用了所有的原型,仿真、虚拟环境和仿真器的供应商,与配置根据每个项目的细节,根据几个来源。

混合仿真的好的和坏的
混合仿真的定义仍然是灵活的,考虑到各种用例和技术。

“当你有核心处理器的本性,你没有完整的RTL,和您使用的是一个抽象的模型运行得更快,这是混合动力车,“让-玛丽•深色说,模拟营销主管部门导师,西门子业务。”可能是co-emulation,联合仿真,可以加速从一个仿真器盒服务器被旁边的盒子,交易人,等等,可以混合或不同类型。真正的混合的定义是,“我没有在RTL级的一切,但我使用一些抽象模型,可手臂快速模型或一个QEMU模型。只要我用模型表示的核心,然后混合。”

深色看到大量增加使用混合动力仿真因为各种各样的原因。“首先,他们没有RTL的核心,他们有一个抽象模型,”他说。“通过一个抽象的模型,他们跑得更快。当您运行一个复杂的移动芯片混合仿真上有多个核心,运行在混合快一个数量级比你可以运行其他的时钟速度。在传统的模拟器,运行的东西时,你是在1和2兆赫之间,但是当你在混合运行,运行40到50兆赫。这就是它的价值。因为你跑得更快,你可以把更多的周期,因此运行更多的软件应用程序类型的东西。”

然而,天下没有免费的午餐。“一旦你跑得更快,那是因为你正在运行的东西不是RTL,”深色说。“所以你需要有一个模型,该模型是一个很好的表示你的功能行为抽象,但它运行速度不够快,可用类型的时钟速度的要求。”

应用程序
典型的混合模拟的用户包括设计团队试图运行应用软件的设计。包括从布尔到Linux和Android代码,并运行一些应用程序。“当你解析这一水平混合仿真复杂的软件堆栈的网表,你需要调整司机,你需要有硬件和软件相互交谈。硬件不是完整的RTL。那你为什么上运行驱动程序和应用程序总线功能模型情况呢?这一切工作。这样彼此工作的时候,你会得到不错的速度,”深色解释道。

混合仿真用于移动设备设计建筑早期探索来确定它是正确的架构的软件正在运行,或者是否有正确的行为从权力的角度来看。”混合仿真的设置我们可以看到,软件提供了这样一个刺激的设计,它是在一个混合的环境中运行,所以它运行得更快。我档案软件设计的功耗,我可以执行,在那样的层次,快速的趋势分析。当选择某种行为是正确的硬件和相应的软件,然后慢慢地到RTL设计。在这一点上你有更少的混合和更多的RTL模拟器,所以你跑慢但变得更加准确。这允许设计逐渐趋同的环境中混合是不再需要,因为你想要完整的RTL模拟,”他补充道。

实际上,混合仿真的RTL的抽象级别和事务级别的验证堆栈。“混合仿真的目的是让你带走的物品你不需要运行在模拟完整的准确性,并运行更快,有两个主要的意图,”Frank Schirrmeister称高级集团董事、产品管理和营销节奏。一是托尼史密斯在一臂所谓Time-To-Point-of-Interest(领土),也就是启动Android重或启动Linux操作系统的点有趣的部分开始,简单地得到更快。”

混合仿真的第二个目的是运行实际的测试软件更快,他说。

”从Nvidia DAC和其他会议演讲,他们本质上所做的就是让GPU的模拟器,因为GPU是传统上难以模拟的并行性质,“Schirrmeister说。“所以它不能像处理器抽象模型。因此,GPU保存在模拟器在完整的准确性。等其他处理器子系统的会谈,你建立一个虚拟的平台。关键是这两个世界之间的联系。如果你将每个时钟周期同步减速系统中最慢的组件,在这种情况下,模拟器。你必须记住模拟器运行在1到2兆赫相比缓慢。虽然它仍然比纯粹的RTL模拟,慢得多不是一个虚拟的平台。所以我们的想法是有一个灵活的同步机制之间的两个节奏称之为智能记忆,这是一个缓存和虚拟世界之间的通信仿真RTL的世界。虚拟世界事务级别和模拟信号电平/ RTL级交流通过这个内存和可以独立运行,直到例如,硬件需要访问一个内存区域,一片记忆,最近操作的软件。为了做到这一点,必须有快速记忆之间的同步基本上转移虚拟世界之间的数据和硬件的世界,并使它们同步。但在这之前,他们可以独立运行。”


图1:类型的混合动力汽车。来源:节奏

混合和匹配
早期的设计周期,你可以开始看你定义软件架构和底层硬件,更明智的决定。

Silexica从应用程序的软件分析开始,然后执行高层性能评估的基础上垫片的模型(目前正在IEEE标准),根据Luis Murillo Silexica工程副总裁。“接下来,我们进入较低的抽象级别通过生成注释的软件模型执行体系结构探索Synopsys对此的平台架构师(PA)超仿真框架。一旦设计更多的定义,仿真系统可以用于芯片原型。开始在更高的抽象级别允许架构师开始做出明智的架构和应用决策在设计过程的早期,帮助避免代价高昂的建筑在设计周期的变化后。”

混合仿真比较有趣的一件事是多种方式不同的技术组合。

“解决硬件和软件工程师们面临一个主要问题上合作时验证各自的设计部分,具体来说,硬件通常是与软件验证断章取义,反之亦然,”博Zalewski说,硬件部门的总经理Aldec。“例如,软件工程师验证模型的硬件,这可能非常昂贵,运行缓慢。SoC或ASIC的前提下发展很可能包含一个手臂的核心,我们只是说,‘让我们分享一个在Xilinx Zynq UltraScale + FPGA在我们的一个高端的董事会是一个平台,它本身支持硬件和软件的联合开发与我们的硬件仿真平台。”

共享促进了FMC Host2Host大桥和否定硬件团队需要购买RTL代码Arm核心,根据Aldec。原型级别时钟速度也实现,软件团队的好处。例如,Linux上运行一个硬马里- 400 GPU核心启动几分钟而不是几小时之内,这将是下一个建模场景。

此外,硬件仿真平台允许访问的数量与相应的驱动程序来访问接口和I / o资源,将嵌入到SoC / ASIC开发,以及与外界接口。

混合仿真的未来
展望未来,混合模拟有望成为更有活力。“我们请求的人想做什么与碳,可以使用称为“交换和玩耍,”与快速模型本质上开始,然后交换周期精确的模型,然后一切都是准确的在你感兴趣的时间点。我们的问题是否与模拟我们可以这样做,”Schirrmeister说。“这是不平凡的,因为你的手臂快速的模型在一个更高层次的抽象。它不管道模型。你真的没有相同的内容处理器内部模型,虽然功能上做同样的事情。但是内部计算时间的方式是不同的速度模型。这就是为什么快。这就是拍摄周期精确的模型,Carbon-type模型。可能有一种做事情在一个方向上,但来回切换是下一步。”

另一件事需要考虑未来的一致性,因为如果有不同的物品现在交谈,一致性。这意味着工程师需要了解的问题可以回答任何给定的混合仿真设置和哪些不能。

还短期地平线上混合模拟人工智能应用程序,斯特尔说。“AI类似于网络空间,在很多情况下,有一个英特尔服务器驱动数据到一个人工智能芯片内数据中心,主要是。许多人工智能芯片看起来只是像一个大计算数组的内存,和芯片的一端作为PCIe输入。客户做什么在人工智能领域投入大量的芯片是一个模拟器,数十亿的盖茨,连接通过混合动力技术,代表了x86和来宾操作系统,无论他们想在这个虚拟主机上运行。对他们来说是非常重要的,因为他们想要模仿的实际编程和驾驶数据到人工智能芯片。这将继续增长。”

仍然悬而未决,尽管是混合仿真将与人工智能,机器学习和深度学习芯片,这比传统的soc使用完全不同的体系结构。

“如果你有一只手臂核心,你可以混合,“导师的深色说。“这是一个传统的模型。但你如何混合仿真体系结构时不同吗?答案是,并不是每一个方法而不是每个模拟器装备有效。”

深色引用三个关键因素。“可伸缩性,因为很快AI /毫升尺度大小。因此你需要一些尺度规模时没有性能的退化。接下来,必须有虚拟化,因为这些新的AI / ML / DL设计依赖基准性能,MLPerf、咖啡等等,这一切都是虚拟的。已经没有冰,所以,虚拟化是关键。第三,决定论是必要的。这意味着如果我运行一个测试序列一天5点钟,我第二天在不同的时间运行它,我将会有相同的行为。如果我编译设计,我只修改一点,我编译,编译需要复制相对相同的逻辑克隆和这样的事情。决定论在这个环境中是非常重要的,并不是每个模拟器与决定论是一样的。”

结论
混合驱动什么底线是大量的软件内容和确定系统的整体功能。所有它如何在混合仿真验证空间还有待观察。系统的体系结构正在发生变化,因此构建所需的工具,验证和调试。但是这些不同的选项是如何组合在一起的可能,个人企业和设计本身。到目前为止,没有单一的路线图,开辟了各种可能性,好的和坏的。



留下一个回复


(注意:这个名字会显示公开)

Baidu