微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > 机器学习“邂逅”芯片设计,将会碰撞出什么火花?

机器学习“邂逅”芯片设计,将会碰撞出什么火花?

时间:06-03 来源:半导体行业观察 点击:

数据集
Plunify 的 CEO Harnhua Ng 说:"获取一个好的数据集可能难度很大。这些工具的学习能力可以保证当工程团队使用它们越多时,学习数据库就会变得越聪明,从而加速设计完成的时间。"

所以只有那些已经有大规模数据集的人可以使用这些技术吗?或者 EDA 可以提供初始的训练吗?"对于 EDA 领域的许多机器学习应用而言,与算法相关的参数选择和训练需要完全在设计客户或代工厂的计算环境内进行。"Cadence 的杰出工程师 David White 说,"在这些应用中,最具挑战性的任务是创建自动化的训练和验证方法,使其可以确保算法在目标硅技术上按预期运行。在一些案例中,更先进和更复杂的机器学习方法可以提供更高的准确度,但要在该领域提供支持却最为困难。在开发过程中,人们需要根据所需的准确度以及可用训练数据的数量和其它支持以及模型相关的约束条件来权衡合适的算法与架构选择。"

听上去很难,实际上也正是如此。"EDA 问题有很高的维度、高阶的互动、不连续性和非线性,需要先进的实验技术设计、先进的监督学习、智能筛选和过滤以及基准基础设施(benchmarking infrastructure)。"Solido 总裁兼 CEO Amit Gupta说,"此外,EDA 问题还有很高的流数据速率和大规模的数据归档,需要优化的流解析器(streaming parser)、可并行化算法、高效和可扩展的集群管理、自动恢复和修复以及大数据调试。"

Mohandass给出了一个互连设计所需的数据集的例子。"完美的互连策略依赖于非常大量的 SoC 参数,其中包括布图(floorplan)、布线约束、可用资源、连接要求、协议层面的依赖、时钟特性、工艺特性(比如线延迟、功耗、带宽和延迟约束)等等。设计策略空间中不同维度的数量可以增至数百个,这会创造一个过大的设计空间。"

基础设施
这个问题有几个维度。Synopsys 副总裁兼 CIO Hasmukh Ranjan 说:"机器学习可以被用在 EDA 中,但为了最大化其所带来的好处,机器学习既应该被用在这些工具本身之中,也应该围绕这些工具用在设计流程之中。"

高通的 Dobre 表示同意:"没必要将所有东西都做到 EDA 工具里面。你可以用独立的机器学习解决方案来驱动已有的工具。"

IC Manage 的执行副总裁 Shiv Sikand 提供了一个例子:"通过分析之前流片(tapeout)的数十亿个数据点,我们可以预测漏洞、设计复杂度、人力资源、证书的影响,并计算当前项目服务器集群的吞吐量。通过确定半导体设计中的瓶颈,我们可以提供前瞻性预测并识别潜在的延迟。"

我们可能也需要检查我们运行工具的基础设施。"我们也需要考虑智能存储,"Sikand 补充说:"通过分析与文件操作相关的数据流,聚类和回归分析等机器学习技术可以持续改进 P2P 网络和缓存管理,以提供更好的应用性能。"

Dobre 的团队也很熟悉这些问题:"我们有包含数以万计 CPU 的计算农场。当你查看需要同时验证的设计的数量时,你该怎样以一种最优的方式来使用这些资源,而不造成资源需求爆炸?这就需要数据管理。你该怎么有效地应对在设计空间和在代工方面的这么多的数据,并提取出下一设计所需的知识和信息以减少学习周期?"

将运行该机器学习算法的机器又增加了额外的另一个维度。"机器学习将通过现有的复杂算法来减少设计和仿真的时间。" Markets and Markets 副总监 Sachin Garg 说,"EDA 工具可以采纳或采取智能决策来使其更进一步,但我们需要更好的硬件(CPU+GPU)来运行如此复杂的机器学习算法,以使其更有效率。当前一代又一代的 GPU 可以为并行计算负载提供巨大的加速和出色的性能扩展。"

Cadence 的 White 同意这个说法:"在大规模并行计算架构领域的进步为基于假设的优化和验证( what-if based optimization and verification)开启了大门,从而可以有效地探索设计空间和融合最有潜力的决策。"

应用领域
成功依赖于定义正确的特征集合的能力。"以考虑工艺偏差(variation)的设计为例,"Ku 说:"如果你想建模一个概率密度函数,你需要属性(attribute)。特征(feature)是能将一种事物与另一种事物区分开的属性。对于人来说,特征可能是头发颜色、身高、性别。对于考虑工艺偏差的设计而言,特征则可能是 PVT 角、定义器件变化的算法和器件的随机变量。所以特征就是一些对一个特定问题重要的东西。"

在 10nm 和 7nm 工艺上,我们可以看到有很多工艺偏差。"代工厂提出新工艺技术的努力是很重要的。"Dobre 说,"即便这是在数字领域,也需要将库元素看作是模拟设计。你必须跨多个工艺角来对设计进行验证。你该怎样在不出现所需资源爆表的情况下实现高质量?机器学习可以将生产力提升 10 倍、减少数周的测量时间和减少资源消耗。在识别会导致产量不达标的模式上,机器学习是一种有效方法。我们看到了其中的巨大潜力,可以带来经济效益。"

EDA 正在努力解决这个问题。"对于先进节点的设计,新型的硅技术和额外的验证需求带来了更大的不确定性,从而也提升了潜在的风险。"White 说,"在传统的设计流程中,先前的设计和布局数据并不会被有效地用来帮助指导下一个设计。分析方法的进步允许我们检查(开采)之前的设计数据和趋势,并将其用于在设计流程的最早期阶段指导设计决策。这些同样的方法也可以被用于发现和提供驱动机器学习引擎的训练和开发的背景(context)。这样的解决方案很可能需要利用大量的数据和数百个机器学习组件,它们都将需要管理和验证。一旦数据被放在了适当的背景中,机器学习就可以被用于获取复杂行为提供的分析(比如寄生、电气、验证),而且准确度高、速度快。"

另外还有一些其可以提供帮助的设计领域。Hall 说:"我们可以将其用于内存或逻辑门的功率估计或时序估计。这将能减少不确定性并为人类工作提供补充,从而可以创造出更具竞争力的产品。"

另一个正在出现解决方案的领域是布线(routing)。"在互连设计的背景中,第一步是识别每一个维度中设计策略的组合,这能为之前大量不同的 SoC 设计带来优良的解决方案。" Mohandass 指出,"下一步是使用这些信息来学习模式并预测哪些策略组合将最有可能带来优良设计。"

类似的技术也可应用于 FPGA 布线。"带有复杂时序和性能封闭(performance closure)问题的复杂 FPGA 设计是基于机器学习技术的工具的良好候选项。" Plunify 的 Ng 补充说,"机器学习工具能够分析过去的编译结果,从而可在数以千万亿计的可能方案中预测出最优的综合/布局和布线参数以及布放位置。它们可以使用统计建模和机器学习来推断哪些工具参数对一种设计最优,以从数据中提取见解来提升结果的质量。"

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top