首页> 中国专利> 用于电路设计和验证的寄生提取自动化中基于机器学习的分类

用于电路设计和验证的寄生提取自动化中基于机器学习的分类

摘要

本申请披露了一种计算系统,其实施寄生提取工具,以根据集成电路的物理设计布局来生成寄生模型。该计算系统还可以实施机器学习分类器,在利用训练数据集对机器学习分类器进行训练时,该机器学习分类器可以基于与物理设计布局相关联的物理特性或者电气特性来对物理设计布局进行分类,并且可以利用该分类来选择一组调节系数。该计算系统可以应用已选定的一组调节系数来调整寄生模型中的耦合电容并且生成用于物理设计布局的寄生网表。该计算系统可以通过根据测试物理设计布局确定多组调节系数并且利用所述多组调节系数标记该测试物理设计布局来生成训练数据集。

著录项

  • 公开/公告号CN113255279A

    专利类型发明专利

  • 公开/公告日2021-08-13

    原文格式PDF

  • 申请/专利权人 西门子工业软件有限公司;

    申请/专利号CN202010870847.0

  • 申请日2020-08-26

  • 分类号G06F30/392(20200101);G06F30/27(20200101);

  • 代理机构44224 广州华进联合专利商标代理有限公司;

  • 代理人景怀宇

  • 地址 美国德克萨斯州

  • 入库时间 2023-06-19 12:13:22

说明书

技术领域

本申请总体上涉及电子设计自动化,并且更具体地,涉及用于电路设计和验证的寄生提取自动化中基于机器学习的分类。

背景技术

在用于制造集成电路的设计流程中,集成电路的物理设计可以描述特定的几何元件,通常将这种物理设计称为“布局”设计。几何元件(通常为多边形)限定了将以各种材料来创建的形状,用以制造集成电路。通常,设计者将选择表示电路装置部件(例如,触点、门等)的多个几何元件群组,并将其放置于设计区中。这些几何元件群组可以是定制设计的、从先前创建的设计库中选择的、或者这两者的某种组合。一旦已放置表示电路装置部件的多个几何元件群组,然后根据预定路线将表示连接线的多个几何元件放置在这些表示电路装置部件的几何元件之间。这些连接线将形成用于将电子设备互联的布线。

通常,设计者将对所得的集成电路的布局设计进行多种分析。例如,可以对布局设计进行分析以确认其是否准确地表示了如集成电路的逻辑设计中所描述的那样的电路装置及其关系。还可以对布局设计进行分析以确认其符合各种设计要求,例如几何元件之间的最小间隔。此外,可以对布局设计进行修改以包括使用冗余几何元件或者向各种几何元件添加修正特征,以抵消制造过程中的限制等。例如,设计流程过程可以包括一个或多个分辨率增强技术(resolution enhancement technique,RET)过程,该过程修改布局设计数据,以改善在光刻制造工艺中根据设计所创建的标线或掩模的可用分辨率。

在物理设计分析期间,可以对布局设计进行分析以确定布局设计中的网(net)的寄生值,例如电阻值、电容值、电感值等,可以利用这些寄生值来确定布局设计是否包括电压降、信号延迟或信号噪声。大多数的电路设计者利用寄生提取工具从布局设计中提取这些寄生值,例如,从布局设计中提取网,根据提取的网确定寄生电气模型,以及将寄生电气模型写入网表(netlist)。对于典型的布局设计,大多数寄生电气模型包括一个提取的网的电气表示(electrical representation),这是因为在布局设计中每一个网通常旨在与其它网是电气独立的。然而,由于大多数布局设计包括经历电磁场的非预期交换(通常称为噪声或串扰)的网,因此其中一些寄生电气模型包括与表示网之间的噪声或串扰的电容相耦合的多个不同网的电气表示。

制造集成电路的制造厂(foundry)可以生成规则(其通常被称为规则组(ruledeck)),以指导寄生提取工具的操作。这些制造厂可以与寄生提取工具的制造商合作,以生成规则并核证寄生提取工具在由制造厂设定的误差范围内操作。例如,制造厂可以为寄生提取工具的制造商提供各种布局几何结构的测试规范以及用于该测试规范的参考寄生模型。寄生提取工具的制造商可以基于该测试规范来生成布局模型,对该布局模型执行寄生提取,并然后将所得到的寄生模型与来自制造厂的参考寄生模型进行比较。当所得到的寄生模型和参考寄生模型之间的差异处于误差范围以内时,则制造厂可以核证寄生提取工具。制造厂通常提供几千种不同的测试规范,使得对于寄生提取工具的制造商而言,生成布局模型并适当地配置寄生提取工具以满足制造厂核证的严格误差要求,是困难的、经常重复的、且耗时的任务。

发明内容

本申请披露了一种计算系统,其实施寄生提取工具,以利用自动电容调节(automated capacitance scaling),根据集成电路的物理设计布局来生成寄生模型。该计算系统可以实施机器学习分类器,在利用训练数据集对该机器学习分类器进行训练时,该机器学习分类器可以基于物理设计布局的物理属性(例如物理设计布局的至少一部分的结构密度)或者物理设计布局的电气属性(例如浮动网(floating nets)相对于网的总数的百分比),来对物理设计布局进行分类。该计算系统可以利用该分类来选择一组调节系数(scaling coefficient)。该计算系统可以应用已选定的一组调节系数来调整寄生模型中的耦合电容并且生成用于物理设计布局的寄生网表。

所述计算系统可以通过以下步骤来生成训练数据集并且识别多组调节系数:利用用于寄生提取工具的不同设置配置来生成用于测试物理设计布局的寄生模型;针对多个所述测试物理设计布局中的每一个测试物理设计布局,至少部分地基于所生成的寄生模型与和测试物理设计布局相关联的参考网表的比较,来选择所述寄生提取工具的设置配置。所述计算系统可以基于所述寄生提取工具的已选定的设置配置,利用已选定的设置配置来将寄生模型聚类为多个群组,并且基于测试物理设计布局中的几何信息来确定用于多个寄生模型群组中的每一寄生模型群组的一组调节系数。该计算系统可以将多组调节系数分配给测试物理设计布局作为标记,然后利用已标记的测试物理设计布局作为用于机器学习分类器的训练数据集。下面将更详细地描述实施例。

附图说明

图1和图2示出了可用于实施各个实施例的那种类型的计算机系统的示例。

图3示出了根据各个实施例的实施自动电容调节的寄生提取工具的示例。

图4示出了根据各个实施例的寄生提取的示例性实施方式。

图5示出了根据各个示例的在寄生提取工具中实施的示例性的基于机器学习的调节系统。

图6示出了根据各个示例的流程图,该流程图显示了寄生提取工具中的示例性的基于分类的电容调节。

图7示出了根据各个示例的流程图,该流程图显示了用于寄生提取工具中的机器学习分类器的训练数据的示例性生成。

图8示出了根据各个示例的流程图,该流程图显示了寄生提取工具中的用于机器学习分类器的训练数据的另一示例性生成。

图9示出了根据各个示例在寄生提取工具中实施的示例性的基于机器学习的调节系数系统。

图10示出了根据各个示例的流程图,该流程图显示了寄生提取工具中的示例性的调节系数确定。

具体实施方式

可以通过计算设备101(例如可编程的计算机)执行软件指令来实施各个示例。相应的,图1示出了计算设备101的说明性示例。如该图所示,计算设备101包括计算单元103,该计算单元103具有处理单元105和系统存储器107。处理单元105可以是用于执行软件指令的任何类型的可编程的电子设备,但通常地可以是微处理器。系统存储器107可以包括只读存储器(ROM)109和随机存取存储器(RAM)111。如本领域普通技术人员将理解的,只读存储器(ROM)109和随机存取存储器(RAM)111均可以存储用于由处理单元105执行的软件指令。

处理单元105和系统存储器107通过总线113或可替代的通信结构直接地或间接地连接到一个或多个外围设备115-123。例如,处理单元105或系统存储器107可以直接地或间接地连接到一个或多个额外的存储器存储设备,例如硬盘驱动器117(其可以是磁的和/或可移动的)、可移动光盘驱动器119、和/或闪存卡。处理单元105和系统存储器107也可以直接地或间接地连接到一个或多个输入设备121和一个或多个输出设备123。输入设备121可以包括例如键盘、指点设备(例如鼠标、触摸板、触笔,轨迹球或者操纵杆)、扫描仪、摄像机、麦克风。输出设备123可以包括例如监视器显示器、打印机和扬声器。对于计算设备101的各种示例,一个或多个外围设备115-123可以被内置在计算单元103中。可替代地,一个或多个外围设备115-123可以被设置在计算单元103的壳体的外部,并且通过例如通用串行总线(USB)连接来连接到总线113。

在一些实施方式中,计算单元103可以直接地或间接地连接到网络接口115,用于与构成网络的其它设备进行通信。网络接口115可以根据一个或多个通信协议(例如传输控制协议(TCP)和因特网协议(IP))将来自计算单元103的数据和控制信号转换(translate)为网络消息。此外,网络接口115可以采用任何合适的连接代理(或代理的组合)来连接到网络,所述连接代理包括例如无线收发器、调制解调器或者以太网连接。这样的网络接口和协议在本领域中是公知的,因此这里将不对其进行更详细的讨论。

应当理解的是,计算设备101仅作为示例进行示出,而并不是旨在对其进行限制。可以使用包括图1所示出的计算设备101的部件的一个或多个计算设备来实施各个实施例,所述一个或多个计算设备仅包括图1所示出的部件的子集,或者包括部件(包括并未在图1中示出的那些部件)的可替代的组合。例如,可以使用一个多处理器计算机、被布置成网络的多个单处理器计算机和/或多个多处理器计算机、或者单处理器计算机和多处理器计算机两者的某种组合来实施各个实施例。

对于一些实施方式,处理器单元105可以具有一个以上的处理器内核。相应地,图2示出了可以用于各个实施例的多核处理器单元105的示例。如该图所示,处理器单元105包括多个处理器内核201A和201B。每个处理器内核201A和201B分别包括计算引擎203A和203B,以及存储器高速缓存(cache)205A和205B。如本领域普通技术人员已知的,计算引擎203A和203B可以包括用于执行各种计算功能的逻辑设备,所述执行各种计算功能例如为:取得(fetch)软件指令,并且然后执行在所取得的指令中指明的动作。这些动作可以包括,例如,相加、相减、相乘和比较数值、执行逻辑运算(例如AND、OR、NOR和XOR)、以及检索数据。然后,每个计算引擎203A和203B可以分别使用其对应的存储器高速缓存205A和205B来快速地存储并检索数据和/或指令以用于执行。

每个处理器内核201A和201B都连接到互连器207。互连器207的具体结构可以根据处理器单元105的架构而变化。对于一些处理器内核201A和201B,例如由索尼(Sony)公司、东芝(Toshiba)公司和IBM公司构建的单元(Cell)微处理器,互连器207可以被实施为互连总线。然而,对于其它处理器单元201A和201B,例如可以从加利福尼亚的桑尼维耳市的超威半导体公司(Advanced Micro Devices)获得的Opteron

基于机器学习的寄生提取自动化

图3示出了根据各个实施例的实施自动电容调节的寄生提取工具300的示例。参考图3,寄生提取工具300可以接收物理设计布局,例如,用以按照与构成电子设备的部件的金属层、氧化物层或半导体层的图案相对应的平面几何形状来描述电子设备。在一些实施方式中,物理设计布局可以以库交换格式(Library Exchange Format,LEF)、设计交换格式(Design Exchange Format,DEF)等对电子设备进行描述或建模。

寄生提取工具300可以接收由制造厂开发的规则组304,该规则组描述了用于物理集成电路设计数据的几何配置的设计规则。寄生提取工具300可以(例如通过将物理设计布局转换为电气表示(例如一组电气独立的寄生模型))利用规则组304中的设计规则来对物理设计布局执行寄生提取,并且生成包括物理设计布局的电气表示的网表305。在一些实施例中,网表305可以以标准的寄生交换格式(Standard Parasitic Exchange Format,SPEF)等来对电子设备进行描述或建模。

寄生提取工具300可以包括解析单元320,该解析单元用来至少部分地基于规则组304中的设计规则来解析物理设计布局。寄生提取工具300可以包括光学邻近效应校正(Optical Proximity Correction,OPC)偏置单元330,以改变物理设计布局的结构,例如,可以根据在衬底上的某些点处将需要多少额外的光曝光量(或缺少多少曝光量)来调整物理布局设计中的边缘,以使几何元件的某些部分更大或更小。

寄生提取工具300可以包括断裂单元(fracturing unit)340,该断裂单元用来选择物理布局设计的某些部分,以至少部分地基于规则组304来用电气寄生元件表示这些部分。例如,在物理布局设计中表示的导电迹线可以被断裂成多个部分,每个部分由不同的电阻元件和至少一个导电元件来表示。断裂单元340可以确定如何对用于寄生提取过程的物理布局设计进行划分。

寄生提取工具300可以包括寄生提取引擎350,该寄生提取引擎用来从物理设计布局中提取网,并且基于网如何被断裂单元340划分来识别每个提取的网中的寄生值。寄生提取引擎350可以基于寄生值来生成每个提取的网的电气表示。寄生值可以包括网中的电阻、网与具有对应的接地电压的地面之间的电容、邻近网之间的耦合电容、电感等。在一些实施例中,电气表示中的耦合电容可以模拟由于多个网之间的电磁场的交换而导致的网中的噪声或串扰。

寄生提取工具300可以包括排除处理单元360,该排除处理单元用来识别要从寄生提取过程中排除的物理布局设计的部分。例如,制造厂可以制造诸如晶体管的电气部件,而不提供关于其物理布局设计的细节,因此排除处理单元360将电气部件的内部结构从由寄生提取引擎350执行的寄生提取过程中去除。下面将参考图4来描述寄生提取的示例。

图4示出了根据本发明的各个实施例的寄生提取的示例性实施方式。参照图4,物理设计布局410可以按照与构成电子设备的部件的金属层、氧化物层或半导体层的图案相对应的平面几何形状来描述电子设备。在一些实施例中,物理设计布局410可以以库交换格式(LEF)、设计交换格式(DEF)等来对电子设备进行描述或建模。

物理设计布局410可以包括标准单元411的阵列,每个标准单元411包括电路系统(circuitry),例如用来提供诸如布尔逻辑、存储器等的由一个或多个晶体管和互连结构组成的组,以及包括耦合到该电路系统的至少一个引脚。物理设计布局410可以包括网413A-413F,所述网用来描述物理设计布局410中的引脚之间的、例如用来将标准单元411中的电路系统进行互连的导线或电路径。物理设计布局410还可以包括额外的金属层,例如金属迹线412,以及将物理设计布局410的不同层进行互联的过孔414。

在寄生提取期间,寄生提取工具可以从物理设计布局410中提取网,并且将网413转换成一个或多个对应的电气表示。为简单起见,图4示出了网413A和413B的寄生提取以及它们向寄生电气模型430的转换。寄生电气模型430可以包括通过耦合电容器C

返回参考图3,可以例如利用测试例310来测试寄生提取工具300。例如,制造厂通常具有用于电子设计工具(例如寄生提取工具300)的核证过程,以确保电子设计工具的操作与由制造厂执行的集成电路制造之间的兼容性。对于寄生提取,制造厂可以生成制造厂核证,例如,具有测试例310,使得当寄生提取工具300通过测试例时,可以允许制造厂核证寄生提取工具300是符合制造厂的制造过程的。在其它实例中,可以利用测试例310来测试寄生提取工具300,以例如利用较高精度的测试来测量寄生提取工具300的精度,或者用于例如在梯形精度测试中确定针对特定结构的寄生提取的精度。

每个测试例310可以包括测试布局模型302,并且可选地包括对应的参考网表303。每个测试布局模型302可以包括用于制造的物理结构的布局设计,并且可能包括将要经历寄生提取的物理结构的书面描述。参考网表302可以包括描述了与其对应的测试布局模型302相关联的寄生电气模型的网表。在一些实施例中,参考网表303可以以标准寄生交换格式(SPEF)等来对电子设备进行描述或建模。在一些实施例中,测试例310可以包括与网表的特性相对应的参考数值(reference number),所述网表的特性从已被模拟的测试布局模型302中生成。例如,所述特性可以是从提取的环形振荡器的网表模拟得到的环形振荡频率、从提取的静态随机存取存储器(SRAM)单元或标准单元的网表模拟得到的延迟,等等。

在一些示例性实施例中,为了通过测试例310,寄生提取工具的制造商根据测试布局模型302中的布局设计和测试布局模型302中的物理结构的书面描述来生成物理结构描述,对该物理结构描述执行寄生提取以生成网表305,并且将脚本(script)306应用到生成的网表305以确定寄生提取工具300是否通过测试例310。在一些实施例中,脚本306可以提示寄生提取工具300来将网表305与参考网表303进行比较。对于每个测试例310,当网表305与参考网表303之间的差异或者模拟结果与参考数值之间的差异降到允许误差的预设阈值以下时,则可以认为寄生提取工具300已经通过了一个或多个测试例310。在一些实施例中,脚本306可以提示寄生提取工具300来模拟网表305并且然后将模拟结果与参考数值进行比较。对于每个测试例,当网表305与参考数值之间的差异降到允许误差的预设阈值以下时,则可以认为寄生提取工具300已经通过了一个或多个测试例310。

寄生提取工具300可以接收测试布局模型302,该测试布局模型按照与构成电子设备的部件的金属层、氧化物层或半导体层的图案相对应的平面几何形状来描述布局设计。在一些实施例中,测试布局模型302中的布局设计可以以库交换格式(LEF)、设计交换格式(DEF)等来对电子设备进行描述或建模。

寄生提取工具300可以例如从测试例310中接收参考网表303。每个参考网表303可以对应于用于对应的测试布局模型302的一个或多个电气寄生模型。在一些实施例中,参考网表303可以以标准寄生交换格式(SPEF)等来对电子设备进行描述或建模。

寄生提取工具300可以基于测试布局模型302中的物理结构的书面描述将测试布局模型302中的布局设计转换成物理结构,至少部分地基于规则组304对物理结构执行寄生提取,以生成网表305。

寄生提取工具300可以包括基于机器学习的调节系统500,该系统用来确定对于每个测试例的网表305与参考网表303之间的差异或误差。基于机器学习的调节系统500可以通过利用调节系数对根据物理设计结构生成的网表305中的电容进行调节来减少所述差异或误差。在一些实施例中,基于机器学习的调节系统500可以识别不同类别的物理设计结构以及不同组的调节系数以用于每个类别。基于机器学习的调节系统500可以包括机器学习分类器,该机器学习分类器可以被训练以将物理设计结构分类到已识别的类别中的一个类别中,并且因此将物理设计结构与将在寄生提取过程期间使用的特定组的调节系数相关联。通过使用基于分类的方法来选择和应用调节系数,基于机器学习的调节系统500可以生成网表305,该网表305与参考网表303之间的差异或者该网表305的模拟结果与参考数值(reference number)之间的差异降至允许误差的阈值水平以下。下面将更详细地描述基于机器学习的寄生电容调节的实施例。

图5示出了根据各个示例的在寄生提取工具中实施的示例性的基于机器学习的调节系统500的示例。图6示出了根据各个示例的显示了寄生提取工具中的示例性的基于分类的电容调节的流程图。参照图5和图6,基于机器学习的调节系统500可以包括用来接收物理设计布局模型502的模型分类系统510,该物理设计布局模型例如可以按照与构成电子设备的部件的金属层、氧化物层或半导体层的图案相对应的平面几何形状来描述电子设备。在一些实施例中,物理设计布局502可以以库交换格式(LEF)、设计交换格式(DEF)等来对电子设备进行描述或建模。

模型分类系统510可以存储多组调节系数,其可以与不同类型的物理设计布局相关联。模型分类系统510可以将物理设计布局502分类为对应于至少一种类型的物理设计布局。在一些实施例中,例如在图6的框601中,寄生提取工具可以基于物理特性(例如物理设计布局的结构密度或电气特性)来对集成电路的物理设计布局进行分类。在一些实施例中,寄生提取工具可以基于物理设计布局来生成可以描述物理设计布局的特征和物理特性的特征向量,并且将特征向量提供给模型分类系统510,以用于对对应的物理设计布局进行分类。在一些实施例中,模型分类系统510可以基于特征向量的特性(例如结构密度等)将物理设计布局502分类为对应于至少一种类型的物理设计布局。例如,在图6的框602中,模型分类系统510可以基于物理设计布局502的分类来选择至少一组调节系数,并且输出已选定的调节系数512,以用于生成网表506。

在一些实施例中,模型分类系统510可以利用例如通过神经网络等实施的机器学习分类器来执行分类,所述机器学习分类器已用训练数据532进行训练。训练数据532可以包括不同类型的物理设计布局,这些不同类型的物理设计布局是利用对应组的调节系数来进行标记的。在一些实施例中,机器学习分类器可以利用训练数据532来将物理设计布局或其组成部分中的结构密度与一组调节系数相关联。下面将更详细地描述训练数据532生成的实施例。

基于机器学习的调节系统500可以包括电容调节系统520,该电容调节系统用以例如利用默认设置配置来从寄生提取引擎中接收已提取的模型504,并且从模型分类系统510中接收已选定的调节系数512。在一些实施例中,例如,在图6的框603中,实施寄生提取工具的计算系统可以生成用于物理设计布局的寄生模型,例如根据物理布局模型502生成已提取的模型504。已提取的模型504可以包括来自物理布局模型502的寄生电气值(parasiticelectrical value),这些寄生电气值已被聚合到物理布局模型502的寄生电气模型中。在一些实施例中,已提取的模型504可以以标准寄生交换格式(SPEF)等来对电子设备进行描述或建模。

电容调节系统520可以例如通过利用已选定的调节系数512对已提取的模型504中的耦合电容进行调节来根据已提取的模型504生成网表506。在一些实施例中,例如,在图6的框604中,实施寄生提取工具的计算系统可以将已选定的调节系数应用到寄生模型中的耦合电容,以生成寄生网表,例如网表506。网表506可以对应于用于物理设计布局502的一个或多个电气寄生模型。在一些实施例中,网表506可以以标准寄生交换格式(SPEF)等来对电子设备进行描述或建模。

基于机器学习的调节系统500可以包括配置系统530,该配置系统用来接收测试布局模型503和对应的参考网表508或者测试例中的参考数值。测试布局模型503可以按照与构成电子设备的部件的金属层、氧化物层或半导体层的图案相对应的平面几何形状来描述测试布局设计。在一些实施例中,测试布局模型503中的布局设计可以以库交换格式(LEF)、设计交换格式(DEF)等来对电子设备进行描述或建模。参考网表508可以包括这样的网表:所述网表描述了与其对应的测试布局模型503相关联的寄生电气模型。在一些实施例中,参考网表508可以以标准寄生交换格式(SPEF)等来对电子设备进行描述或建模。参考数值可以对应于与测试例相关联的已模拟的网表的值,例如振荡频率、延迟等。

配置系统530可以生成用于测试布局模型503或其片段(fragment)的已提取的测试模型505。已提取的测试模型505可以包括这样的网表:所述网表描述了与其对应的测试布局模型503或其片段相关联的寄生电气模型,例如,以标准寄生交换格式(SPEF)等来描述或建模电子装置。配置系统530可以例如从寄生提取工具中的寄生提取引擎中接收已提取的测试模型505。

配置系统530可以包括聚类系统531,该聚类系统用来将已提取的测试模型505一起聚类为群组。在一些实施例中,聚类系统531可以将已提取的测试模型505与它们的对应参考网表508进行比较,并且确定它们之间的电容值的差异。聚类系统531还可以模拟已提取的测试模型505,将模拟结果与它们对应的参考数值进行比较,并且确定模拟结果与参考数值的差异。聚类系统531可以分别基于所确定的已提取的测试模型505与它们的对应参考网表508或参考数值之间的电容值的差异或模拟结果的差异,来为每个测试布局模型503或其片段选择寄生提取工具的设置配置。聚类系统531可以基于已选定的用于生成所识别的已提取的测试模型505的寄生提取工具的设置配置来将所识别的已提取的测试模型505聚类为群组。

在一些实施例中,聚类系统531可实施例如来自制造商的脚本,该脚本可以提示聚类系统531来将已提取的测试模型505与参考网表进行比较,或者模拟已提取的测试模型505并且将模拟值与参考数值进行比较。聚类系统531可以至少部分地基于由脚本提示的比较结果来将已提取的测试模型505聚类为群组。

配置系统530可以包括调节系数系统900,该调节系数系统用来为已提取的每一测试模型505群组确定一组调节系数。在一些实施例中,调节系数系统900可以分析第一群组的已提取的测试模型505并且识别第一组调节系数、分析第二群组的已提取的测试模型505并且识别第二组调节系数,依此类推,直到每一群组都已被分析并且已为每一群组找到一组调节系数为止。在一些实施例中,调节系数系统900可以利用基于机器学习的系统来实施,以在基于与它们对应的参考网表508之间的误差来迭代性地调整调节系数之前,基于群组中的测试布局模型503或其片段的几何结构来初始地确定调节系数。下面将参考图9和图10更详细地描述调节系数系统900的实施例。

配置系统530可以包括系数分配系统533,该系数分配系统用来将一组调节系数分配给每个测试布局模型503或其片段。下面将参考图7和图8来描述调节系数分配的实施例。配置系统530可以利用测试布局模型503或其片段与已分配的一组调节系数的组合,作为用于模型分类系统510中的机器学习分类器的训练数据532。训练数据532可以包括利用测试布局模型503或其片段的已分配的多组调节系数进行标记的该测试布局模型503或其片段。

图7示出了根据各个示例的显示了用于寄生提取工具中的机器学习分类器的训练数据的示例性生成的流程图。参照图7,在框701中,实施寄生提取工具的计算系统可以利用寄生提取工具的多个设置配置来生成用于集成电路的物理设计布局的寄生模型。所述寄生提取工具的多个设置配置可以包括默认设置配置以及对寄生提取工具的各个设置的各种调整,例如对精度模式的调整、对物理设计布局中的层的物理性质的调整等。寄生模型可以包括网表,该网表描述了与所述寄生模型的对应物理设计布局或其片段相关联的寄生电气模型,例如,以标准寄生交换格式(SPEF)等对电子设备进行描述或建模。

在框702中,实施寄生提取工具的计算系统可以基于已确定的寄生模型与对应的参考网表之间的电容值的差异,或者基于已确定的寄生模型的模拟值与对应的参考数值之间的差异,为每个物理设计布局选择寄生提取工具的设置配置。例如,寄生提取工具可以为每个物理设计布局或其片段识别与参考网表之间具有最小差异的寄生模型,并然后选择用于生成所识别的寄生模型的寄生提取工具的设置配置。在另一示例中,寄生提取工具可以为每个物理设计布局或其片段从与参考数值之间具有最小差异的寄生模型中识别仿真结果,并然后选择用于生成寄生模型的寄生提取工具的设置配置。

在框703中,实施寄生提取工具的计算系统可以基于已选定的用于生成所识别的寄生模型的寄生提取工具的设置配置,将所识别的寄生模型聚类为群组。

在框704中,实施寄生提取工具的计算系统可以为每一寄生模型群组确定至少一组调节系数。在一些实施例中,寄生提取工具可以分析第一寄生模型群组以及它们对应的物理设计布局以识别第一组调节系数,分析第二寄生模型群组以及它们对应的物理设计布局以识别第二组调节系数,以此类推,直到每一寄生模型群组都已被分析并且已为每一寄生模型群组找到至少一组调节系数。在一些实施例中,寄生提取工具可以包括基于机器学习的系统,以在基于与它们的对应参考网表之间的误差来迭代性地调整调节系数之前,基于群组中的物理设计布局或其片段的几何形状来初始地确定调节系数。下面将参考图9和图10更详细地描述调节系数生成的实施例。

在框705中,实施寄生提取工具的计算系统可以将一组调节系数分配给物理设计布局或其片段中的每一个。在一些实施例中,寄生提取工具可以将多组调节系数应用到群组中的每个寄生模型,并且为那些寄生模型分配一组调节系数,所述调节系数用来产生与对应的参考网表之间的最小差异,或者用来生成与参考数值之间具有最小差异的模拟结果。例如,第一寄生模型可以具有其由不同组的调节系数分别进行调节的耦合电容,并然后将那些分别进行调节的已提取的测试模型与对应于第一已提取的测试模型的参考网表进行比较。寄生提取工具可以为第一寄生模型分配一组调节系数,该组调节系数用来产生与参考网表之间具有最小差异的已调节的已提取的测试模型。在一些实施例中,寄生提取工具可以基于对寄生模型的分组来分配多组调节系数。例如,第一群组中的寄生模型可以与为第一群组生成的一组调节系数相关,并且可以将为第一群组生成的一组调节系数分配给与寄生模型相关联的物理设计布局或其片段。

在一些实施例中,寄生提取工具可以确定已调节的寄生模型与参考网表或参考数值之间的差异超出阈值水平,并且重新启动用于该物理设计布局或其片段的配置过程。针对特定的物理设计布局或其部分,这种配置过程的重新启动可以通过利用(寄生提取工具的新的配置设置,从物理设计布局或其片段中重新生成新的寄生模型来开始,例如,在框701处重新开始。

在框706中,实施寄生提取工具的计算系统可以利用物理设计布局或其片段与已分配的一组调节系数的组合,作为用于寄生提取工具中的机器学习分类器的训练数据。训练数据可以包括利用物理设计布局或其片段的已分配的多组调节系数进行标记的该物理设计布局或其片段。

图8示出了根据各个示例的显示了用于寄生提取工具中的机器学习分类器的训练数据的另一示例性生成的流程图。参照图8,在框801中,实施寄生提取工具的计算系统可以利用寄生提取工具的初始设置生成用于集成电路的物理设计布局的寄生模型。寄生提取工具的初始设置可以包括精度模式、物理设计布局中的层的物理性质等的设置配置。寄生模型可以包括网表,该网表描述了与所述寄生模型的对应物理设计布局或其片段相关联的寄生电气模型,例如,以标准寄生交换格式(SPEF)对电子设备进行描述或建模等。

在框802中,实施寄生提取工具的计算系统可以利用脚本来确定寄生模型是否通过了制造商测试。脚本可以提示寄生提取工具来将寄生模型与它们的对应参考网表进行比较。在一些实施例中,脚本可以提示寄生提取工具来模拟寄生模型并将作为模拟结果的所确定的值与参考值进行比较。

在框803中,实施寄生提取工具的计算系统可以确定寄生模型是否通过了与脚本相关联的制造商测试。在一些实施例中,寄生提取工具可以利用寄生模型与参考网表之间的差异或者模拟值与参考值之间的差异来确定寄生提取工具是否通过了用于对应的物理设计布局的制造商测试。例如,当差异降到预设误差阈值以下或降到规定范围以内时,可以认为寄生提取工具已通过了用于那些物理设计布局的制造商测试。

在框803中,如果寄生提取工具利用初始设置通过了制造商测试,则操作可以行进到框806,在框806中,实施寄生提取工具的计算系统可以不用调节系数来标记物理设计布局。

在框803中,如果寄生提取工具未通过制造商测试,则操作可以行进到框804,在框804中,实施寄生提取工具的计算系统可以用寄生提取工具的一个不同设置来生成用于未通过制造商测试的物理设计布局的寄生模型。寄生提取工具的不同设置可以包括通过调整精度模式、物理设计布局中的层的物理性质等而生成的设置配置。寄生模型可以包括网表,该网表描述了与寄生电气模型的对应物理设计布局或其片段相关联的寄生电气模型,例如,以标准寄生交换格式(SPEF)对电子设备进行描述或建模等。操作可以行进回到框802,在框802中,寄生提取工具可以针对利用不同设置生成的寄生模型实施所述脚本,并且在框803,寄生提取工具可以确定寄生提取工具是否利用该不同设置通过了制造商测试。

在框803中,如果寄生提取工具利用不同设置中的一个设置通过了制造商测试,则操作可以行进到框805,在框805中,实施寄生提取工具的计算系统可以确定用于已通过了框803中的制造商测试的物理设计布局的调节系数。在一些实施例中,寄生提取工具可以例如通过利用通过了测试的物理设计布局的几何结构,来生成用于与通过测试相关联的物理设计布局的调节系数。下面将参考图9和图10来描述调节系数生成的实施例。

在框806中,实施了寄生提取工具的计算系统可以利用在框805中生成的调节系数来标记物理设计布局。寄生提取工具可以对在框806中已标记的物理设计布局进行聚合,以形成用于在寄生提取工具中使用的基于机器学习的分类器的训练数据。

基于机器学习的调节系数确定

图9示出了根据各种示例的在寄生提取工具中实施的基于机器学习的示例性调节系数系统。图10示出了根据各个示例的显示了寄生提取工具中的示例性调节系数确定的流程图。参照图9和图10,调节系数系统900可以包括调节系统910,该调节系统用来接收集成电路的一个或多个物理设计布局以及例如由寄生提取引擎从物理设计布局中提取的寄生模型。物理设计布局可以描述几何结构的层、几何结构之间的最小距离、对应于与几何结构相关联的网的信息等。在一些实施例中,调节系统910可以经由选择电路系统904来接收物理设计布局和对应的寄生模型,选择电路系统904可以基于选择信号934来输出训练数据901、测试数据902和/或验证数据903。训练数据901、测试数据902和验证数据903中的每个都可以包括物理设计布局和对应的寄生模型。

在框1001中,调节系统910可以确定用于集成电路的物理设计布局的寄生模型中的耦合电容,并且在框1002中,调节系统910可以基于物理设计布局中的几何结构来确定调节系数911。在一些实施例中,调节系统910可以基于物理设计布局或其一部分中的几何结构来生成特征向量,然后根据特征向量来生成调节系数911。例如,当特征向量包括两个几何结构之间的平均厚度时,调节系统910可以从物理设计布局中检索两个几何结构的厚度,并且导出包含在特征向量中的厚度的平均值。在一些实施例中,特征向量可以包括几何结构之间的距离,调节系统910可以从物理设计布局中确定该距离。在框1003中,调节系统910可以基于调节系数911来调节耦合电容,然后利用已调节的该物理设计布局的耦合电容来生成用于寄生模型的实际结果。

调节系数系统900可以包括成本函数系统920,该成本函数系统用来从调节系统910接收调节系数911,并且从选择电路系统904接收物理设计布局和对应的寄生模型。成本函数系统920还可以经由选择电路系统904接收参考模型。该参考模型可以描述测试规范的电气寄生模型,该测试规范描述了例如由制造厂生成的物理设计布局。

在框1004中,成本函数系统920可以将用于寄生模型的实际结果与参考模型进行比较,以确定针对每个耦合电容的实际结果与参考模型之间的误差。成本函数系统920可以基于用于寄生模型的实际结果与参考模型之间的误差来生成成本函数值921。在一些实施例中,成本函数值921可以是用于寄生模型的实际结果与参考模型之间的误差的累加(accumulation)的绝对值。

调节系数系统900可以包括对准系统930,该对准系统用来从成本函数系统920接收成本函数值921。在判定框1005中,对准系统930可以利用成本函数值921来确定用于寄生模型的实际结果与参考模型之间的每个误差是否超过可允许误差的阈值水平。当对准系统930确定针对每个耦合电容的误差降到预设阈值以下时,对准系统930可以指示(indicate):用来调节耦合电容的调节系数911允许寄生提取工具生成满足一组测试例的寄生模型。

当对准系统930确定针对耦合电容的任一误差超过预设阈值时,则在框1006中,对准系统930可以基于该误差来确定对于调节系数911的调整,并且生成调节调整值(scalingadjustment value)931。对准系统930可以向调节系统910提供调节调整值931,用于后续的调节系数911的生成。

调节系数系统900可以包括误差加权系统940,该误差加权系统用来在确定成本函数值921的过程中为与耦合电容相关联的每个误差设置权重941。对准系统930可以向误差加权系统940提供调节调整值931,用来在生成权重941的过程中使用。由于成本函数值921对应于耦合电容误差的累加,因此通过为每个耦合电容误差设置权重941,误差加权系统940可以识别哪些耦合电容误差可以被调整。例如,当误差加权系统940确定第一耦合电容具有应当被减小的误差时,误差加权系统940可以为其提供高权重941。赋予耦合电容误差的权重941越高,则该耦合电容误差将对成本函数值921的贡献越大,并且经由调节来调整误差的影响将更大地影响成本函数值921。相反,当误差加权系统940确定第二耦合电容具有不应被显著调整的误差时,误差加权系统940可以为其提供低权重941。给予耦合电容误差的权重941越低,则该耦合电容误差将对成本函数值921的贡献越小,并且经由调节来调整误差的影响将更小地影响成本函数值921。

对准系统930还可以生成选择信号934,该选择信号可以控制选择电路系统904输出训练数据901、测试数据902或验证数据903。在一些实施例中,对准系统930可以最初生成选择信号934,该选择信号934指引选择电路系统904输出训练数据901。在对准系统930已经确定与训练数据901相关联的误差已经降到阈值水平以下(例如,已设置用于成本函数系统920的调节系数911)之后,对准系统930可以生成选择信号934,该选择信号934指引选择电路系统904输出测试数据902。在对准系统930已经确定与测试数据902相关联的误差已经降到阈值水平以下之后,对准系统930可以生成选择信号934,该选择信号934指引选择电路系统904输出验证数据903,该验证数据903可以由调节系数系统900利用,以确保经由训练数据901和测试数据902所确定的调节系数的值可以配置寄生提取工具用于其它物理设计布局。

上述系统和装置可以使用专用的处理器系统、微控制器、可编程逻辑设备、微处理器或其任意组合来执行本文所述的一些或全部操作。上述的一些操作可以由软件来实施,而其它操作可以由硬件来实施。本文描述的操作、过程和/或方法中的任一个可以通过基本上与本文所述的类似的装置、设备和/或系统并参考示出的附图来执行。

处理设备可以执行存储在存储器中的指令或“代码”。所述存储器也可以存储数据。处理设备可以包括,但不限于,模拟处理器、数字处理器、微处理器、多内核处理器、处理器阵列、网络处理器等。处理设备可以是集成式控制系统或系统管理器的组成部分,或者可以被提供为便携式电子设备,该便携式电子设备被配置成经由无线传输与联网的系统在本地或远程地交互。

处理器存储器可以与处理设备集成在一起,例如,内置在集成电路微处理器等处理器中的RAM或FLASH存储器。在其它示例中,存储器可以包括独立设备,例如外部磁盘驱动器、存储器阵列、便携式FLASH密钥卡(key fob)等。存储器和处理设备可以可操作地耦合在一起,或者例如通过I/O端口、网络连接等进行彼此通信,并且处理设备可以读取存储在存储器上的文件。根据许可设置,相关联的存储器可以被设计为“只读”(ROM),也可以不是“只读”。存储器的其它示例可以包括,但不限于,可在固态半导体装置中实施的WORM、EPROM、EEPROM、FLASH等。其它存储器可以包括移动部件,例如已知的旋转磁盘驱动器。所有这样的存储器可以是“机器可读的”,并且可以由处理设备来读取。

操作指令或命令可以以存储的计算机软件(也称为“计算机程序”或“代码”)的有形形式来实施或体现。程序或代码可以存储在数字存储器中,并且可以由处理设备来读取。“计算机可读存储介质”(或者可替代地,“机器可读存储介质”)可以包括所有上述类型的存储器以及未来的新技术,只要存储器能够存储计算机程序或其它数据性质的数字信息,并且只要所存储的信息可以被适当的处理设备“读取”即可。术语“计算机可读的”可以不限于历史上使用的“计算机”而暗示完整的大型计算机、小型计算机、台式计算机或甚至膝上型计算机。而是,“计算机可读的”可以包括可以是由处理器、处理设备或任何计算系统可读取的存储介质。这种介质可以是可由计算机或处理器在本地和/或远程地可访问的任何可用介质,并且可以包括易失性和非易失性介质,以及可移动和不可移动介质,或其任何组合。

存储在计算机可读存储介质中的程序可以包括计算机程序产品。例如,存储介质可以用作存储或传输计算机程序的便捷装置。为方便起见,可以将操作描述为各种互连或耦合的功能性块或图。然而,可能存在这样的情况:其中这些功能性块或图可以被等效地聚合到具有模糊边界的单个逻辑设备、程序或操作中。

结论

虽然本申请描述了实施本发明实施例的具体示例,但是本领域技术人员将理解的是,存在上述系统和技术的许多变化和置换,这些变化和置换均落入所附权利要求中所阐述的本发明的精神和范围内。例如,虽然上文已经采用了特定的术语来提及电子设计自动化过程,但是应当理解的是,可以利用电子设计自动化过程的任何期望的组合来实施本发明的各种示例。

本领域技术人员还将认识到,本文所教导的概念可以以许多其它方式适合于特定应用。特别地,本领域的技术人员将认识到,所示出的示例仅是在阅读本公开之后才变得明了的许多可替代的实施方式中的一个。

尽管本说明书可能在若干位置中提及“某个(a)”、“一个(one)”、“另一(another)”或“一些(some)”示例,但这并不必定意味着每次参考的都是相同的一个或多个示例或者该特征仅应用于单个示例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号