在验证中使用人工智能的挑战

刚刚到正确的起点是有问题的,也不会让它变得容易。

受欢迎程度

压力使用AI /毫升技术在设计和验证越来越复杂芯片产生的数据量持续爆发,但如何开始建立这些功能为工具,流程和方法并不总是显而易见的。

首先,讨论是否有数据需要更好地理解这些技术之前,还是最好找出之前使用这些功能的技术发展。这似乎是挑剔的,但它是一个重要的讨论芯片行业。应用人工智能/毫升会影响上市时间、可靠性和开发日益复杂的系统的总体成本。如果该行业最终决定解决方案是两种方法的结合,它可能会需要更多的迭代和标准。

说,“这既是阴阳保罗•坎宁安企业系统的副总裁和总经理&验证小组节奏。“人工智能只是授权是基于数据,所以哪个第一?人工智能或数据?数据验证非常中央。重要的是不要忽视这一点。事实上,如果你想象一下,你已经有数十亿盖茨的设计,但现在每一个门可以有一个波形。它会表现和插入波基于一个实际的用例。你有无限可能的用例,然后你可以记录整个波形。如果你救了一个完整的跟踪,仿真跟踪,或为整个波形转储SoC验证和试图保持所有的全部数据,这将是绝对的图表。它可能是pb,但是至少上百tb。然后你需要回答的问题,什么是良好的保持,如何高效。”

简单地说,自动化已经让设计团队创建更复杂的芯片,从而需要更多的自动化市场窗口。这与验证管理系统尤为明显。

“这不仅仅是一个荣耀的电子表格,”坎宁安说。“你正在讨论的一个大数据平台。你谈论的东西必须运行在多个网站和多个项目。你必须有冗余和可伸缩性。需要大量的api。随着越来越多的人查询,api必须规模。你必须有一个代理服务器架构。”

视觉上有多个引擎运行模拟器,正式的工具,模拟原型——每个生成的数据进入验证管理系统。但是所有的这些数据是结构化的和分析为了找到bug -违规行为,可能会或可能不会导致问题,需要把所有的上下文将如何使用芯片。此外,所有这一切会发生比过去更快和更好地了解如何在不同的时间不同的工具的应用和在不同条件下会影响覆盖,产量,和可靠性。

“整个的历史EDA一直是单一事件,”坎宁安说。“我将和路线的设计。我将运行测试。没人看运动水平。你可能在很多不同的运行place-and-route成千上万次实验。你要验证不同的方式运行,和很多不同的测试,所以物流的芯片设计和验证。这是下一个时代,这就是人工智能可以发挥巨大的作用。它是关于学习我昨天和今天好些了。”

这是说起来容易做起来难,即使最好的工具。

“如果你把机器学习和人工智能的直译,有学习它的一部分,”尼尔说,营销主管部门的设计验证技术导师,西门子业务。”,但随着时间的推移,情况正在改变。你给它不同的数据集。它会随时间而变化。为核心的验证,你经常不能那么做。你不能取的数据集来自10个不同的客户,学习,和建立一个模型,可以帮助别人,因为客户不喜欢你分享这些数据,即使它提取,抽象,放到一个模型。是不可能得到接近的原始信息,因为阻力。这并不意味着在其他方面我们不做它。有数据分析的作用,例如,确定覆盖洞说,‘你有所有这些数据。这就是我们认为你应该看看。’ And it’s not strictly AI and ML. It’s using some of those algorithms, but mostly just deep data analytics.”

客户一直要求更有效的利用数据。“他们想要这些数据做AI和毫升在一段时间内多个设计,但是他们需要训练数据,“手说。“所以我们做到了这一点。还有一个地方AI和ML核心EDA,因为你想要取代启发式方法我们已使用了几十年。你永远不能做所有的验证。”

关键是能够集中在正确的领域。AI和ML,来自内部的数据集可以取代一些启发式的引擎,但它是一个平衡的,当从启发式转换到人工智能/毫升。需要深入理解你正在使用的数据集,如何适用于随着时间的推移,数据来自哪里,有什么挑战覆盖关闭。

手指出三个挑战报道关闭。第一个是你定义什么报道,这是足够的吗?第二个是获得足够的了解设计理解被模拟。第三,资源和能源应该集中的地方。

“如果你看看数据分析,对于第一个挑战,没有很多玩的,”他说。”报道关闭,你要把AI /毫升。这将是比启发式。我们一直在做,在基于学习。我们看这些算法升级到一个新类的算法。在正式的,我们一直在做强化学习和将使用达到保险点。那些一起将一组数据——深度数据分析可以应用于问,把基于测试时间,根据要求,甚至可以从PLM水平下推。我应该花精力在哪里?”

工作也正在与用户结合人工智能和数据分析。“这就是你看看你测试,你感觉舒服,”他说。“你看你如何确定你测试的漏洞。但是其他东西像虫子打猎呢?如果你有一个黑色的瓶子满了糖豆,只有几个颜色的衬衫,这是你打验证阶段。你正在寻找彩色糖豆,不是黑色的。你怎么确定?这就是很多能源需求——去理解我们所拥有的和没有测试,以及我们应该如何继续这只虫子狩猎的路线。这不会只是数据分析。这不会只是ML /人工智能。 It’s going to be a combination of all of those algorithms together.”


图1:为什么有这么多的数据。手机芯片设计与超过4000万门。来源:导师/威尔逊研究小组功能研究,2020年8月

鸡和蛋
所以哪个第一?这取决于你问谁,他们都在流,和他们试图完成什么。

达科Tomusilovic、铅验证工程师Vtool认为,正确的方法是首先数据。

“看看数据,”Tomusilovic说。“关注的问题。决定是否有一个正确的人工智能算法,适用于解决你的问题。再次AI并不总是在验证答案。不管我们有什么问题,认为AI不会神奇地解决它。我们必须记住验证是一个过程,人类解决额外的工具的帮助下。成为一名工程师意味着我们选择生活的看问题,试图找到最好的解决方案。AI将永远是某种帮助的工具。它总是需要相当多的人类智慧,而不是其他地区也就是点击一个按钮,你会得到一个答案。”

在过去的18到24个月,对人工智能/毫升有显著改变。最初,他们的想法是,AI将取代专家完全,但这已经转移到人工智能与专业领域的一个有用的工具。有一个很大的影响的讨论从哪里开始验证AI /毫升。

“假设你有一些你感兴趣的Google app访问布拉格和柏林,“Tomusilovic说。“人工智能也将帮助您选择其他目的地,这是类似的。基本上,处理大量的数据,然后根据它得到一些答案。在验证,它将大大不同,因为这里的关键是理解如何利用人工智能为了提供有意义的数据,然后问正确的问题为了得到有意义的数据。这意味着一些需要人类智能AI提供处理结果。一般来说,人工智能可以被视为一个右手应用工程师,而不是团队,哪些问题。人类智能AI必须提供有意义的数据。它必须被处理,结构良好,不只是扔很多垃圾数据,并期待AI奇迹。仅仅通过这一事实我们必须结构,我们必须提供有意义的数据,这需要我们思考的方式适用于人工智能。这是一个很好的一些自动化的第一步。 The next step is the AI processes this information using the algorithms. Then the next critical phase, where humans should be involved, is the analysis of the results. It can be very helpful even if they put in some data, and the AI runs some algorithms over them and it does not provide any results. The fact that you understand there is no correlation between the inputs you provided and the outcome provided by the AI can be helpful because you will not waste your time to reach the conclusion.”

首席执行官Hagai Arbel Vtool表示,这将是真正的在接下来的十年或二十年。但是在那之后,他说人工智能可能将被用于设计芯片。当这种情况发生时,当前的设计/验证模式崩溃。“我们今天看到的。如果你有芯片的部分被一个脚本自动生成,如果您验证脚本,那么你不需要做验证。”

Arbel强调,重要的是要理解人类擅长什么,擅长什么电脑。“我们明白之后,然后我们可以应用各种技术。有些机器学习。有些是AI,监督或无监督。但首先,我们必须了解人类与视觉效果很好,但非常糟糕的记忆。人类是非常糟糕的在处理大量的文本或处理数字。验证是很多东西,但是如果你把调试过程,例如,要花很多时间的一个原因是,因为人们无法记住他们。他们不记得前一步,这一步的调试。昨天他们不能记住他们调试完全相同的事情,他们已经发现了错误。他们不能在他们的头举行的所有信息。 And here is where computers in general, and machine learning and AI specifically, can help a lot.”

然而,这是说起来容易做起来难。验证仍是人工智能的一个新应用程序/毫升,还有未解决的问题。

“如果你有监督机器学习,需要一套好的标签为了训练软件识别问题,“罗迪厄克特说,高级营销总监Codasip。“目前尚不清楚如何获得好的标签集。与非监督机器学习你没有标签,但你的目标被找到的数据模式的见解。与SoC验证,有很多变量——你的设计的功能应该和DUT本身可以有很大的不同。得到一个通用的方法来改善验证似乎非常艰难。”

另一个常常被忽视的问题是数据隐私。“经典的监督机器学习方法是将大数据集,训练他们离线,然后部署分类系统,”厄克特说。“在最近的一次会议上,一些人指出,在制造业,在工厂机器的可靠性和性能非常敏感。他们无法想象与第三方AI /毫升公司共享数据,然后可以部署培训的结果在他们的竞争对手。一些公司已经在机器上安装ML单位解决问题的客户,学习原位。”

一些应用程序的AI /毫升工作比其他人更好。“AI /毫升或预测算法应用到较小的问题,例如识别有用的种子在回归,更有可能产生结果,比试图解决粗粒度的验证的挑战,”他说。“这种方法还可以在本地工作(具体的设计,具体的客户),而不需要大量的数据共享与EDA供应商进行训练。”

理解数据
无论采取哪种方法,目的是了解数据,可以从项目差异很大。

塞吉奥Marchese、技术营销经理OneSpin解决方案指出,有两个主要来源的数据验证。第一个是EDA公司的数据。第二个是由一个组织从一个特定的项目。“你需要开发健壮的解决方案。许多现代工具已经开始利用两组的数据,”他说。

与其他的EDA供应商OneSpin积累了大量的测试用例在过去的20年里,从它的起源开始在西门子研发。“如果你考虑的缓慢进化RTL编码,这些测试用例覆盖相当数量的现代硬件编码模式。OneSpin使用ML算法来分析大量的设计特点和自动配置策略的证据。这减少了用户需要学习和摆弄的细节证明发动机参数和自动加速的证明,”Marchese解释道。

似乎ML-type算法非常适合这项任务。什么是失踪,他说,是RTL数据错误,修复有关。“许多bug最终融入一个良好定义的类别,也许可以识别和自动固定。大多数公司使用正式的工具在RTL开发早期发现bug。然而,这些工具只检测有限数量的错误类型,以及更多可以做大的和高质量的数据集。在更一般的条件,而很明显,验证生成大量的数据,我不确定它产生最有价值的数据。在某种意义上讨论之前决定是否人工智能算法是正确的。”

还有如何分析验证数据的问题,多少可以应用在早期阶段收集的数据。

“流而言,验证是一个步骤在我们进入一个快速合成模式之前,“Arvind Narayanan说,产品营销主管Synopsys对此。“你是RTL编码,你运行的验证,你确保所有验证所需的需求被满足之前,你甚至开始合成。收集的数据,模型被建立,是常见的。数据可以使用任何引擎的平台,让你有这对巨大的数据集,可以收集,可以收获,在设计周期的,无论你在哪里,是否实现,是否验证——我们的目标是学习现有的数据集和构建模型可以预测未来会是什么样。同样的适用于验证周期。同样适用于设计周期。它有助于提高运行时,肯定的。在很多情况下,它还能改善你的PPA。这有助于在两方面。”

与众不同的想法
所有这些归结为是一个需要考虑的设计和验证数据的角度利用先进的算法在数据分析和AI /毫升。没有缺少的数据。面临的挑战是如何利用它。

“整个世界正在与一个数据爆炸,所以我们不需要重新发明轮子,“节奏的坎宁安说。“信息流从最终的应用程序部署到底层层——都是在同一金属裸,相同的云,我们要购买相同的磁盘或存储。在堆栈你真的需要一个水平分享见解。”

其他人也同意。“如果你越过EDA,的地方,无论是数据分析,无论是AI和ML,不管你使用的术语,所有这一切都归结到我们可以生成大量的数据验证。我们今天公开数据的一小部分。从供应商的角度我们公开的数据量很小而存在的数据,”手指出。

这些数据可以更有效地利用在设计团队和EDA供应商之间的合作,。“我们总是生成更多的数据比任何人看,随着转换方法,说,“我们想让这个数据,”“手说。“报道没有不同。Coverage-driven验证,模拟保持不变。这只是表达用户想要公开的数据创建的api来公开数据。但当我们进入这个新领域事情变得越来越复杂,你处理数量级的更多数据。我们不能蛮力。它将需要多个引擎。将会有更多硬件协助混合模拟。将会有一个需要混合使用不同类型的覆盖率数据。”

最后,如果有几个月tape-out之前,用户可以得到帮助找到虫子他们没有预料到,这并不表示覆盖的目标。“很多就是数据引擎。它将是新数据分析平台。但也会创造新的联系时间等需求到测试计划、验证管理,和连接起来的可见性。如果您正在构建一个系统的系统,甚至是一个大系统,你突然看到一个不可接受的风险,因为三个或四个水平的要求与一个复杂的测试计划,与一组覆盖目标,有差异。这样的数据变得非常有趣,非常有价值。”



留下一个回复


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

Baidu