用于预测详细布线拓扑和轨道使用的机器学习模型的制作方法


用于预测详细布线拓扑和轨道使用的机器学习模型
1.交叉引用相关申请
2.本技术要求2021年6月7日提交的美国专利申请序列号63/197,761的权益,其内容通过引用整体并入本文。
技术领域
3.本公开一般涉及电子电路的物理布线,并且更具体地,涉及用于预测详细布线拓扑和轨道使用情况以准确估计电子电路的电阻和电容的机器学习模型。


背景技术:



4.布线是电子电路的物理设计中的重要过程。在平面规划和放置之后,执行布线以确定用于互连表示电路设计的网表的引脚的路径。由于电路的复杂性,布线过程使用两阶段方法,该方法先执行全局布线(gr),然后执行详细布线(dr)。全局布线为网络生成近似布线。详细布线为网络确定确切轨道和过孔。如果全局布线与详细布线之间的相关性较差,则基于全局布线所确定的电路设计的参数的估计可能不准确。例如,基于电路设计的网络的寄生电阻和电容的估计可能不准确。网络的电阻和电容的不准确估计也会导致设计过程的后续阶段的结果不准确。


技术实现要素:



5.系统接收电路设计的网表表示。系统使用网表表示执行全局布线以生成一组段(segment)。段表示由全局布线所布线的网络的一部分。系统将从段中提取的特征作为输入提供给一个或多个机器学习模型。一个或多个机器学习模型中的每一个被配置为预测所输入的段的属性。预测的属性与使用详细布线信息所确定的对应属性具有超过阈值的相关性。系统执行一个或多个机器学习模型来预测由网表的全局布线输出的一组段中的每一个段的属性。系统基于预测的属性来确定用于电路设计的网络的寄生电阻值和寄生电容值。
附图说明
6.从下面给出的详细描述和从本公开的实施例的附图中将更充分地理解本公开。附图被用来提供本公开的实施例的知识和对本公开的实施例的理解,并且不将本公开的范围限制于这些特定实施例。此外,附图不一定按比例绘制。
7.图1示出了根据实施例图示一个节距的单位r和c与两个节距的单位r和c的示例布线层。
8.图2示出了根据实施例的用于电子电路的不同层的示例层单位电阻。
9.图3示出了根据实施例的用于基于机器学习对详细布线拓扑进行预测的计算系统的系统架构。
10.图4图示了根据实施例的用于执行电子电路设计的放置和布线的示例过程。
11.图5是图示了根据实施例的用于训练机器学习模型以基于全局布线数据来预测详
细布线信息的过程的流程图。
12.图6图示了根据实施例的用于基于全局布线与详细布线之间的变化来生成训练数据的过程。
13.图7描绘了根据本公开的一些实施例在集成电路的设计和制造期间使用的各种过程的流程图。
14.图8描绘了本公开的实施例可以在其中操作的示例计算机系统的抽象图。
15.附图仅出于说明的目的而描绘了本公开的各种实施例。本领域技术人员将从以下讨论中容易地认识到,在不背离本文描述的本公开的原理的情况下,可以采用本文中所图示的结构和方法的替代实施例。
具体实施方式
16.电路设计的电子设计自动化包括各个阶段,包括放置、布线、时钟优化等。电路设计的布线包括全局布线和详细布线。全局布线对布线区域执行粗粒度的布线分配。在全局布线中,电路设计被划分为被称为全局单元或区块(tile)的矩形网格。全局布线通常会忽略细节,诸如每根导线或引脚的确切几何形状。全局布线可以为每个网络分配布线区域列表,而无需指定导线的实际几何布局。全局布线实现未被分配给轨道的网络连接。
17.网表的网络包括一个或多个导线段(也称为段或网段)。过孔是相邻层上的导线段之间的电连接(接触)。两个网络轨道之间的距离被称为节距。
18.此处的实施例使用机器学习模型来预测详细布线信息,包括用于由全局布线生成的电子电路的物理设计的拓扑和层轨道使用情况。全局布线rc(电阻和电容)提取器使用轨道使用情况信息来生成包括寄生电阻和电容在内的准确寄生数据。全局布线设计(gr)与详细布线设计(dr)之间的良好相关性提高了结果质量和电路设计的运行时间。
19.使用机器学习模型来预测用于全局设计中的网络的详细布线拓扑变化和层轨道使用情况,改进了基于全局布线的设计优化流程中的寄生电阻和电容(也称为寄生参数)相关性。在基于全局布线的设计优化流程中更精确地确定寄生电阻和电容导致确定更精确的时序数据,并且导致了在放置与布线以及后续电路设计过程中的更准确优化,从而实现更好的质量结果,诸如时序、面积和功率。
20.本公开的优点包括但不限于提高所执行的电路设计分析的准确性并且提高整个设计过程的效率。由于在早期阶段就确定了更准确的寄生参数,因此导致了分析结果的准确性提高。由于准确的分析,因此,整个分析周期中需要设计过程的更少迭代次数,从而提高了整个设计过程的效率。这进一步导致被用于设计过程的计算资源的利用率提高。
21.各种因素导致全局布线设计与详细布线设计之间的差异和变化。在详细布线设计中,即使网段可能在相似拥塞区间上的同一层上进行布线,但是与全局布线的结果相比,从这些网络的形状到相邻形状的轨道距离可能会有很大的不同。图2图示了在详细布线中当段被布线在轨道上时的大间距变化。
22.图1示出了示例布线层,其图示了一个节距的单位r(电阻)和c(电容)与二个节距的单位r(电阻)和c(电容)。到相邻形状的间距距离是与提取用于vlsi电路中的网络的寄生电阻/电容相关的主要因素之一。在诸如5nm和3nm之类的先进技术节点中,如果到相邻节点的间距距离是第一节距或第二/第三节距,则线段的互连层寄生值可能具有80%~200%的
差异。
23.因此,改进全局布线对比详细布线(gr-vs-dr)rc相关性以预测gr中的轨道使用情况以与dr对准在基于全局布线的设计优化流程中是重要且具有挑战性的。在网络被分配给轨道并经过drc清洁之后,基于全局布线(gr)来执行详细布线(dr)。但是,全局布线和详细布线中的同一网络可能在以下方面存在差异/变化:(1)过孔悬垂长度、(2)网络迂回长度、(3)布线层使用情况、(4)过孔数量、以及其他参数。在示例设计中,基于全局布线的估计的导线长度与基于详细布线估计的导线长度之间的差异被确定为高达58%。类似地,基于全局布线估计的过孔数量与基于详细布线估计的过孔数量之间的差异被确定为高达30%。
24.全局布线与详细布线之间的布线拓扑差异可能会在执行电路设计的放置和布线的硅编译器流程中导致全局布线优化与详细布线优化之间的大寄生电阻和电容不相关性。层/过孔单位电阻可能会对电路设计产生重大影响。图2示出了从m0到m14的布线层上的单位电阻。m0为600ohm/um,m14为0.083ohm/um。图2示出了全局布线与详细布线之间的层和过孔使用情况差异可能会导致这些设计之间的不相关寄生参数。
25.根据各个实施例的系统在全局布线阶段精确地预测与详细布线对准的电路设计参数。这允许系统获得更多相关的寄生参数和时序延迟,从而在硅编译器中获得更好的结果质量。
26.图3示出了根据实施例的用于基于机器学习对详细布线拓扑进行预测的计算系统的系统架构。计算系统包括全局布线器310、详细布线器320、机器学习训练组件330、机器学习预测组件340和寄生参数确定组件350。其他实施例可以包括比图3中所指示的更多或更少的组件。
27.全局布线器310执行网表的全局布线。全局布线到电路设计的各块之间的近似路线。例如,全局布线可以首先将布线区域划分为块,并为所有网络确定块到块的路径。详细布线从全局布线器中获取输出,并产生导线的确切几何布局以连接各块。因此,详细布线确定了用于网络的确切轨道和过孔。详细布线器320执行网表的详细布线。全局布线设计不为网络生成网络之间的间距距离信息(轨道使用情况)。全局布线之后是详细布线,详细布线完成每个单元内的引脚之间的点对点连接,并指定导线的几何信息,诸如线宽和层分配。详细布线将网络分配给符合设计规则检查(drc)的轨道。
28.机器学习训练组件330训练一个或多个机器学习模型以用于预测详细布线信息。根据一个实施例,训练机器学习模型以预测表示网表的网络中的段的轨道距离的属性,其中轨道距离表示该网络与相邻网络的距离。
29.根据一个实施例,机器学习模型被训练以预测表示由全局布线确定的最大层数与由详细布线确定的最大层数之间的差异的属性。根据一个实施例,机器学习模型被训练以预测表示由全局布线确定的过孔数量与由详细布线确定的过孔数量之间的差异的属性。根据一个实施例,机器学习模型被训练以预测表示由全局布线确定的网络长度与由详细布线确定的网络长度之间的差异的属性。根据一个实施例,机器学习模型被训练以预测表示由全局布线确定的层使用情况与由详细布线确定的层使用情况之间的差异的属性。
30.机器学习预测组件340通过执行由机器学习训练组件330训练的机器学习模型来预测详细布线信息。根据一个实施例,预测的信息是各段之间的间距。根据其他实施例,机器学习模型可以预测如本文所述的其他详细布线信息。
31.寄生参数确定组件350基于由机器学习预测组件340预测的详细布线信息来确定网表的寄生参数,例如各个段的电阻值和电容值。根据一个实施例,寄生参数确定组件350通过跨多个网络聚合部分寄生电阻值来确定寄生电阻值。可以使用基于机器学习的模型来预测部分寄生电阻值中的每一个。根据一个实施例,寄生参数确定组件350通过跨多个网络聚合部分寄生电容值来确定寄生电容值。可以使用基于机器学习的模型来预测部分寄生电容值中的每一个。由于在全局布线中没有分配轨道,并且全局布线设计中的布线拓扑与详细布线设计中的布线拓扑不同。在实际执行详细布线之前使用基于机器学习的模型基于全局布线信息预测详细布线信息确保了在全局布线设计中提取的寄生参数与在步骤460之后从详细布线设计中提取的寄生参数很好地相关。
32.图4图示了根据实施例的用于执行电子电路设计的放置和布线的示例过程400。根据一个实施例,执行该过程的系统是计算系统,例如包括ic编译器的各种组件的计算系统110。该系统接收410电路设计,例如电路的物理设计的网表表示。该系统执行420电子电路设计的放置优化。该系统基于全局布线信息执行430寄生参数提取。根据各种实施例,该系统使用本文公开的机器学习模型来基于全局布线信息确定准确的寄生参数信息。该系统还执行440时钟优化,包括时钟同步树优化。该系统基于全局布线结果执行450详细布线。该系统基于详细布线执行460准确的寄生参数提取。
33.图5是图示了根据实施例的用于训练机器学习模型以基于全局布线数据来预测详细布线信息的过程500的流程图。该系统使用从详细布线设计中获得的标签生成510训练数据。例如,该系统收集来自详细布线设计中的网络中的段的标签/特征。
34.根据各种实施例,来自详细布线设计中的网络中的段的详细标签集合包括以下特征名称/标识符及其对应的描述:(1)ntype:时钟网络或信号网络的网络类型;(2)llayer:布线层id;(3)长度(length):网络长度;(4)edgelength:段长度;(5)fanout:扇出;(6)密度(density):该边缘的标称密度;(7)mspace:布线层最小间距;(8)mwidth:布线层最小宽度;(9)ndrspace:为该网络定义的非默认规则间距;(10)ndrwidth:为该网络定义的非默认规则宽度;(11)ndrweight:非默认规则的权重;(12)ndrignorepg:对pg(电源和接地网)忽略的非默认规则;(13)阈值(threshold):非默认规则阈值;等等。非默认规则为不是默认的布线规则。
35.系统初始化520机器学习模型(例如用于轨道使用情况预测的监督机器学习模型梯度提升回归模型)的参数。该模型被配置为接收用于段的各种特征并预测该段与另一个相邻段之间的间距。根据一个实施例,机器学习模型预测表示在同一层上的段与附近的段之间的距离的轨道距离。这些段可能来自不同的网络或来自相同的网络。
36.系统基于训练数据来修改530机器学习模型的参数,例如通过使用梯度下降来最小化表示预测值与标签之间的差异的损失值。该系统存储540经训练的机器学习模型的参数。
37.根据一个实施例,该系统使用监督机器学习模型梯度提升回归模型,该模型具有更快的训练速度和更高的效率、更低的存储器使用、更好的准确度,并且适合于用包括来自详细布线设计的数百万样本的大规模数据来进行训练。
38.根据一个实施例,机器学习模型(例如,m
trackdistance
)被用来使用各种输入属性(网络类型(nettype)、层id(layerid)、网络长度(netlength)、边缘长度(edgelength)、扇出
(fanout)、密度(density)、层最小间距(layerminspacing)、层最小宽度(layerminwidth)、ndr)来确定预测的轨道距离(轨道距离(trackdistance)),如以下等式(1)中所示的。
39.trackdistance=m
trackdistance
(nettype,layerid,netlength,edgelength,fanout,density,layerminspacing,layeminwidth,ndr....)...(1)
40.系统使用预测的轨道距离(trackdistance)来生成寄生参数(电阻/电容rc)。如以下等式(2)中所示,模型f被用来使用段的层属性、用于边缘段的轨道距离trackdistance、边缘段邻域中的轨道密度(density)以及边缘段的宽度(width),来确定用于网表的边缘段的寄生参数。跨电路设计的所有边缘段或电路设计的一部分聚合针对每个边缘段所确定的rc寄生参数。在等式(2)中,f表示用于计算rc值的函数。
[0041][0042]
n:全局布线网络的边缘段的数量
[0043]
从5nm和3nm详细布线设计和全局布线设计的集合中,系统收集以下标签以获得详细布线设计与全局布线设计之间的网络的拓扑差异。所提取的标签被用来训练基于机器学习的模型(例如,lightgbm回归模型)。
[0044]
图6图示了根据实施例的用于基于全局布线与详细布线之间的变化来生成训练数据的过程。从全局布线设计和详细布线设计中收集到的标签/特征:(1)网络类型(nettype):网络类型,时钟或信号网络;(2)驱动层(drivelayer):驱动引脚层;(3)加载层(loadlayer):加载引脚层;(4)驱动坐标(drivecoord):驱动引脚坐标x和y;(5)加载坐标(loadcoord):加载引脚坐标x和y;(6)网络长度(netlength):网络长度;(7)扇出(fanout):扇出数(8)层(layer):网络的最大层数;(9)过孔数(numvia):过孔的数量;(10)第n层使用情况(layernusage)(对于第n层):从第0层到第19层的层使用情况;(11)对于第n层的第n层密度(layerndensity):从第0层到第19层的层密度;(12)层最小间距(layerminspacing):从第0层到第19层的层最小间距;(13)层最小宽度(layerminwidth):从第0层到第19层的层最小宽度。根据各种实施例,不同的ml模型被训练以预测不同的详细布线相关属性,例如,模型m
layerdiff
被训练以预测表示由全局布线确定的最大层数与由详细布线确定的最大层数之间的差异的值layerdiff;模型m
viadiff
被训练以预测表示由全局布线确定的过孔数量与由详细布线确定的过孔数量之间的差异的值viadiff;模型m
lengthdiff
被训练以预测表示由全局布线确定的网络长度与由详细布线确定的网络长度之间的差异的lengthdiff;模型m
layerusagedifference
被训练以预测表示由全局布线确定的层使用情况与由详细布线确定的层使用情况之间的差异的值layerusagedifference;等等。
[0045]
将保存的经预训练的模型加载到全局布线提取器中,以获取针对过孔悬垂差异、过孔数量差异、网络长度差异、层使用情况差异等的预测值,并使用它们来修改被用于全局布线设计中的rc提取的网络拓扑。以下等式被用来确定由每个属性viadiff、layerdiff和lengthdiff贡献的部分寄生参数贡献。
[0046]
根据一个实施例,回归模型预测viadiff。机器学习模型m
viadiff
接收作为输入的特征,包括扇出(fanout)、过孔数(numvia)、最大层数(maxlayer)、第1层使用情况(layer1usage)

第n层使用情况(layernusage)、第1层密度(layer1density)

第n层密度(layerndensity)、网络类型(nettype)、驱动层(drivelayer)、加载层(loadlayer)、驱动坐
标(drivecoord)、加载坐标(loadcoord)、网络长度(netlength)、第1层间距(layer1spacing)

第n层间距(layernspacing),并预测viadiff的值。viares(v)表示来自过孔器件的电阻。由特征viadiff贡献的部分寄生参数贡献被确定为针对每个堆叠过孔id所确定的viadiff值的加权聚合,如等式(3)中所示。
[0047][0048]
v是从1到n的堆叠过孔id。
[0049]
预测layerdiff的机器学习模型(回归模型)被称为m
layerdiff
。机器学习模型rm
layerdiff
接收各种特征作为输入,包括扇出(fanout)、过孔数(numvia)、最大层数(maxlayer)、第1层使用情况(layer1usage)

第n层使用情况(layernusage)、第1层密度(layer1density)

第n层密度(layerndensity)、网络类型(nettype)、驱动层(drivelayer)、加载层(loadlayer)、驱动坐标(drivecoord)、加载坐标(loadcoord)、网络长度(netlength)、第1层间距(layer1spacing)

第n层间距(layernspacing),并预测layerdiff的值。在以下等式(4)中,layerrc(l)表示来自特定布线层(l)的寄生参数(电阻和电容)。rc(电阻和电容)是根据布线层上的层段计算得出的。由特征layerdiff贡献的部分寄生参数贡献被确定为针对每个堆叠层id所确定的layerdiff值的加权聚合,如等式(4)中所示。
[0050][0051]
其中,l是从1到n的堆叠层id。
[0052]
预测lengthdiff的机器学习模型被称为m
lengthdiff
。机器学习模型m
lengthdiff
接收各种特征作为输入,包括扇出(fanout)、过孔数(numvia)、最大层数(maxlayer)、第1层使用情况(layer1usage)

第n层使用情况(layernusage)、第1层密度(layer1density)

第n层密度(layerndensity)、网络类型(nettype)、驱动层(drivelayer)、加载层(loadlayer)、驱动坐标(drivecoord)、加载坐标(loadcoord)、网络长度(netlength)、第1层间距(layer1spacing)

第n层间距(layernspacing),并预测lengthdiff的值。在等式(5)中,layerrc(l)表示来自特定布线层(l)的寄生参数(电阻和电容)。rc(电阻和电容)是根据布线层上的层段计算得出的。由特征lengthdiff贡献的部分寄生参数贡献被确定为针对每个堆叠层id所确定的lengthdiff值的加权聚合,如等式(5)中所示。
[0053][0054]
其中,l是从1到n的堆叠层id。
[0055]
系统使用等式1基于特征层、密度、间距和宽度来确定部分寄生参数贡献。使用等式(6)跨i=1...n(即,跨该网络中使用的所有布线层)组合和聚合与各种特征viadiff、layerdiff、lengthdiff以及特征层、密度、间距、宽度相对应的部分寄生参数贡献。
[0056][0057]
机器学习模型被训练和保存。系统提取电容和电阻,并利用详细布线rc结果来确定这些rc相关结果。实验结果表明,与传统的全局布线提取器(其不基于本文所公开的基于机器学习的技术)相比,根据各种实施例的使用基于机器学习的模型的全局布线提取器与详细布线器的结果具有更好的相关性。相关性从2%提高到14%。
[0058]
图7图示了在诸如集成电路之类的制造品的设计、验证和制造期间用于转换和验证表示集成电路的设计数据和指令的示例过程集700。这些过程中的每个过程都可以被构造和实现为多个模块或操作。术语“eda”表示术语“电子设计自动化”。这些过程开始于利用设计者所供应的信息来创建产品创意710,对该信息进行转换以创建使用eda过程集712的制品。当设计完成时,该设计被下线(tape-out)734,这是将集成电路的图稿(例如,几何图案)发送到制造工厂以制造掩模组的时候,然后掩模组被用来制造集成电路。在下线之后,制造736半导体管芯并且执行封装和组装过程738,以生产成品集成电路740。
[0059]
用于电路或电子结构的规范的范围可以从低级晶体管材料布局到高级描述语言。使用诸如vhdl、verilog、systemverilog、systemc、myhdl或openvera之类的硬件描述语言(“hdl”),高级别抽象可以被用来设计电路和系统。hdl描述可以被转换为逻辑级寄存器传输级(“rtl”)描述、门级描述、布局级描述或掩模级描述。作为不太抽象描述的每个较低抽象级别会将更多有用的细节(例如,针对模块的包括该描述的更多细节)添加到设计描述中。作为不太抽象描述的较低级别抽象可以由计算机生成,从设计库中导出,或由另一个设计自动化过程创建。用于指定更详细描述的处于较低别抽象级语言的规范语言的示例为spice,它被用于对具有许多模拟组件的电路进行详细描述。使能处于每个抽象级别处的描述以供该层的对应工具(例如,形式验证工具)使用。设计过程可以使用图7中描绘的顺序。所描述的过程可以通过eda产品(或工具)使能。
[0060]
在系统设计714期间,指定要被制造的集成电路的功能。可以针对诸如功耗、性能、面积(物理和/或代码行)以及成本降低等等之类的期望特性对设计进行优化。在该阶段,可以将设计划分为不同类型的模块或组件。
[0061]
在逻辑设计和功能验证716期间,以一种或多种描述语言指定电路中的模块或组
件,并且针对功能准确性而对规范进行检查。例如,可以验证电路的组件以生成与被设计的电路或系统的规范要求相匹配的输出。功能验证可以使用仿真器和其他程序,诸如测试台发生器、静态hdl检查器、以及形式验证器。在一些示例中,被称为仿真器”或“原型系统”的特殊组件系统被用来加速功能验证。
[0062]
在用于测试的综合和设计718期间,hdl代码被转换为网表。在一些实施例中,网表可以是图结构,其中图结构的边表示电路的组件,并且图结构的节点表示组件如何互连。hdl代码和网表二者都是分层制品,eda产品可以使用它们来验证集成电路在被制造时根据指定设计执行。可以针对目标半导体制造技术对网表进行优化。附加地,可以对成品集成电路进行测试,以验证集成电路满足规范的要求。
[0063]
在网表验证720期间,检查网表符合时序约束并且与hdl代码相对应。在设计规划722期间,构建用于集成电路的总体平面图并针对时序和顶层布线对其进行分析。
[0064]
在布局或物理实现724期间,发生物理放置(诸如晶体管或电容器之类的电路组件的定位)和布线(通过多个导体的连接电路组件),并且可以执行从库中选择单元以使能特定逻辑功能。如本文中所使用的,术语“单元”可以指定提供布尔逻辑功能(例如,and、or、not、xor)或存储功能(例如,触发器或闩锁)的一组晶体管、其他组件和互连。如本文中所使用的,电路“块”可以是指两个或更多单元。单元和电路块均可以被称为模块或组件,并且可以作为物理结构并且在仿真中被使能。为所选择的单元(基于“标准单元”)指定诸如大小之类的参数,并且这些参数在数据库中可供访问,以供eda产品使用。
[0065]
在分析和提取726期间,在布局级验证电路功能,该电路功能准许对布局设计进行细化。在物理验证728期间,检查布局设计以确保诸如drc约束、电气约束、光刻约束之类的制造约束正确,并且电路功能与hdl设计规范相匹配。在分辨率增强730期间,转换布局的几何形状以改进电路设计的制造方式。
[0066]
在下线期间,创建数据以用于生产光刻掩模(如果适当,则在应用光刻增强之后)。在掩模数据准备732期间,“下线”数据被用来产生光刻掩模,这些光刻掩模用于生产成品集成电路。
[0067]
计算机系统的存储子系统可以被用来存储程序和数据结构,这些程序和数据结构由本文中所描述的一些或所有eda产品使用,并且被用于开发库的单元以及使用该库的物理和逻辑设计的单元的产品来使用。
[0068]
图8图示了计算机系统800的示例机器,在其中可以执行指令集,用于使机器执行本文中所讨论的方法中的任何一个或多个方法。在替代实现中,机器可以连接(例如,联网)到lan、内联网、外联网和/或互联网中的其他机器。该机器可以在客户端-服务器网络环境中以服务器或客户端机器的能力操作,作为对等(或分布式)网络环境中的对等机器进行操作,或者作为云计算基础设施或环境中的服务器或客户端机器进行操作。
[0069]
机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、web设备、服务器、网络路由器、交换机或桥或能够(顺序或其他方式)执行指令集的任何机器,这些指令指定该机器要采取的动作。此外,虽然图示了单个机器,但是术语“机器”还应当被认为包括任何机器集合,这些机器单独或共同执行一个(多个)指令集以执行本文中所讨论的方法中的任何一个或多个方法。
[0070]
示例计算机系统800包括处理设备802、主存储器804(例如,只读存储器(rom)、闪
存、诸如同步dram(sdram)之类的动态随机存取存储器(dram)、静态存储器806(例如,闪存、静态随机存取存储器(sram)等)、以及数据存储设备818,它们经由总线830相互通信。
[0071]
处理设备802表示一个或多个处理器,诸如微处理器、中央处理单元等。更具体地,处理设备可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,实现其他指令集的处理器、或实现指令集的组合的处理器。处理设备802还可以是一个或多个专用处理设备,诸如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理设备802可以被配置为执行指令826以执行本文所描述的操作和步骤。
[0072]
计算机系统800还可以包括网络接口设备808以通过网络820进行通信。计算机系统800还可以包括视频显示单元810(例如,液晶显示器(lcd)或阴极射线管(crt))、字母数字输入设备812(例如,键盘)、光标控制设备814(例如,鼠标)、图形处理单元822、信号生成设备816(例如,扬声器)、图形处理单元822、视频处理单元828、以及音频处理单元832。
[0073]
数据存储设备818可以包括机器可读存储介质824(还被称为非暂时性计算机可读介质),其上存储有体现本文中所描述的方法或功能中的任何一个或多个方法或功能的一个或多个指令集826或软件。在由计算机系统800执行期间,指令826还可以完全或至少部分地驻留在主存储器804内和/或处理设备802内,主存储器804和处理设备802还包括机器可读存储介质。
[0074]
在一些实现中,指令826包括用于实现与本公开相对应的功能的指令。虽然机器可读存储介质824在示例实现中被示为单个介质,但是术语“机器可读存储介质”应该被认为包括存储一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库、和/或关联的高速缓存和服务器)。术语“机器可读存储介质”还应当被认为包括能够存储或编码指令集以供机器执行并且使得机器和处理设备802执行本公开的方法中的任何一个或多个方法的任何介质。因此,术语“机器可读存储介质”应当被认为包括但不限于固态存储器、光学介质和磁性介质。
[0075]
已经根据对计算机存储器内的数据位的操作的算法和符号表示来呈现前述详细描述的一些部分。这些算法描述和表示是数据处理领域技术人员用来最有效地向本领域其他技术人员传达其工作实质的方式。算法可以是导致期望结果的一系列运算。这些运算是需要对物理量进行物理操纵的运算。这些量可以采取能够被存储、组合、比较以及以其他方式操纵的电信号或磁信号的形式。这样的信号可以被称为位、值、元素、符号、字符、项、数字等。
[0076]
然而,应该记住,所有这些和类似术语均要与适当物理量相关联,并且仅是被应用于这些量的方便标签。根据本公开显而易见的是,除非另外明确指出,否则应当了解,在整个说明书中,某些术语是指计算机系统或类似电子计算设备的动作和过程,该动作和过程操纵被表示为计算机系统的寄存器和存储器内的物理(电子)量的数据并且将它们转换为同样被表示为计算机系统存储器或寄存器或其他此类信息存储设备内的物理量的其他数据。
[0077]
本公开还涉及一种用于执行本文中的操作的装置。该装置可以针对预期目的而专门构造,或者它可以包括由计算机中存储的计算机程序选择性地激活或重新配置的计算机。这种计算机程序可以被存储在计算机可读存储介质中,诸如但不限于包括软盘、光盘、
cd-rom和磁光盘在内的任何类型的盘、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡、或适用于存储电子指令的任何类型的介质,每个类型的介质都耦合到计算机系统总线。
[0078]
本文中所提出的算法和显示与任何特定计算机或其他装置没有固有联系。各种其他系统可以与根据本文中的教导的程序一起使用,或可以证明构造更专门的装置来执行该方法是方便的。另外,没有参考任何特定编程语言对本公开进行描述。应当了解,多种编程语言可以被用来实现如本文中所描述的本公开的教导。
[0079]
可以将本公开提供为计算机程序产品或软件,该计算机程序产品或软件可以包括其上存储有指令的机器可读介质,这些指令可以被用来对计算机系统(或其他电子设备)进行编程以执行根据本公开的过程。机器可读介质包括用于存储机器(例如,计算机)可读形式的信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质,诸如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储介质、光学存储介质、闪存设备等。
[0080]
在前述公开中,已经参考本公开的具体示例实现对本公开的实现进行了描述。显而易见的是,在没有背离如所附权利要求书中阐述的本公开的更广泛的精神和范围的情况下,可以对这些实现做出各种修改。在本公开以单数时态提及一些元件的情况下,在附图中可以描绘一个以上的元件,并且相似的元件使用相似的数字来标记。因而,本公开和附图应当被视为具有说明意义,而非限制意义。

技术特征:


1.一种方法,包括:接收电路设计的网表表示;由处理器使用所述网表表示执行全局布线以生成一组段,其中段表示由所述全局布线所布线的网络的一部分;将从段中提取的特征作为输入提供给一个或多个机器学习模型,所述一个或多个机器学习模型中的每一个机器学习模型被配置为预测所输入的所述段的属性;执行所述一个或多个机器学习模型,以预测由所述网表的全局布线输出的一组段中的每一个段的属性;以及基于预测的所述属性,确定用于所述电路设计的网络的寄生电阻值和寄生电容值。2.根据权利要求1所述的方法,其中所述一个或多个机器学习模型中的机器学习模型被训练以预测表示用于所述网表的网络中的段的轨道距离的属性,所述轨道距离表示距相邻网络的距离,其中执行所述一个或多个机器学习模型包括:执行所述机器学习模型,以预测用于所述网表的网络中的特定段的轨道距离,所述轨道距离表示距相邻网络的距离。3.根据权利要求1所述的方法,其中所述一个或多个机器学习模型中的机器学习模型被训练以预测表示由全局布线确定的最大层数与由详细布线确定的最大层数之间的差异的属性。4.根据权利要求1所述的方法,其中所述一个或多个机器学习模型中的机器学习模型被训练以预测表示由全局布线确定的过孔数量与由详细布线确定的过孔数量之间的差异的属性。5.根据权利要求1所述的方法,其中所述一个或多个机器学习模型中的机器学习模型被训练以预测表示由全局布线确定的网络长度与由详细布线确定的网络长度之间的差异的属性。6.根据权利要求1所述的方法,其中所述一个或多个机器学习模型中的机器学习模型被训练以预测表示由全局布线确定的层使用情况与由详细布线确定的层使用情况之间的差异的属性。7.根据权利要求1所述的方法,其中确定用于网络的寄生电阻值包括:跨多个网络聚合部分寄生电阻值,其中所述部分寄生电阻值是使用一个或多个基于机器学习的模型来预测的。8.根据权利要求1所述的方法,其中确定用于网络的寄生电容值包括:跨多个网络聚合部分寄生电容值,其中所述部分寄生电容值是使用一个或多个基于机器学习的模型来预测的。9.根据权利要求1所述的方法,其中确定用于网络的寄生电阻值和电容值包括:跨多个网络聚合部分寄生电阻值和电容值,其中所述部分寄生电阻值和电容值是使用以下项来预测的:第一机器学习模型,所述第一机器学习模型被训练以预测表示用于所述网表的网络中的段的轨道距离的属性,所述轨道距离表示距相邻网络的距离;第二机器学习模型,所述第二机器学习模型被训练以预测表示由全局布线确定的过孔数量与由详细布线确定的过孔数量之间的差异的属性;
第三机器学习模型,所述第三机器学习模型被训练以预测表示由全局布线确定的层使用情况与由详细布线确定的层使用情况之间的差异的属性;以及第四机器学习模型,所述第四机器学习模型被训练以预测表示由全局布线确定的网络长度与由详细布线确定的网络长度之间的差异的属性。10.根据权利要求1所述的方法,其中从网络的段中被提取、作为输入被提供给机器学习模型的特征包括以下项中的一项或多项:网络类型;网络长度;段长度;布线层最小间距;以及布线层最小宽度。11.一种非暂时性计算机可读存储介质,包括存储的指令,所述指令在由一个或多个计算机处理器执行时,使所述一个或多个计算机处理器:接收电路设计的网表表示;使用所述网表表示执行全局布线以生成一组段,其中段表示由所述全局布线所布线的网络的一部分;将从段中提取的特征作为输入提供给一个或多个机器学习模型,所述一个或多个机器学习模型中的每一个机器学习模型被配置为预测所输入的所述段的属性;执行所述一个或多个机器学习模型,以预测由所述网表的全局布线输出的一组段中的每一个段的属性;以及基于预测的所述属性,确定用于所述电路设计的网络的寄生电阻值和寄生电容值。12.根据权利要求11所述的非暂时性计算机可读存储介质,其中机器学习模型被训练以预测表示用于网表的网络中的段的轨道距离的属性,所述轨道距离表示距相邻网络的距离,其中用于执行所述一个或多个机器学习模型的指令使所述一个或多个计算机处理器:执行所述机器学习模型,以预测用于所述网表的网络中的特定段的轨道距离,所述轨道距离表示距相邻网络的距离。13.根据权利要求11所述的非暂时性计算机可读存储介质,其中机器学习模型被训练以预测表示由全局布线确定的最大层数与由详细布线确定的最大层数之间的差异的属性。14.根据权利要求11所述的非暂时性计算机可读存储介质,其中机器学习模型被训练以预测表示由全局布线确定的过孔数量与由详细布线确定的过孔数量之间的差异的属性。15.根据权利要求11所述的非暂时性计算机可读存储介质,其中机器学习模型被训练以预测表示由全局布线确定的网络长度与由详细布线确定的网络长度之间的差异的属性。16.根据权利要求11所述的非暂时性计算机可读存储介质,其中机器学习模型被训练以预测表示由全局布线确定的层使用情况与由详细布线确定的层使用情况之间的差异的属性。17.根据权利要求11所述的非暂时性计算机可读存储介质,其中用于确定用于网络的寄生电阻值和寄生电容值的指令包括跨多个网络聚合部分寄生电阻值和部分寄生电容值的指令,其中所述部分寄生电阻和电容值是使用一个或多个基于机器学习的模型来预测的。
18.根据权利要求11所述的非暂时性计算机可读存储介质,其中用于确定用于网络的寄生电阻值和电容值的指令包括用于跨多个网络聚合部分寄生电阻值和电容值的指令,其中所述部分寄生电阻值和电容值是使用以下项来预测的:第一机器学习模型,所述第一机器学习模型被训练以预测表示用于所述网表的网络中的段的轨道距离的属性,所述轨道距离表示距相邻网络的距离;第二机器学习模型,所述第二机器学习模型被训练以预测表示由全局布线确定的过孔数量与由详细布线确定的过孔数量之间的差异的属性;第三机器学习模型,所述第三机器学习模型被训练以预测表示由全局布线确定的层使用情况与由详细布线确定的层使用情况之间的差异的属性;以及第四机器学习模型,所述第四机器学习模型被训练以预测表示由全局布线确定的网络长度与由详细布线确定的网络长度之间的差异的属性。19.根据权利要求11所述的非暂时性计算机可读存储介质,其中从网络的段中被提取、作为输入被提供给机器学习模型的特征包括以下项中的一项或多项:网络类型;网络长度;段长度;布线层最小间距;以及布线层最小宽度。20.一种系统,包括:一个或多个计算机处理器;以及非暂时性计算机可读存储介质,包括存储的指令,所述指令在由一个或多个计算机处理器执行时,使所述一个或多个计算机处理器:接收电路设计的网表表示;使用网表表示执行全局布线以生成一组段,其中段表示由所述全局布线所布线的网络的一部分;将从段中提取的特征作为输入提供给一个或多个机器学习模型,所述一个或多个机器学习模型中的每一个机器学习模型被配置为预测所输入的所述段的属性;执行所述一个或多个机器学习模型,以预测由所述网表的全局布线输出的一组段中的每一个段的属性;以及基于预测的所述属性,确定用于所述电路设计的网络的寄生电阻值和寄生电容值。

技术总结


提供了用于预测详细布线拓扑和轨道使用情况以用于电子电路设计的准确电阻和电容估计的机器学习模型。系统接收电路设计的网表表示。系统使用网表表示执行全局布线以生成一组段。段表示由全局布线所布线的网络的一部分。该系统将从段中提取的特征作为输入提供给一个或多个机器学习模型。一个或多个机器学习模型中的每一个机器学习模型被配置为预测所输入的段的属性。预测的属性与使用详细布线信息所确定的对应属性具有超过阈值的相关性。系统执行一个或多个机器学习模型来预测由网表的全局布线输出的一组段中的每一个段的属性。系统基于预测的属性来确定用于电路设计的网络的寄生电阻值和寄生电容值。的寄生电阻值和寄生电容值。的寄生电阻值和寄生电容值。


技术研发人员:

Y

受保护的技术使用者:

美商新思科技有限公司

技术研发日:

2022.06.07

技术公布日:

2022/12/22

本文发布于:2024-09-22 06:48:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/46465.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:机器   全局   模型   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议