EDA中的机器学习加速了设计周期

文章:杆Metcalfe

集成电万博投注网址路设计的复杂性不断增长,但人工智能和ML可以缩短设计周期。

人工智能(AI)和机器学习(ML)有很多种形式,但无论智能看起来像什么,它都是以结果为中心的。如果存在明确的“正确方式”和“错误方式”,那么AI就需要展示出遵循“正确方式”的能力。更确切地说,使用人工智能的系统必须自己解决如何实现这一目标,并随着时间的推移变得更好。

电子设计自动化(EDA)工作是AI的理想任务。集成电路(IC)的复杂性意味着需要评估的可能设计迭代的数量持续增加,但它们的规律意味着设计规则,工作井可以在设计的大部分中产生巨大的积极影响。在较少的迭代步骤中,使用AI和ML从“可能”到“绝对”可以在自动流中提供更高的生产力,因为本文解释说明。

为什么我们需要ML,为什么是现在?

在EDA中,结果是一切。该行业处于一个不断的发展状态,以加快设计过程。随着制造过程的尺寸缩小,IC变得非常复杂,并且随着任何设计工程师的欣赏,复杂性增加了设计周期。对于任何类型的设计,这是真的,无论是使用离散组件还是集成晶体管。幸运的是,对于IC设计工程师来说,在晶体管级开发的过程遵循特别严格和相对可预测的规则。复杂性是设计参数之间的协同依赖性的面部。虽然迭代将最终排出这些共同依赖性的所有可能组合,但这只会增加设计时间。

机器学习是如此伟大?

机器学习或ML,是革命性的和破坏性的,而不是因为它是新的,而是因为它是自第一个工业革命以来一直以来的好技术。它允许我们更好地做事,并且最重要的是,更快。随后,这意味着做更多这些东西和更大的规模变得具有成本效益。

知识和经验在减少那段时间方面发挥着令人难以置信的重要作用。这是可以应用ML的地方,提高经验丰富的工程师的生产率(见侧边栏,“机器学习是什么伟大的?”)。它以两种方式应用 - “内部”和“外面”。ML内部用于幕后的景象,以减少到达设计闭合所需的时间,而在外面使用ml,专家系统用于关闭迭代设计的循环,这仍然是一个非常手动过程,并取决于可用性和能力设计师。两种类型的ML / AI适用于EDA,两者都将在IC设计的未来越来越重要。实现ML能力时使用各种不同的方法。图1演示了如何将人工智能、ML和深度学习(DL)组合成一个完整的解决方案。

设计挑战的大小是相对于设计的大小;IC的大小正在迅速增长,但IC设计工程师的数量与速度不匹配。结果,设计挑战以比线性更为指数的速率增加。这有效地意味着生产力的净损失每天都在越来越大。

由于铸造工艺尺寸继续缩小,晶体管密度随着最新节点而增加。在7nm时,不再可以使用“只”200万个单元格创建块。事实上,5,10或甚至1500万个细胞块正在成为规范,并且IC可以很容易地集成50个等块。

比较AI、ML和DL

图1人工智能、机器学习和深度学习可以根据所使用的底层架构进行分类,而不是根据它的应用方式。

较大的块等同于更复杂,即使设计可以将其描述为一定程度的步骤和重复。结果是两倍:较大的块和更多芯片。保持升级的步伐需要更高的设计效率,今天,可以使用ML最有效地解决。

毫克里面

要说,ML已成为一个流行语(或短语),在这种情况下,有问题的词可以开始失去意义。ML和AI的一个广泛接受的定义包括引用能够在不明确编程的情况下操作以进行问题的应用程序。

正是这个术语,“明确编程”,使ML如此适用于设计自动化,确切地说,是因为如此多的设计过程仍然是相对手动的。今天,以编程的方式自动化设计过程的每个方面是不可能的,因为它在很大程度上依赖于工程师的经验。没有ML, EDA行业很好地提高了工程师的生产效率;有了ML, EDA行业将会做得很好。

机器学习技术的快速发展部分得益于现有处理能力的提高,这反过来又使得计算机科学家在机器学习的工作方式上取得了巨大的进步——这是一种良性循环,与半导体行业的一般运作方式非常相似。

由于其独特的需求,EDA是ML非常自然的家园。它需要迭代'什么'情景进行评估,但更重要的是可能是这些方案的可预测性。在M1术语中,推理是令人难以置信的强大,因为它允许模型到达结果,而无需使用数据集中的每个点。这允许ML在相对较短的时间内培训以提供改进的结果。

作为一个例子,芯片设计师今天面对的最大挑战之一是关于时间的巨大(且仍然不断增长)块的放置和路由。在实施的早期阶段,到达设计放置和优化可以从认真开始的点取决于预测定时要求是否可以与给定的平面图满足。这种“鸡肉和鸡蛋”的情况依赖于对预测结果具有足够信心的工程师,以花费设计所需的时间,以实现预测的定时结果。

在设计流程的早期阶段,设计人员需要在少量的物理设计数据基于少量的精度快速达到快速的结果。在地点和路线(P&R)过程结束时,有更多的物理数据可用,因此定时预测​​变得更加准确。但是,这种准确性来自运行时的成本(图2)。

时间预测

图2预测定时在适当位置和路线流程必须表示最终设计时机。

AI的规模是什么意思?

有趣的是,规模不一定是ML最重要的部分。是的,通过其性质,它是固有的可扩展,因为一般来说,一旦训练完成,该模型可以重复使用AD Infinitum。但是,人工智能的“事情”的大规模繁殖相同的“东西”多次不是毫无唯一的申请。可以说,通过其性质,ML需要应用于独特的问题,以充分利用其潜力“学习”。

在每个新的高级Finfet.流程节点中,有越来越多的物理设计规则需要考虑和遵守。这些规则中的许多将在某种程度上影响时间预测。这里的目标是在流开始时使用ML以足够高的准确性预测给定楼层平面图的时间(参见边栏,“在人工智能中缩放意味着什么?”)。如前所述,每个节点都有更相关的规则,但当然,每个设计都可能(也可能)与之前执行的任何其他设计有显著不同。例如,一种设计可能使用10层金属,而另一种可能使用15层;这种巨大的差异对时间有很大的影响。正是这种可变性使得在每个可能的铸造节点上明确地为每个可能的设计编写解决方案变得如此困难。

虽然可能难以处理此数量的数据,但它正是可用于训练ML模型的数据。每个设计都会产生预路由前和路线后的数据,但更重要的是,数据还将包含该设计的演变,显示工程师所做的事情来达到计时目标。

这些数据可用于培训内部的ML模型,因此当它遇到设计或与其非常相似时,它将能够以更大的精度预测 - 最初在较短的处理时间内放置块。在路线阶段的更准确的结果将在路线阶段更快地提供更好的结果。图3.展示了如何使用来自现有设计的时序数据来训练新的基于ml的时序模型。万博投注网址培训过程可以通过使用专用硬件(如gpu)或在云中运行来加速。

机器学习培训

图3.使用设计预测和最终时序数据进行机器学习培训。

与大多数ML型号一样,它接收的培训越多,它越好地预测所需的结果。在这种情况下,甚至来自单个设计块的数据也可以为模型提供足够的信息以产生更好的结果。

专门设计的结果

需要强调的一个关键点是,经过训练的模型只与特定类型的块相关。例如,如果该块是7nm进程上的CPU,那么使用相同的模型来预测12nm进程上的GPU的路由后计时结果就毫无意义,也没有任何好处。这样,所有设计的数据聚合不会为任何设计返回一个更好的模型;万博投注网址相反,它必须与手头的设计相关。

每当模型接受设计数据训练时,它就会生成一个模型,该模型将加速该设计或与之非常接近的设计的前路线过程。所有的训练都在室内进行。换句话说,数据永远不会离开设计环境,而且显然它在任何其他设计流程中用处不大。

这是一个完美的例子,即显式编程如何对减少周转时间的贡献,因为非常大的IC现在具有数十个复杂块,每个都包含数百万个单元,其中包含更多数百万个单个晶体管。设计的每个元素,直到各个晶体管的特性,可配置,每个元素的每个部分都对整体设计的影响很小但不会微不足道。符合这个看似无法克服的设计挑战是EDA一直卓越的地方,但添加ML正在将该行业带到下一个范式。

加速度与准确性

培训模型的这种特殊性非常重要,因为这意味着一旦模型在设计中的一个块上培训,它可以在该设计中的所有后续块上使用。由于许多IC现在将拥有数十个块,每个IC都将迭代地设计成实现随着特征进化所需的性能,预先路由加速度和ML将带来的路线后准确性将是有益的。

如前所述,培训模型所需的块数量是最小的,实际上,更重要的不一定不一定。将有递减递减,因此没有必要在设计中培训每个块的模型。

这也突出了另一个关键功能。在AI术语中,通常在非常强大的服务器上使用非常大的数据集进行培训,通常需要相当多的时间。通过这种方法,培训可以在开发机器上进行,包括GPU加速器在相对较小的数据集上,以小时而不是几天完成。

虽然每个设计都具有不同的规格,但一般来说,当使用五个和10个块来培训模型时,工程团队正在看到有益的结果,并且这些块通常会有所不同,而是用于相同系统。此外,培训过程本身可以迭代,因此随着更大的设计数据,可以在从改进的块出来的数据上进一步逐步培训,该模型是使用训练模型生成的。

毫升的影响

预路由后相关性需要不仅仅是准确的。准确预测路线后时序只有有意义,如果它还提供改进。简化术语,改善意味着更好。

为了量化这一点,在EDA和IC设计中,有几个关键参数是工程师真正需要关注的。这些总是完全负闲置(TNS),最坏负闲置(WNS)和权力。这些可以统称为功率、性能和面积(PPA)。ML对PPA的积极影响是导致更快的周转时间,或TAT。

负松弛有效地表明具有定时约束的信号达到其目的地的目的地太晚(由负数表示)。WNS表示网络中的单个最差定时端点,而TNS是给定网络的所有负字体图的组合。

图4.展示了如何在P&R流程开始时使用ML生成的时序模型来改进最终时序预测,从而获得更好的设计性能。

机器学习定时预测

图4.使用机器学习时序模型将改善定时预测并提供更好的设计性能。

功能蠕动

所有设计师面临的最大挑战之一是特色蠕变;在设计过程中添加新功能。这是一个生命的事实,而且是在竞争风景中运营的公司的重要结果。通常,特征蠕变将意味着大部分设计努力都丢失了,而且它们几乎肯定将无法受益于进入初始设计的时间和精力。

ML的变化,因为所做的所有设计工作所做的所有块现在都具有可以通过培训提供更快更准确的预路由数据和路由后预测的模型来实现的剩余值。图5.与传统的P&R流程相比,使用训练好的ML时序预测模型显示了一些典型的7nm设计性能改进。所有关键的设计指标都显示了ML的好处。

7nm设计性能改进

图5.使用机器学习定时预测实现典型的7nm设计性能改进。

如果没有从整个设计过程中直接受益的某种方式,迭代设计的时间和成本即使在不引入特征蠕变的情况下也可以快速推出项目 - 即使没有引入项目。但随着ML的流量,每个设计决策都有更大的价值。

外面ml

如前所述,ML和AI可以以多种方式应用于EDA。虽然ML内部是关于改善流动的一部分的结果,但外部ML是关于加速整个设计流程。这是设计团队的经验具有最大的影响,因为这是历史上,设计流程的一部分需要最高的手动交互。因此,将知识放入专家系统中有可能显着加速整个流程。

DL分析的使用有可能在这里提供设计辅助,通过做一个经验丰富的工程师可能本能地做出本能的事情。在典型的设计周期中,块实现是多次完成的,因为RTL精制添加新功能并解决任何验证问题。块实现的每次迭代都会生成大量数据,当快速分析时,可以帮助改善下一次迭代的结果。

如今,这是由经验丰富的工程师手工完成的,但手工干预既不实用,也不划算。人类的大脑无法及时理解在一次迭代中所创造的所有信息,并找到优化或违反的区域,更不用说在设计周期的多次迭代中。然而,数据分析是处理大量设计数据和发现模式的理想方法,这些模式将使设计流程在每次迭代中得到改进。

ML外部具有巨大的潜力,为整个设计流提供指导和自动化,随着块复杂性的增长,设计人员的生产力提高。

ML本质上适用于EDA设计流程。它的价值部分是由于其在不明确编程的情况下运行的能力。对于EDA,该值进一步走得更远。可以几乎立即使用可在单个设计块上培训的模型来提高预路由数据的后路线准确性。反过来,这导致TNS,WNS和PPA的显着改进。

IC设计一直是计算和数据密集型的活动,并且由于ML,数据现在可以通过提供更好的结果更好地提供设计过程的方式反馈,并最终减少芯片设计的周转时间来加速设计流程的方式。

Rod Metcalfe是Cadence产品管理团队的成员,负责数字实施工具。

相关文章

发表评论