中文 英语

硬件辅助验证可以避免吗?

模拟不再能够胜任系统级验证的任务,但是如果您没有充分提前计划,那么切换到硬件辅助验证可能会导致一些意外。

受欢迎程度

仿真正在成为复杂和大型设计的首选工具,但是从仿真转换到仿真的公司越来越认识到这不是一个容易的过渡。它需要金钱、时间和精力,即使这样,也不是每个人都能做对。

尽管如此,从模拟模拟,如果这些系统能够有效地利用,以保证投资。HDL模拟自半导体工业诞生以来一直是功能验证的工业主力,当处理器性能停滞时,HDL模拟就开始失去动力,因为HDL模拟无法从多核中受益。因此,随着设计越来越大,HDL性能基本保持不变,公司再也不能关闭他们的功能验证通过购买更多模拟器许可证来实现目标。相反,他们被迫开始吸毒借助硬件验证(海洋)。如今,公司在模拟器和物理原型系统上的花费超过了在仿真上的花费(见图1)。


图1所示。硬件辅助验证工具和HDL模拟器的收入。来源:ESD联盟

小型设计还能继续只依靠模拟吗?“一般来说,较小的设计公司专注于小型或中型设计,例如物联网的高级营销总监让-玛丽•布吕内表示Mentor是西门子旗下的企业.“当这一点不可行时——例如,当需要嵌入式软件验证时,或者当具有挑战性的TTM要求更短的验证时间框架时——收购HAV平台就变得必要了。”

硬件辅助验证在越来越多的设计中成为强制性的。“设计的尺寸越来越大,小型设计的定义已经改变,”Zibi Zalewski说,他是at硬件部门的总经理Aldec.“即使是小型设计公司现在也可以创造soc这要归功于处理器核心的可伸缩性和随时可以使用ip。这会影响验证方法和工具环境。仿真速度对于开发阶段仍然足够好,但对于设计增长到1000万到2000万个ASIC门的验证、测试和调试来说就不够了。”

虽然处理器核心通常不需要验证,但它们确实改变了验证的动态。“如今,每一个有意义的设计都有一个处理器,如果你不设计带有处理器的产品,你可能会设计一个位于处理器旁边的IP,”约翰内斯·斯塔尔(Johannes Stahl)说Synopsys对此.“以某种方式,你需要能够执行处理器所需的周期,这意味着数百万或数十亿个周期。这对每个要转型的人来说都是一个挑战。没有别的办法。如果你想保持相关性,如果你想为构建大型SoC的人提供服务,你如何确保你交付的部分真正在更大的背景下发挥作用?”

对于那些想要验证处理器核心的人,例如RISC-V在美国,模拟仍然是开放硬件组织首选的方法。但是与模拟相比,仿真可以提供显著的增益。

Alan Pippin, Hewlett Packard Enterprise的技术人员,最近在DV俱乐部做了一个报告,报告了在RISC-V设计中使用仿真的结果。“我们的设计专注于安全应用领域,有大约2500万个门。刺激措施已经完全到位Verilog可以合成。我们在内存中加载程序指令,并能够生成该测试平台所需的所有刺激。这个生成大型安全密钥的特定应用程序需要花费大约3个小时进行模拟,而我们在模拟器上只需要35秒就可以完成。这是一个300倍的速度。”

您可以用相对较短的测试序列来验证处理器核心。“通过模拟,你将能够运行数百甚至数千个交易,”该公司工程副总裁Khaled Labib说Arteris IP.“但仅仅启动一个系统就需要数百万乃至数十亿的事务,更不用说在系统上运行真正的流量了。因此,您最终将得到一个不具有代表性的验证过程,它可能会使您暴露出许多错误——或者无法暴露出只有在开始注入大量流量时才能看到的性能问题。这些是最宝贵的虫子,能提供最高的投资回报。”

混合解决方案是许多人的选择。Aldec的Zalewski说:“软件开发人员需要高效的工作环境,快速启动和调试,这在HDL模拟器中是不可能实现的。”“通常,软件团队常用的虚拟平台可以与HAV集成,HAV在项目的早期阶段连接软件和硬件领域,并允许您发现许多软硬件接口问题。”新利体育在线完整版

这可以带来非常有创意的解决方案。“我们曾与一家公司合作,该公司使用快速处理器型号来启动系统,”的首席执行官西蒙·大卫曼(Simon Davidmann)说治之软件.“然后他们对Verilog和硬件辅助环境进行了热插拔。这类事情在过去是非常困难的,但是现在的处理器模型都为主要EDA供应商的模拟环境提供了接口。然后他们可以毫不费力地将其放入模拟器中。在此之前,它们没有很好的接口,有很多工作要做。问题仍然存在于测试台上,但现在只需要几天的工作就可以解决问题,而不是几个月。”

进行转变
硬件辅助验证已经变得更容易实现。Zalewski说:“在过去的五年里,这个行业经历了很多变化,价格变得更便宜了。”“硬件内验证解决方案并不一定是一个庞大而昂贵的系统,只适用于最大的ASIC公司。FPGA容量的增长使得即使是小型设计的仿真解决方案也能够加速。单个FPGA设备甚至可以用来实现2000万个ASIC门设计,而不需要多FPGA分区。”

第一次引入硬件辅助验证并不容易。Arteris的Labib说:“对于小公司来说,模拟系统是昂贵的。“那些具有更高级功能的设备平均起步配置要100万美元左右。如果你想从更低的水平开始,你将不得不要么放弃一些特性,要么采用更小的商业配置。但这对我们的业务至关重要,即使是作为一家小公司,我们也必须找到必要的预算来购买仿真。”

这是一种权衡。Mentor的Brunet说:“假设无法通过模拟农场完成验证,验证团队就剩下两个选择。”他们可以在仿真平台与企业级FPGA原型平台之间进行权衡,从而节省一些前期成本。或者,他们可以通过按次付费的模式访问基于云计算的HAV平台,从而避免购买成本。与电路仿真(ICE)模式相反,HAV平台在虚拟模式下的云部署与任何其他EDA工具的云部署都是等价的,只要满足了等效的要求。不可忽视的是,核查小组必须接受使用新工具的适当培训。”

培训至关重要。Synopsys的斯塔尔说:“小公司可能有一些原型设计的经验,因为从定价的角度来看模拟是遥不可及的。“他们通常会获得原型系统,但它们是针对特定设计进行优化的,通常不能重复使用。模拟略有不同,因为对于单个项目来说,它的成本可能过高。此外,它们可能无法满足所有的要求,比如模拟器的空间或长期使用,因此它们可能会租用托管模拟器。许多小公司一开始都会租用模拟器,这样他们就不用为模拟器准备自己的空间了。”

配置空间可能是一个严重的问题。“我们有身体上的限制,”Labib说。“这些系统需要最低的冷却要求。他们需要最低的功率-一种非常特殊的三相。我们甚至纠结于找一个合适的地方,因为你可能在二楼,而箱子太重了。我怎么把这么大的东西带进办公室?这就是我最初考虑云计算的原因,但如果我要长期使用它,它的成本太高了。我在一个信封的背面做了计算,然后我说,如果我坚持这种方法很多年,它是没有意义的——至少对我的财务结构是没有意义的。’对我来说,购买并使用它就容易多了。”

对于其他人来说,仿真系统的成本很容易得到证明。SmartDV北美应用工程总监Bipul Talukdar表示:“如果你有非常大、非常复杂的芯片,重新组装的风险比购买仿真硬件所需的投资更昂贵,那么这是一个很容易做出的决定。”“通过fpga进行硬件原型设计广泛用于不太复杂的芯片,是一种低成本的解决方案。HAV还用于硅后验证,其中fpga与验证IP一起用于测试产品。”

获得必要的ROI
从单个项目中充分利用仿真硬件可能很难从ROI的角度进行论证,即使对于大公司也是如此。“除非你不断地向模拟器提供工作,否则你肯定不会获得良好的投资回报率,”HPE的皮平说。“你必须让模拟器保持忙碌状态。我们将继续在实验室里研究这一问题,并实施相关技术来实现这一目标。”

有了足够的设计,计算就变得简单了。Labib说:“我们的IP解决方案是可配置的,我可以在相同的硬件上同时模拟许多配置。”“我们还有一个回归环境,这在前期是一笔相当大的投资,但现在它已经设置好了,可以24 x 7地运行回归,自动报告结果,并将故障保存在一边。”

Testbench问题
采用仿真的最大障碍是testbench.Stahl说:“当公司首次采用仿真时,自然倾向于将仿真用作更快的模拟器。“然后他们学习阿姆达尔定律。如果测试台消耗了大量的模拟时间,那么您可能只能获得2倍的性能提升。然后他们询问是否可以对测试平台做些什么,这很快就演变成需要运行软件的话题。他们很快学会构建基于事务的环境来运行软件。模拟加速在使用模型中所占比例越来越小,而且可能永远不会发生,因为他们有太多的软件要运行。”

这需要一大笔投资。Labib说:“最初的投资是为DUT本身。”“我必须合成它,担心映射所有的记忆,担心时钟,重置等等。但是真正大的投资是迁移我的测试平台,这是一项非常可观的投资。我们整合了很多交易器,一半是硬件,一半是软件。我们与那些交易商交换通常是vip中的代理。如果我尝试加入计分板,我的表现就会立即受到影响。我们最终将测试台架精简到最低限度。”

这就造成了一个困境,因为如果没有计分板,问题就会隐藏在设计中。Labib说:“记分牌早早地就标记了事情。“如果我选择一个普通的设计,我通常会在模拟中拥有一个顶级测试平台。但在这下面,我有块级测试工作台,它监视每个块并尽早标记内容。当故障发生时,在模拟中立即捕获故障。当我开始对这些bug进行分类时,我已经接近失败的循环了。当我进入模拟时,我将不得不删除许多这些测试台元素。现在我有很长的路要走,我们只会在测试结束时看到失败。调试现在变成了一个更加困难的问题。”

找到模拟和仿真的正确组合是很重要的。“模拟编译很快,运行时很慢,”Stahl说。在模拟中,编译花费的时间更长,但执行要快得多。他们需要找到在模拟方面所做的中间点,这通常是非常少的周期,可能是从重置序列中出来的,并弄清楚在非常基本的水平上发生了什么,然后他们进入模拟。在模拟中,设计团队必须在必须重新编译设计的次数与运行设计并查看问题的次数之间找到正确的平衡。开发一种方法论需要时间。用于模拟的良好调试方法是什么?你如何使你的设计能够观察到许多信号,但仍然运行得很快?”

虽然与模拟相比,调试的难度被认为是一个负面因素,但与真实的硅相比,它是一个积极因素。当HPE首次尝试各种用例进行模拟时,Pippin报告了一个惊喜。“在我们从晶圆厂收到真正的硬件之前,我们尝试过用我们的后硅工具堆栈进行模拟。我们能够在硬件可用之前把软件准备好。从后硅验证的角度来看,这是一个很大的惊喜,我们并不期望在这里有好的结果。我们对结果感到惊喜。我们发现,在硬件到货之前,调试和解决一些早期的错误更容易,这样我们就可以在硬件到货后立即投入使用。”

结论
在第一次插入仿真时,硬件成本和DUT的移植似乎是最大的问题,但测试台才是真正的挑战。你如何处理这个问题将决定你有多成功。试图重新调整为模拟开发的现有测试平台的公司可能会遇到低于预期的结果。

那么您能从HAV供应商那里得到多少支持呢?据拉比卜说,这还不够。“你遇到一个客户,他们部署了大量的测试平台,你要求我们精简所有这些东西,只剩下骨架。每个人都声称有自动测试工具,但当你开始工作时,你最终要么为你的速度付出了巨大的代价,要么你签署了9个月的工作来重写测试平台,让它做一些有用的事情。”

在整合模拟流方面,行业仍然需要帮助。Imperas的大卫曼说:“这种晋升通常是私下进行的。“即使公司公布了他们的发现,他们也往往不会提供任何细节。对于开源的人来说,今天不是仿真,但他们正在使他们所做的一切都可见,人们可以看到正在使用的方法以及它们如何随着时间的推移而发展。今天,他们在云端做很多事情。有趣的是,现在许多云系统都包含FPGA,人们开始尝试将RTL放入这些云FPGA块中进行模拟。”

过渡到硬件辅助验证并不容易。它需要金钱、时间,也许最重要的是,训练才能得到好的结果。对于许多公司来说,找到有仿真经验的人可能是他们最好的投资。



1评论

Shashank V M 说:

嗨,布莱恩,恭喜你又出版了一本好书。关于测试台问题,这提供了关于编写可用于模拟和仿真的UVM测试台的信息。

值得一提的是SCE-MI标准通过Accelera进行协同仿真。

留下回复


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

Baidu