中文 英语

EDA挑战机器学习

除了缺乏培训数据外,EDA中的许多任务可能是机器学习的完美目标。有什么可能改变以解决这个问题?

人气

在过去的几年里,机器学习(ml)已经从一个有趣的新方法演变,允许电脑在国际象棋中击败冠军,并进入几乎所有东西被吹捧为灵丹妙药。虽然有很多炒作围绕这一点,但似乎机器学习可以在EDA流中的许多任务中产生更好的结果,而不是最调味的建筑师和设计师可以生成。

EDA公司一直在投资这项技术,并正在宣布一些结果。但是,由于几个原因,开发人员和用户似乎会慢。首先,结果是非确定性的,没有人肯定如何评估与之相关的风险。其次,缺乏培训数据。没有人想在他们的设计上打开引擎盖并分享训练目的。

“在任务复杂但被数据包围的设计流程中,机器学习将提供最大的价值,”该公司首席执行官Harnhua Ng表示Plunify。“如果在单个确定性公式中可以定义或解决问题,则该行业将解决问题。”

过去,该行业通过将问题分解成更小的任务来解决这个问题。“我们花了很多时间来制作芯片的配方,”Rob Knoth解释说,他是Digital & Signoff集团的产品管理总监韵律。这包括不同的关闭时间,布局限制,楼层规划,以及了解血腥的细节电迁移(EM)具体进程规则。有很多变量,这有很多专家参与其中。几乎每家公司都是大或小的,都有常驻大师,他们是地板平面或时机或功率融合的专家。“

然而,将变化添加到与那种居民专业知识的工作流程中不会过夜发生。在芯片制造商愿意致力于改变流动之前,需要保证它是昂贵的,高度破坏性的,并且需要保证结果。

非确定性
将机器学习应用于EDA问题并不一定立即产生预期的结果。

“最困难的问题是ML应用系统输出的不确定性。ansys.。“它并不总是保证高度准确的结果,尤其是在一开始没有足够的数据的情况下。”

要了解我们必须探索细节的问题。“Chip designers need accurate data to design and verify chips, and basic ML methods (e.g. taking some data, building a regression model, then pulling data from the model) have accuracy issues that preclude them from use for most chip design tasks,” explains Jeff Dyck, vice president of technical operations forsolido.(最近被西门子收购)。“原因是机器学习模型预测的数据存在一定的误差。它可能很小,在一种情况下使用它可能会很好,并且与蛮力分析相比可以节省相当多的时间和资源。在另一种情况下,预测误差可能非常大,可能导致重复,其成本比使用机器学习节省的时间多几个数量级。由于设计决策需要基于可靠的数据才能让芯片工作,准确性水平上的不确定性使得设计师拒绝机器学习方法,转而使用更强的蛮力技术,尽管它们可能需要更长的时间运行,覆盖的设计空间更少。”

要消除非确定性的差距需要更多的数据,这就导致了下一个问题。

收集足够的数据
为了找到最合适的ML方法需要检查可以使用的技术。

“目前最常见的机器学习方法被称为监督学习,这些方法基于包含已知好的设计点的大量数据,”该公司首席技术官Ty Garibay表示动脉率。“They are unlikely to be very useful for chip designers because the details of what defines ‘good’ change so rapidly from one semiconductor process node to the next, from one company to another, and even from one type of design to another (i.e. CPU,SOC.FPGA.模拟等)。机器学习的第二类被称为无监督学习(unsupervised learning),它也不太可能直接有用,因为它的主要用途是识别大量元素的未知相似性。然而,无监督的方法很可能可以有效地应用于提高生产成品率。”

谢天谢地,还有另一种选择。“这是对IC设计师最有用的机器学习的第三个分支,因为它模仿我们每天都做的事情,”仍然是Garibay。“被称为加强学习,这个过程通过创建输出来学习,根据各种度量来分析结果,推荐旨在改进结果的更改,然后再次绕行循环。”


图1:机器学习类型。来源:半导体工程德赢娱乐网站【官方平台】

该序列对工程师来说,他们的工程师对筹集芯片融合到正确的设计规则的正确实现,这也会非常熟悉,这也符合频率,面积,电源和性能目标。“如果将设计方法封装到闭环中,则可以允许自由地运行许多迭代的方法,因此加固学习可以自主地识别人类设计工程师不太可能发生的最佳解决方案,”添加Garibay。“一旦完成这台机器学习表征循环,限制因子将保持与今天的相同 - 设计实施方法的循环时间。”

能够改变计算工作与结果的质量(QOR)是至关重要的,使得迭代分析可以在学习过程中早期运行非常大的迭代,探索一个非常广泛的设计空间。一旦确定了本地解决方案,可以以计算功率为代价来启动精度和QOR,允许方法从局部最佳解决方案中搜索。QOR的良好预测因子对减少整体SOC实现时间至关重要。

这可能意味着对于某些领域,培训应该由最终客户而不是EDA行业来完成。“在《Cadence》中,我们把这个问题分成两个维度,”Knoth说。“内部有机器学习,这意味着人机界面没有变化,或者外部有机器学习,这是人类与过程互动方式的一种更具变革性的改变。”

knoth认为两者都有一个地方。“外面的机器学习是关于找出您的专家正在进行和加快它们需要关闭时序的时间,或者在架构冻结和签收之间的时间,或者如何设计电网。这是人机相互作用。然后内部有机器学习。即使节点特定数据缺乏缺点,我们也可以基于良好的设计,而不是一个不好的设计,节点到节点和架构。“

Solido的Dyck列出了他们在大约三件事之后的战略:

1。自适应学习:该算法必须能够积极地针对感兴趣的领域、高度不确定性的领域和行为正在变化的领域,并在这些领域中填充数据,以积极地提高准确性。其目标是在所有感兴趣的领域自动满足设计师的期望精度水平。
2。Accuracy-awareness:如果设计师知道一个答案在已知的范围内是准确的,那么他们就可以增加一个适当的范围。任何成功的算法都必须能够预测置信区间或有其他方法来测量预测的准确性。
3.验证性:机器学习数据必须以某种方式可核实证明机器学习模型正在做正确的事情。

Dyck认为,如果设计师的结果有足够的结果,则已知准确度,并且机器学习预测是可验证的,然后他们可以做出可靠的工程决策 - 他们可以在设计评审中捍卫这些决策。然而,这可能排除用于一些在一些更前端任务中使用的技术,其中预测器中的误差水平仍然很大。

“创建这些解决方案需要很多工作,”添加了Dyck。“不仅仅是在算法开发方面,而是在用户体验方面,为了使其清晰地设计师可以做出准确的结果,并且清楚地表明结果是以他们可以理解的方式验证的。许多机器学习举措失败,因为没有意识到让所有这一切的大范围。“

高级节点或旧节点
设计规则和其他新变量正在使高级节点更加复杂。DYCK提供了一些示例,包括更宽的电压域finfets.,意味着您必须查看7-10个电压而不是3个用于传统节点,增加了反向偏见FD-SOI.,以及多种提取条件引起的双重图案化, 除其他事项外。“传统节点的典型处理/电压/温度(PVT)空间可能包括3个工艺条件,3个电压和3个温度,而在现代节点时,运行50至100个PVT和提取条件是共同的,”Dyck说。

不幸的是,高级节点也缺乏数据。“使用基于电源或总能量的成本函数,可以使用当前节点上现有设计的机器学习,以优化同一节点上的新设计,”Lanza Techventures的董事总经理“。“虽然,新节点呈现不同的物理限制,并且可能具有新的结构,基于我们对旧节点的理解开发了一个新的节点。这意味着有来自以前的节点的设计,可以在最新节点中指导设计。使用所谓的传输学习,我们可以使用在以前的节点上培训的机器学习模型,并将它们用作新节点的构建模型的起点。这意味着一个人不需要从每个节点的划痕构建新的机器学习模型。他们可以从经验的位置开始,这可以转移。“

这符合工程师工作的方式。“一位良好的设计师是65nm的优秀设计师,在28nm,我保证他们将成为5nm的优秀设计师,”康乐说。“他们很好,因为他们已经学会了如何适应,提取改变的内容,并确定新技术或架构或更改的内容所呈现的新问题。他们看看是什么新的,了解它与当前的伎俩有关。这是机器学习期望实现的角色。“

可能更改以启用更多对数据的访问权限?“由于SoC获得了更复杂,更加复杂的IP重用,该行业必须努力努力,即有多种方式NDA,私人和公共云等,”指向kn。“这只是问题的另一个方面。如果奖励足够大,该行业将找到以安全的方式合作的富有成效的方式。没有人会放弃他们的皇冠珠宝或他们的知识产权,但有必要加快你可以在新节点上产生的节奏。奖励很大。“

当然,机器学习的结果只能与用于创建设计的数据一样好。并且要真正有效,必须包括在使用情况和系统背景下的设计。

“Academia有一个巨大的运动来看待实施,在那里开发软件,但也将钩子放入硬件中,”产品营销经理Gordon Cooper说:synopsys.'嵌入式视觉处理器家庭。“半导体公司必须建立芯片,但我们只是管道的开头。”

早期成功
铸造厂显然有必要的数据和产量是一个高利润的领域来解决。ANSYS的Chang说:“ML技术已经被广泛应用于通过硅片图故障诊断、设备监控/跟踪/诊断和工艺优化来提高产量。”“虽然需要许多蒙特卡罗模拟来解决过程或设计属性的变化,而且可能非常耗时,但ML技术已被证明可以预测所需的样本输入,以实现输出变化的预测,并减少运行时间。”

它也吸引了人们对设计流程的兴趣。“ML可以用来生成新的SoC的互连,无需设计工程师的任何干预,除了设定设计目标和创建初始的物理平面——当然,前提是可能有一个解决方案,”Garibay说。“迭代设计方法可以产生许多可能的互连候选,通过布局规则正确的设计来实现它们,分析结果并做出改变,循环直到找到解决方案,或者算法认为如果不改变输入参数就没有用处。设计工程师很可能会继续优化,但对于许多应用来说,算法创建的设计将足以用于生产。”

路由是另一个吸引人的领域。“我们已经宣布了路由的工作代码,”Knoth说。“我们改进了系统内部的工作,并与没有这种功能的工具相比,减少了12%的负松弛(TNS)。我们可以从内部回归和与一些主要合作伙伴合作中获得大量信息。”

适用于芯片的技术也适用于fpga。“我们最近训练了一个数据库,通过分析各种方面,包括拥塞、延迟、位置和逻辑元素,来判断FPGA的布局是好是坏,”plunity的Ng说。“如果一个经过训练的数据库能够在让软件进行路由之前,首先评估各种位置地图来推断其结果,那么它将减少运行时间。更进一步来说,如果设计师能够在运行P&R之前使用该数据库预先生成数百万张位置地图,他们便能够节省大量编译时间。”

未来
人们正在寻找机器学习可以提供价值的其他领域。“电子系统设计,验证和项目管理数据可以利用,以提高整体工作流程效率或管理项目风险,”总裁兼首席执行官OneSpin解决方案。“这将需要沿着多个工具的设计过程收集和整合数据。在较小的规模上,通过将高级数据分析与新的验证工作流程结合,可以进一步提高个人方法的有效性,例如形式验证方法。特别是,在运行时在多次剧集期间收集性能数据允许构建用于微调启发式的预测模型或投影工具运行时间和验证结果。虽然底层预测模型将具体对手的任务,但它们在其建设期间分享了良好培训数据的要求。“

新技术正在不断地发展。“深度学习之父Geoff Hinton最近提出了一种叫做胶囊网络的方法,”ArterisIP的首席软件架构师Manadher Kharroubi说。胶囊引入了一种新的构建块,可以用于深度学习,更好地建模神经网络内部知识表示中的层次关系。这种能力正是人类和现有EDA工具从下向上分析极其复杂的设计时所利用的。虽然处理整个SoC可能总是一项具有挑战性的任务,但人类工程师用来使大量数据易于理解的划分类型很可能会导致一些局部最优解决方案,当组合起来时,会产生一个接近最优的全局结果。”

结论
当数据采集漫长而昂贵时,机器学习提供最大值,并且当有很多数据来学习和预测时。“我们看到现代节点发生的完美风暴,因此,我们看到我们在流血边缘过程中发生的机器学习方法的最大好处,”Dyck说。

这些改进将帮助每个人,而不仅仅是最新节点的人。ML会更换专家吗?“他们总是将成为推动切割边缘真正创新的过程的关键部分,”康乐说。“设计师对最终产品的质量产生了巨大影响。它将始终是人类的聪明才智,增加了最终价值。更智能的机器学习算法可以帮助您完成更好的工作,但仍然是工程师适用于实现真实区别的部分的工艺。“

相关案例
在EDA使用机器学习
这种方法可以使设计更好、更便宜,但它将需要大量的工作和更多的数据共享。
机器学习符合IC设计
有多个层,机器学习可以帮助创建半导体,但到达那里的其他应用领域没有那么简单。
CCIX启用机器学习
一个系统的平凡方面可以决定一个解决方案的成败,而接口通常定义了什么是可能的。
机器学习越来越流行
经过二十几十年的实验,半导体行业正在加争夺这种方法。



1评论

凯夫 说:

ML为EDA提供两件东西 - 良好的提取工具和快速(模拟)模拟器 - 因此您可以创建电路并检查它们是否工作。

在5nm时设计也是不同的Ballgame - 在制造过程中的高可变性意味着您要将同步逻辑移到异步上,并丢弃数据流(异步。)规格。

目前的设计过程的低效率似乎说EDA对中断的成熟 - AI&(半)正式方法可以很快消除Cadence和Synopsys。

我从这里开始

http://0a.io/boolean-satisfiabess-problus-or-sat-in-5-minutes/

[+ Solido只是一个ML公司在他们自己的营销宣传]

留下一个回复


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