使用多机器学习核的光刻热点检测的制作方法

文档序号:16680392发布日期:2019-01-19 00:22阅读:215来源:国知局
使用多机器学习核的光刻热点检测的制作方法

相关申请的交叉引用

本申请要求于2013年5月30日提交的临时专利申请no.61/828,915的优先权,其通过引用而结合于此。

本公开总体上涉及热点识别领域,特别涉及使用机器学习改进热点识别。



背景技术:

在先进制造技术中,日益增长的亚波长光刻(lithography)间隙导致印刷布局图案的不期望的形状扭曲。尽管设计规则检查(drc)和刻线(reticle)/分辨率增强技术(ret)(诸如光学邻近校正(opc)和次分辨率辅助特征(sraf))可以缓解可印刷性问题,但是布局上的很多区域可能仍然易受光刻工艺的影响。这些区域,所谓的光刻热点,应当在掩膜合成(masksynthesis)之前被检测并且校正。因此,热点检测是物理验证中的重要任务。

近年来热点检测已经获得持续的关注,并且可以主要被分类成四个主要类别:(1)光刻仿真、(2)图案匹配、(3)机器学习、以及(4)混合。全光刻仿真提供了最精确的检测结果。然而,仿真面临极高的计算复杂性和极长的运行时间。图案匹配是最快的热点检测方法并且善于检测预特征化的热点图案,但是具有有限的灵活性来识别先前未见过的热点图案。相比较而言,机器学习善于检测未知的热点但是需要特殊处理以抑制误报警。混合方法结合图案匹配和机器学习引擎(甚至具有光刻仿真器)以增强准确度且减小误报警,但是可能花费较长的运行时间。



技术实现要素:

上面和其它的需求可以由一种计算机实施的方法、一种存储可执行代码的非瞬态计算机可读取存储介质以及对应的系统来满足。在一种方法中,不同的机器学习核被训练用于识别不同类型的热点拓扑。可能包含热点的布局片段(layoutclip)可以被应用至机器学习核,并且这些核的结果被组合以识别布局片段内的热点。

用于热点检测的计算机实施的方法的一个实施例,包括定义片段以表示集成电路拓扑的一部分,以及使用多个核来评估片段,其中该核识别指示热点要发生的可能性的不同拓扑。

用于识别测试布局上的热点的计算机实施的方法的一个实施例,包括根据热点训练数据的拓扑将热点训练数据集分类成多个热点簇,其中热点簇与不同的热点拓扑相关联。根据非热点训练数据的拓扑将非热点训练数据集分类成多个非热点簇,其中非热点簇与不同的拓扑相关联。从热点簇并且从非热点簇的形心中提取拓扑关键特征和非拓扑关键特征,并且拓扑关键特征是使簇特征化的几何相关特征,并且非拓扑关键特征是使簇特征化的光刻工艺相关特征。创建被配置为识别热点的多个核,其中使用所提取的非热点簇的形心的关键特征以及从热点簇中的一个热点簇所提取的关键特征来构造每个核,并且每个核被配置为识别与其他核被配置用于识别的热点拓扑不同的热点拓扑。

存储用于识别测试布局上的热点的可执行的计算机程序指令的非瞬态计算机可读取存储介质的一个实施例,包括根据热点训练数据的拓扑将热点训练数据集分类成多个热点簇,其中热点簇与不同的热点拓扑相关联。根据非热点训练数据的拓扑将非热点训练数据集分类成多个非热点簇,其中非热点簇与不同的拓扑相关联。从热点簇并且从非热点簇的形心中提取拓扑关键特征和非拓扑关键特征,并且拓扑关键特征是使簇特征化的几何相关特征,并且非拓扑关键特征是使簇特征化的光刻工艺相关特征。创建被配置为识别热点的多个核,其中使用所提取的非热点簇的形心的关键特征以及从热点簇中的一个热点簇所提取的关键特征来构造每个核,并且每个核被配置为识别与其他核被配置用于识别的热点拓扑不同的热点拓扑。

附图说明

图1是根据实施例的可以包含热点的布局片段。

图2是根据实施例的用于确定所报告的(即所识别的)热点是否是实际热点的示例准则。

图3是图示根据实施例的热点检测系统的训练阶段和评估阶段的流程图。

图4a图示了根据实施例的四个图案a、b、c和d。

图4b图示了根据实施例的簇{a、d}、{b}和{c}。

图5a是根据实施例的已经被分割成不同区域的多边形。

图5b是根据实施例包括对于每个边的串的图5a的多边形。

图5c图示了根据实施例的包括复合串的图案。

图5d图示了根据实施例的像素化的布局片段。

图5e图示了根据实施例的通过基于密度的分类而生成的两个簇{a、b}和{c}。

图6a图示了根据实施例的四个示例拓扑特征。

图6b图示了根据实施例的五个示例非拓扑特征。

图7a图示了根据实施例的在布局片段提取期间发生的多边形分割。

图7b图示了根据实施例的包括图7a中的多边形的布局片段。

图8是图示了用于热点点检测的环境的实施例的高级框图。

图9是根据实施例的图示热点检测系统内的部件的细节视图的框图。

具体实施例

附图(fig)和下面的描述仅以解释说明的方式来描述某些实施例。根据下面的描述,本领域技术人员将容易认识到,可以采用本文中所解释说明的结构和方法的备选实施例而不背离本文中所描述的原理。现在将具体参照若干实施例,其示例在附图中被图示。应当注意,可用的相同或相似的附图标记可以在附图中使用,并且可以指示相同或相似的功能。

如本文中所用,“热点”是在制造阶段引起可印刷性问题的风险的布局图案。如本文中所用,“命中(hit)”是已经被正确地识别为热点的实际热点。准确度是总命中的数目与所有实际热点的数目的比率。另外,如本文中所用,“额外(extra)”是被错误地识别为热点的非热点。误报警是总额外的数目与全部实际热点的数目的比率。在这个实施例中,误报警表示假阳性(多少非热点被报告为热点),准确度反映假阴性(多少热点被漏掉)。

图1是根据实施例的可以包含热点的布局片段。如图1所示,训练数据集中的热点或非热点图案是由芯(core)及其外围所限定的布局片段,其中该芯是这个片段的提供其主要特点的中央部分,而外围是这个片段的提供补充信息的外界部分。此外,由制造厂(或光刻仿真)所提供的训练数据集可能是高度不平衡的,即非热点图案远超出热点图案。

图2是根据实施例的用于确定所报告的(即所识别的)热点是否是实际热点的示例准则。如图2所示,如果所报告的热点的芯与实际热点的芯重叠,则认为所报告的热点是命中。在一些实施例中,如果所报告的热点的片段与实际热点的片段重叠一定量的面积,则命中发生。此外,在一些实施例中,如果所报告的热点的片段与实际热点的片段完全重叠,则命中可以发生。

概述

如本文中所公开的热点检测系统采用机器学习的优势用于针对给定布局进行热点识别。热点检测系统是如下的计算设备,其执行计算机程序模块,该计算机程序模块训练热点检测系统以自动地识别布局的一部分是否是热点。热点检测系统可以例如是个人计算机、平板电脑、膝上计算机等。下面关于图8和图9详细讨论热点检测系统的结构。

如下所讨论的,该热点检测系统使用多核以提供模糊性,由此识别在训练数据集中未定义的潜在热点,而不增加误报警。此外,该热点检测系统平衡热点与非热点样本之间的群体,以实现高准确度和低误报警。此外,测试布局包含需要被评估以识别热点的巨大数目的地点。因此,在一些实施例中,在评估阶段,为了避免耗时的全布局扫描,热点检测系统基于多边形密度仅提取可能的布局片段。在一些实施例中,在评估之后,该热点检测系统可以过滤所检测的热点,以减小误报警的可能性,而不牺牲准确度。

图3是图示根据实施例的热点检测系统的训练阶段和评估阶段的流程图。训练阶段构造机器学习的多核模型。评估阶段使用所构造的多核模型来验证测试布局。在其它实施例中,其它实体可以执行过程中的一些或全部步骤。类似地,实施例可以包括不同的和/或附加的步骤,或者可以以不同的顺序来执行步骤。

热点检测系统被提供有热点训练数据集(也被称为热点训练数据)和非热点训练数据集(也被称为非热点训练数据)。热点训练数据包含已知用于生成热点的多个不同图案。类似地,非热点训练数据包含已知不用于生成热点的多个图案。

在一个实施例中,热点训练数据的大小小于非热点训练数据的大小(即热点训练数据中的数据项的数目小于非热点训练数据中的数据项的数目)。数据项是单个图案。热点和非热点训练数据之间的不平衡的群体可能降级准确度并且增加误报警率,因此,热点检测系统可以通过上采样或下采样热点和/或非热点训练数据来平衡该群体。

在本实施例中,该热点检测系统将热点训练数据上采样为中间大小。中间大小是上采样后的数据集的大小,使得上采样后的热点训练数据和非热点训练数据在尺寸上接近或相等。在一个实施例中,中间大小是这样的数据集大小,使得上采样后的热点训练数据集和非热点训练数据集的大小的比率可以在1:1到1:40的范围。例如,在一些实施例中,中间大小是1:1的数据集大小,即热点训练数据集和非热点训练数据集的大小相等。

为了上采样热点训练数据并且补偿布局片段提取误差(在后面讨论),热点检测系统向上、向下、向左、向右稍微移位每个热点训练图案,旋转该数据项(例如,90°),移动该数据项中的某个边缘,或前述的某种组合,以在拓扑分类之前创建若干派生数据项。派生数据项是数据移位后的数据项。

此外,该热点检测系统将非热点训练数据下采样为中间大小。在一些实施例中,为了下采样非热点训练数据而不损失重要的非热点信息,该热点检测系统将非热点训练数据分类成簇,并且选择每个非热点簇的形心(centroid)。在拓扑分类之后,热点检测系统将具有同样拓扑的非热点图案分类成单个非热点簇。因此,对于每个拓扑,存在相关联的非热点簇。然后,热点检测系统选择与该簇相关联的分类后的非热点图案的形心来表示相关联的非热点簇。在一些实施例中,热点检测系统丢弃该簇内的剩余非热点图案,因为它们具有与该形心相同或非常相似的数据信息。由所有的非热点形心来形成下采样后的非热点训练数据集。在备选实施例中,该热点检测系统可以在拓扑分类之前下采样(例如,随机选择)非热点数据。然而,由于这可能会损失一些非热点训练数据,所以这不是优选的。

在备选实施例中,热点训练数据的大小可以大于非热点训练数据的大小。在这些实施例中,热点检测系统可以调整(即上采样或下采样)热点训练数据和非热点训练数据,使得两个数据集达到中间大小。另外,在一些实施例中,热点训练数据和非热点训练数据在大小上可以相等,因此不必要调整。

热点检测系统根据上采样后的热点训练数据的拓扑而将上采样后的热点训练数据分类为‘n’个热点簇。类似地,热点检测系统根据非热点训练数据的拓扑而将非热点训练数据分类为‘n’个簇。拓扑分类在下文将参照图4a-b和图5a-e来详细讨论。

热点检测系统从每个热点簇的每个训练图案以及从每个非热点形心中提取拓扑关键特征和非拓扑关键特征。具体地,热点检测系统从包括热点簇的数据项以及从下采样后的非热点训练数据集中提取拓扑(几何相关的)关键特征和非拓扑(光刻工艺相关的)关键特征。关键特征提取在下文将参照图6a-b来详细讨论。

热点检测系统使用所提取的热点簇的关键特征和下采样后的非热点数据集的关键特征来针对每个热点簇构造特定的核。在一些实施例中,基于支持向量机(svm)模型、人工神经网络、一些其它机器学习模型或前述的某种组合来构造这些核。

使用热点簇和所有的非热点形心来创建每个核。在一些实施例中,使用热点簇和部分的非热点簇来创建每个核。利用拓扑分类,每个核能够集中在特定于其对应簇的关键特征上。在评估阶段,如果一个核将一个布局片段分类为热点,则该布局片段被标记为热点。拓扑分类还促进热点和非热点群体平衡。此外,如下所讨论的,与单个大核相比,多核学习实现高准确度。热点检测系统可以使用迭代学习处理来将核发展成确定的训练等级。例如,热点检测系统可训练核,直至达到一定阈值(例如,热点预测达到90%的准确度)。迭代多核svm核学习在下文详细讨论。

此外,(发生在上采样过程中的)数据移位从热点训练数据中生成若干派生数据,因此引入足够的簇种类。热点检测系统可以使用数据移位来将初始定位在外围的一个或多个多边形包括到芯区中,由此捕获可能影响热点的更多布局信息。此外,在一些实施例中,数据移位还能够补偿在片段提取期间引入的可能的布局片段提取偏差。因此,这些核具有灵活性来识别先前未见过的图案。

一旦这些核已经达到足够的训练水平,它们可以被用于评估测试布局(即评估阶段)。测试布局是热点检测系统使用多核来评估以识别热点的布局。

热点检测系统将测试布局划分成一个或多个片段。在一些实施例中,这些片段中的一个或多个可以具有与一个或多个相邻片段重叠的一些部分。热点检测系统从测试布局中提取一个或多个片段。在备选实施例中,热点检测系统定义用于热点检测的片段。在一些情况下,定义片段可以包括将测试布局划分成一个或多个片段并且从测试布局中提取一个或多个片段。在一些实施例中,热点检测系统可以使用从热点簇和非热点簇中提取的几何信息中的一些几何信息(例如,芯的多边形密度)来快速地识别所提取的布局片段是否重要。该片段提取步骤在测试布局中读取,并且提取布局片段,然后热点检测系统使用从热点簇和非热点簇中提取的一些几何信息来快速地丢弃无用的片段。

热点检测系统然后使用所训练的核来评估所提取的布局片段,以识别热点。这些核中的每个核被配置成识别特定的热点拓扑。在一些实施例中,这些核中的每个核处理所提取的所有片段,以识别热点。此外,在一些实施例中,在传送到核之前,可以对所提取的片段中的已知的非热点进行一些丢弃。然后,可以将所识别的热点呈现给热点检测系统的用户。例如,热点检测系统可以将包含热点的一个或多个芯(即热点芯)呈现给用户。

在一些实施例中,热点检测系统可以执行热点过滤,以减小所识别的热点中可能的冗余。在通过核进行评估之后,所报告的热点芯可以在具有高多边形密度的区域内强烈地重叠。热点过滤减小了冗余。此外,热点过滤能够大幅减小误报警而不损失准确性。

在一个实施例中,热点检测系统将所识别的包括热点的芯(即热点芯)合并成若干区域,并且如果其芯与该区域的一些热点芯重叠,则将热点片段合并到现有的合并区域。合并区域是覆盖该区域中的所有热点芯的最小边界框。

热点检测系统重新框定包含超过四个热点芯的合并区域。重新框定的目的是使所识别的热点的数目最小化而不丢失任何可能的实际热点。片段重新框定确保任意的实际热点的芯被至少一个重新框定的芯所覆盖。另外,热点检测系统可以移除位于两个合并区域的重叠区中的冗余片段。在下面两种条件下可以丢弃热点芯:(1)位于该芯内的所有多边形被其它热点芯所覆盖;(2)这个芯的每个角与某一合并区域内部的其它热点芯重叠。

拓扑分类

一些训练图案具有相似的形状,而一些训练图案的形状相当不同。因此,为了促进随后的机器学习核训练,训练数据集中的热点/非热点图案基于拓扑被分类成簇。在拓扑分类后,一个簇内的图案具有非常相似的几何特点(关键特征)。

在一个实施例中,热点检测系统使用二级拓扑分类:基于串的分类和基于密度的分类。图4a图示了根据实施例的四个图案a、b、c和d。基于串的分类基于拓扑(例如,b和c两者为十字)来将这些图案分割成两个中间簇{a、d}和{b、c}。

在一个实施例中,热点检测系统对串分类的中间簇使用基于密度的分类,以根据正在被处理的数据集创建非热点簇或热点簇。例如,被应用到簇{a、d}和{b、c}的基于密度的分类被用于基于簇的多边形分布而将簇{b、c}划分成簇{b}和{c}。图4b图示了根据实施例的簇{a、d}、{b}和{c}。拓扑分类使得每个机器学习核集中在特定于其对应簇的关键特征上,以及促进热点和非热点群体平衡。

在一个实施例中,热点检测系统使用四个方向的串来捕获一个图案的拓扑。图5a是根据实施例的已经被分割成不同区域的多边形。为了针对向下方向生成十进制串,首先沿着多边形边缘竖直地分割该图案,例如对于图5a而言,生成两个切片。对于每个切片,边界被标记为“1”,多边形块被标记为“1”,并且空白块被标记为“0”。由此,每个切片对应于二进制序列,并且然后将这个序列被转换成十进制数。图5a的向下分割生成被记录在底边的串<3,10>(=<112,10102>)。图5b是根据实施例的包括针对每个边的串的图5a的多边形。在相邻边处被记录的任意两个串完全捕获图案的拓扑。

在一个实施例中,热点检测系统使用来自一个图案的两个相邻边的串以及正被比较的图案上的对应的相邻边,来验证两个图案是否具有相同的拓扑。在一个实施例中,热点检测系统针对两个图案生成四个方向的串。热点检测系统选择一个图案的相邻边的任意两个串。热点检测系统通过逆时针和顺时针地级联另一个图案的串,来生成两个复合串。在起始边的串应当在最后被添加。

考虑八个可能的方位,当且仅当在一个图案的相邻边处的任意两个串存在于另一图案的逆时针或顺时针的复合串中时,两个图案具有相同的拓扑。八个可能的方位包括图案的四个旋度(0°、90°、180°和270°)与图案的两个镜像(水平和竖直)的组合。

例如,在图5b中,热点检测系统针对左边和底边来选择在图案的相邻边处的两个串<5,3,5,3,10>。图5c图示了根据实施例的包括复合串的图案。逆时针复合串:<6,3,6,10,3,5,3,5,3,10,6,3,6>,并且顺时针复合串:<10,3,5,3,5,3,10,6,3,6,10,3>。串组分<5,3,5,3,10>存在于逆时针复合串中。因此,图5b和图5c中给定的图案具有相同的拓扑。

在基于串的分类之后,在一个簇内的图案具有相同的拓扑。尽管如此,在一些情况下,具有同一拓扑的两个图案可能仍然具有非常不同的几何特点。例如,在离散过程禁止规则下,一个可以是热点,而另一个是非热点。

在一个实施例中,对于图案pi,首先像素化其布局片段,并且计算每个像素dk的多边形密度。图5d图示了根据实施例的像素化的布局片段。两个图案pi和pj之间的距离ρ(pi,pj)是通过基于同一方位的对于所有像素的像素密度差的和来定义:

其中τ是方位,并且d8表示八个可能的方位的集合。

基于距离度量,由基于密度的分类所使用的簇半径被如下地定义。

r=max(r0,maxi,jρ(pi,pj)/10),(2)

其中r0是用户定义的半径阈值。在一个实施例中,对于所研究的图案,热点检测系统检查该图案是否被某一现有的簇所覆盖。例如,如果一个图案和一个簇的形心(表示)之间的距离小于或等于半径值,则该图案被该簇所覆盖。如果这样,将该图案增加到覆盖簇中。否则,该图案变成新的簇的形心。对于所有的图案重复这个流程。另外,在一些实施例中,一旦图案被增加到某一簇,则热点检测系统重新计算形心。图5e图示了根据实施例的通过基于密度的分类生成的两个簇{a、b}和{c}。

关键特征提取

热点检测系统从图案提取关键特征。关键特征是特征化相关联的图案的特征。关键特征可以是拓扑特征或非拓扑特征。拓扑特征与图案的几何形状相关。拓扑特征可以包括例如一对内部相对的多边形边之间的水平距离和竖直距离、一对外部相对的多边形边的水平距离和竖直距离、两个凸角的对线角距离、多边形的水平边长度和竖直边长度、或者与该图案的几何形状有关的某个其它特征。非拓扑特征与可以用于生成图案的光刻工艺有关。非拓扑特征可以包括例如角(凸角加凹角)的数目、接触点的数目、一对内部相对的多边形边之间的最小距离、一对外部相对的多边形边之间的最小距离、多边形的密度、或者与光刻工艺有关的某个其它特征。在一个实施例中,热点检测系统使用传递闭包图(transitiveclosuregraph)来提取拓扑关键特征。关键特征提取在于2012年11月5日提交的、名为“accurateprocess-hotspotdetectionusingcriticaldesignruleextraction”的美国专利申请no.13/669,387中被进一步描述,其通过引用而整体结合在此。

图6a图示了根据实施例的四个示例拓扑特征。在该实施例中,所提取的拓扑特征的四种类型为:(1)一对内部相对的多边形边之间的水平距离和竖直距离;(2)一对外部相对的多边形边之间的水平距离和竖直距离;(3)两个凸角的对角线距离;以及(4)多边形的水平边长度和竖直边长度。考虑八种可能的方位,可以生成两组拓扑特征,以保持所提取的特征之中的竖直关系和水平关系。

图6b图示了根据实施例的五个非拓扑特征。在该实施例中,热点检测系统定义五种类型的非拓扑特征:(1)角的数目(凸角加凹角);(2)接触点的数目;(3)一对内部相对的多边形边之间的最小距离;(4)一对外部相对的多边形边之间的最小距离;以及(5)多边形的密度。

通过拓扑分类,对于簇中的所有图案而言,关键特征的数目相等。特征数目相等促进了随后的svm核训练。例如,在svm训练步骤中,可以使用大量的数据来训练核。但是,仅利用固定的数据特征大小,核就能够被训练。如果训练数据中的两个数据包含不同的特征大小,应当使用一些方法(例如,将伪特征添加到具有较小特征大小的训练数据,或者丢弃具有较大特征大小的训练数据的一些特征),以使它们相等。因此,因为不知道什么特征实际是重要的,因此降低了核训练的质量。

迭代多svm核学习

为了提供灵活性用于识别未见过的热点,热点检测系统利用机器学习。如以上所讨论的,在一些实施例中,热点检测系统可以使用迭代多核学习以充分利用机器学习的优势。

在机器学习中,svm是流行的优越的学习模型。两级svm将训练数据转换成高维度空间,并且计算超平面,以用最大的裕度(margin)将数据分离成两类。如果svm核函数是对称的半正定函数,则svm确保全局最优解。svm在处理小训练数据集、非线性和高维度分类问题时已经显示优越的性能。

在一个实施例中,热点检测系统使用两类软间隔c型svm并且使用径向基函数以发展核,来检测热点和非热点。给定训练数据,xn,n=1…n,标签为tn(对于两类svm,+1或-1)。c型svm的二次编程公式形式给定如下。

条件为

a=(a1,...,an)t,(7)

其中c控制松弛变量补偿(slackvariablepenalty)和裕度之间的权衡,k(xn,xm)是高斯径向基核函数;并且an是拉格朗日乘子。高斯径向基核函数是对称正半正定,因此产生最优分类。在该实施例中,不平衡群体可能破坏软裕度,并且降级训练质量。

c和γ的适当值可以产生svm核的良好训练质量。因此,如图3所示,热点检测系统使用自训练处理,以迭代地适配c和γ参数。c和γ的初始值分别为1000和0.01。如果不满足停止准则,c和γ加倍。迭代学习的停止准则是自训练的迭代次数超过用户定义的边界或热点/非热点检测准确率(相对于训练数据而言)超过用户定义的训练精度度,即90%或者某个其它值。

布局片段提取

测试布局包含需要进行评估的巨大数量的地点。在一个实施例中,为了避免耗时的全布局扫描,热点检测系统可以基于多边形分布而仅提取可能的布局片段。在其它实施例中,热点检测系统可以提取附加的布局片段。

图7a图示了根据实施例的在布局片段提取期间发生的多边形分割。在该实施例中,首先水平地将每个布局多边形分割成矩形。然后,如果这些矩形的宽度或高度大于热点芯的边长(图2中的ic),则这些矩形被切成更小的片。

图7b图示根据实施例的包含图7a中的多边形的布局片段。如图7b所示,关于每个矩形的左下角设置芯和外围。如果该片段内的多边形分布满足用户指定的要求,则热点检测系统提取对应的布局片段;否则,该片段被丢弃。在一些实施例中,用户指定的要求可以指定多边形密度(总的多边形面积/片段面积)、多边形计数、片段边界与覆盖该片段中的所有多边形矩形的边界框之间的距离等。例如,多边形密度可以是至少0.3或等于0.3,多边形计数可以大于5,并且片段边界与覆盖该片段中的所有多边形矩形的边界框之间的距离可以比热点外围长度的35%更小。多边形分布可以是多边形密度、多边形计数、片段边界与覆盖片段中的所有多边形矩形的边界框之间的距离(在图7b中由四个箭头示出)等。用户指定的要求与热点训练数据信息正相关。可以看出,如果满足多边形分布要求,则每个多边形应当被至少一个多边形片段所包括。此外,所提取的片段和实际热点之间可能的不对准能够由在群体平衡过程中发生的数据移位来补偿。

实验结果

在一个实施例中,热点检测系统可以包括利用gdsii库anuvad和svm库libsvm的以c++编程语言实施的软件模块。在这个实施例中,热点检测系统包括两个intelxeon2.3ghzcpu并且具有64gb内存。

在热点和非热点训练图案之间具有高度不平衡的群体的条件下,在用于物理验证和基准套件(benchmarksuite)的模糊图案匹配中,对iccad-2012cad竞赛中由j.a.torres发布的6个32nm和28nm工业设计进行实验,inproc.iccad,pp.349–350,2012,http://cad_contest.cs.nctu.edu.tw/cad-contest-at-iccad2012/problems/p3/p3.html,如表1所列出。#hs是指热点的数目,而#nhs是指非热点的数目。对于该基准套件而言,芯大小为1.2×1.2um2,而片段大小为4.8×4.8um2。执行三组实验,以将热点检测系统的整体性能与2012cad竞赛胜者进行比较,证明了多svm核训练和热点过滤的有效性,并且显示了热点检测系统的快速训练收敛性。

表1.在iccad基准统计的2012cad竞赛

在第一组实验中,将热点检测系统与iccad的2012cad竞赛胜者进行比较。表2总结了实验结果。总体来说,热点检测系统在准确度、误报警和命中/额外率方面优于第一名胜者。对于array_benchmark3而言,与第三名胜者相比,热点检测系统具有较低的准确度,但是具有特别低的误报警。

表2.与2012cad竞赛胜者的比较

在第二组实验中,如表3所列出的,证明了热点检测系统的有效行。‘单svm’是指使用单个大svm核的基线svm(即,无拓扑分类和热点过滤);‘ours_wo_filtering’是指使用多svm核训练而没有热点过滤的热点检测系统(即,具有拓扑分类而无热点过滤);‘ours’是指包括热点过滤的热点检测系统。在该实验中,使用下面的参数来证明热点检测系统的流程:(1)热点检测系统的svm核的c和γ的初始值分别是1000和0.01;(2)自训练的停止准则为90%的准确度;(3)数据移位是120nm(=lc/10);(4)片段边界和片段提取的边界框之间的最大距离是1440nm;(5)片段合并的最小重叠是20%;以及(6)芯重新框定的分离距离是1150nm。首先,热点检测系统的关键特征是有效的。例如,针对array_benchmark3和array_benchmark5而言,单个svm实现了超过78%的准确度。其次,热点检测系统的拓扑分类和群体平衡工作良好,并且因此热点检测系统的多svm核学习具有足够的模糊性并且给出非常高的准确度,85.9~98.2%。第三,热点检测系统的热点过滤在所有的情况下均大幅减小误报警而不牺牲准确度。

表3.热点检测特征的详细比较

在第三组实验中,训练数据对准确度的影响在表4中示出。对于该表,‘数据’是指所使用的训练图案计数与全部训练图案数据的比率。表4指示使用不同的训练数据可以实现更高的准确度和更低的误报警,例如,array_benchmark2和mx_blind_partial。其次,对于热点检测系统,存在训练质量的快速收敛。另外,热点检测系统可以使用少量的训练数据而实现高准确度,特别是对于array_benchmark3和array_benchmark5,因此缩短了运行时间。

表4.准确度和训练数据

图8是图示了用于热点点检测的环境的实施例的高级框图。环境包括通过网络802连接到热点检测系统800的客户端设备100。这里仅示出一个客户端设备100以及热点检测系统,但是可以存在这些实体中的每个实体的多个实例。例如,可以存在与多个热点检测系统800通信的数百个用户设备100。

网络802提供用户设备100与热点检测系统800之间的通信基础设施。网络802典型地是互联网,但是也可以是任何网络,包括但不限于局域网(lan)、城际网(man)、广域网(wan)、移动有线或无线网络、专用网络、虚拟专用网络、或者前述的某种组合。

客户端设备850是执行计算程序模块的计算设备,这些计算程序模块允许用户向热点检测系统800上传数据。例如,在一些实施例中,客户端设备850将用于集成电路的布局上传到热点检测系统800。另外,这些模块允许用户从热点检测系统800接收所识别的热点或一些其它信息。客户端设备850可以例如为个人计算机、平板电脑、膝上计算机或其它类型的能联网的设备。

热点检测系统800处理布局以识别一个或多个热点。在一些实施例中,用户从用户直接上传布局,处理布局以识别热点,并且将所识别的热点呈现给用户。在备选实施例中,热点检测系统800从客户端设备850接收布局,处理布局以识别热点,并且将所识别的热点提供给客户端设备850。

热点检测系统800由模块构成,这些模块包括检测数据库805、缩放模块810、分类模块815、特征提取模块820、训练模块825和评估模块830。热点检测系统800的一些实施例具有与这里所描述的这些模块不同的模块。类似地,能够以与本文中所描述的不同的方式来在模块之间分配功能。在一些实施例中,热点检测系统800被配置为执行上面参照图3所描述的功能中的部分或全部。

检测数据库805是如下数据库,其包括热点训练数据、非热点训练数据、一个或多个测试布局、一个或多个片段、或前述的某种组合。如上面参照图3所讨论的,热点训练数据包含已知用于生成热点的多个不同的图案。类似地,非热点训练数据包含已知不用于生成热点的多个图案。

缩放模块810对非热点训练数据、热点训练数据或它们的某种组合进行缩放。缩放模块810可以从检测数据库805和/或某个其它实体(例如系统管理者)获取非热点训练数据和/或热点训练数据。在一些实施例中,缩放模块810被配置为上采样和/或下采样热点训练数据、非热点训练数据或它们的某种组合。例如,缩放模块810可以将热点训练数据上采样成中间大小(例如,使得热点训练数据集和非热点训练数据集为相等大小)。在一些实施例中,缩放模块810可以通过稍微移位(例如,向上、向下、向左、向右移位,旋转数据项,移动数据项中的某个边,或前述的某种组合)每个数据项来上采样热点训练数据和/或非热点训练数据,并且将新移位的数据项存储为上采样后的热点训练数据和/或非热点训练数据中的单独数据项。

在一些实施例中,缩放模块810被配置为下采样热点训练数据、非热点训练数据、或它们的某种组合。例如,缩放模块810可以过滤训练数据中的重复性图案。缩放模块810被配置为将缩放后的训练数据提供给分类模块815。缩放后的训练数据可以是已经被上采样、下采样、未修改(例如,数据没有上采样/下采样)或前述某种组合的热点训练数据和/或非热点训练数据。

分类模块815根据训练数据的拓扑来分类训练数据。分类模块815从缩放模块810接收热点训练数据、非热点训练数据或它们的某种组合。热点训练数据和/或非热点训练数据可以已经或可以尚未被缩放(例如,被上下采样和/或被下采样)。分类模块815根据热点训练数据的拓扑将热点训练数据分类成‘n’个热点簇。类似地,分类模块815根据非热点训练数据的拓扑将非热点训练数据分类成‘n’个非热点簇。分类模块815将具有相同拓扑的非热点图案分组成单个非热点簇。因此,对于每个拓扑,存在相关联的非热点簇。分类模块815选择与该簇相关联的所分类的非热点图案的形心来表示相关联的非热点簇。在一些实施例中,分类模块815(例如使用缩放模块810)丢弃这个簇内的剩余非热点图案,因为它们具有与形心相同或非常相似的数据信息。在备选实施例中,分类模块815可以在拓扑分类之前下采样(例如随机选择)非热点数据。在一些实施例中,分类模块815执行以上名为“拓扑分类”部分中详细讨论的功能中的部分或全部功能,以分类热点训练数据、非热点训练数据或它们的某种组合。分类模块815将热点簇和非热点簇提供给特征提取模块820。

特征提取模块820从热点簇、非热点簇或它们的某种组合中提取关键特征。关键特征可以是拓扑的和/或非拓扑的。特征提取模块820执行以上名为“关键特征提取”部分中详细讨论的功能中的部分或全部功能,以从热点训练数据、非热点训练数据或它们的某种组合中提取关键特征。特征提取模块820将关键特征提供给训练模块825。

训练模块825创建多个核,多个核被配置用于使用从特征提取模块820接收的关键特征来识别热点。训练模块825使用所提取的热点簇的关键特征和从非热点训练数据的一些或全部非热点训练数据中提取的关键特征,来针对每个热点簇创建核。可以基于svm模型、人工神经网络、某个其它的机器学习模型或前述的某种组合来构造这些核。

训练模块825可以将核训练到所确定的训练等级。训练模块825可以使用迭代训练处理,该过程对核进行训练直至达到阈值。可以设置阈值以使得当实现一个或多个参数时该训练完成。参数可以例如是热点检测准确度、花费时间、训练周期的次数等。训练模块825执行以上名为“迭代多svm核学习”部分中详细讨论的功能中的部分或全部功能部,以训练用于热点检测的核。

评估模块830从测试布局中生成一个或多个片段。测试布局可从热点检测系统800的用户接收、从一个或多个客户端设备100接收、或者前述的某种组合。评估模块830可以从检测数据库805获得测试布局。评估模块830执行以上名为“布局片段提取”中详细讨论的功能中的部分或全部功能,以从测试布局提取片段。在一些实施例中,评估模块830使用从热点簇和/或非热点簇提取的几何信息中的部分或全部几何信息,来识别所提取的布局片段是否很可能包含热点。另外,在一些实施例中,如果该片段包括已知不是热点的图案,评估模块830丢弃该片段。

评估模块830然后使用所训练的核来评估片段,以识别热点芯。所训练的核中的每个核均被配置为识别特定的热点拓扑。评估模块830使用所训练的核中的一些或全部核来识别片段中的热点芯。在一些实施例中,评估模块830可以过滤掉所所识别的热点芯中的任何冗余。另外,如果热点芯重合,评估模块830可以将多个热点芯合并成合并区域(即,覆盖一个区域中的所有热点芯的最小边界框)。在一些实施例中,评估模块830可以重新框定包含多个热点芯(例如,超过4)的合并区域。这在以上参照图3被讨论。评估模块830可以将所识别的热点呈现给用户和/或将所识别的热点提供给客户端设备100。

现在转向以上讨论的实体的实施方式的讨论,图9是图示用于实施图8中所示的实体中的一个或多个实体的示例计算机900的高级框图。计算机900包括与芯片集904耦合的至少一个处理器902。芯片集904包括存储控制器集线器920和输入/输出(i/o)控制器集线器922。存储器906和图形适配器912耦合至存储控制器集线器920,并且显示器918耦合至图形适配器912。存储设备908、输入接口914、扬声器926和网络适配器916耦合至i/o控制器集线器922。计算机900的其它实施例具有不同的架构。

存储设备908是非瞬态计算机可读取存储介质,例如为硬盘驱动器、只读光盘存储器(cd-rom)、dvd或固态存储设备。存储器906保存由处理器902使用的指令和数据。输入接口914是触摸屏接口、鼠标、跟踪球或其它类型的指向装置、键盘、麦克风、或前述的某种组合,并且输入接口914用于将数据输入到计算机900中。图形适配器912在显示器918上显示图像和其它信息。网络适配器916将计算机900耦合至一个或多个网络。

计算机900被适配用于执行计算机程序模块,其用于提供本文中所描述的功能。如本文中所使用的,术语“模块”是指用于提供特定功能的计算程序逻辑。因此,模块可以被实施为硬件、固件和/或软件。在一个实施例中,程序模块被存储在存储设备908上,被加载到存储器906中并且被处理器902执行。由热点检测系统800使用的计算机900的类型可以取决于热点检测系统800所要求的实施例以及处理功率而改变。例如,热点检测系统800可以包括通过诸如服务器群的网络而彼此通信的多个计算机900,以提供本文中所描述的功能。这种计算机900可以缺少以上所描述的部件中的一些部件,诸如图形适配器912和显示器918。

其它配置考虑

以上描述的一些部分在算法处理或操作方面描述了实施例。这些算法的描述和表示是图像处理领域的技术人员平常用来将他们的工作的事项有效地传达给本领域的其它技术人员。这些操作,尽管功能地、计算地或逻辑地描述了它们,被理解为由包括用于被处理器或等同电路等执行的指令的计算机程序、微代码等来实施。此外,有时还方便证明,将功能操作的这些布置称为模块,而不失一般性。所描述的操作及其相关联的模块可以被体现为软件、固件、硬件、或前述的任意组合。在一个实施例中,软件模块用包括非瞬态计算机可读取介质的计算机程序产品来实现,非瞬态计算机可读取介质包括计算机程序代码,计算机程序代码可以由计算机处理器来执行,用于执行所描述的步骤、操作或过程中任何一个或全部。

如本文中所用的,对“一个实施例”或“实施例”的任何引用是指关于实施例所描述的特定元件、特征、结构或特点被包括在至少一个实施例中。在说明书中的不同地方出现的短语“在一个实施例中”不必都指称同一个实施例。

一些实施例可以使用“耦合”和“连接”以及它们的派生词来进行描述。应当理解,这些术语并非意在作为彼此的同义词。例如,一些实施例可以使用术语“连接”来进行描述,以指示两个或多个元件彼此处于直接物理或电接触。在另一实施例中,一些实施例可以使用术语“耦合”来进行描述,以指示两个或多个元件彼此直接物理或电接触。然而,术语“耦合”还可以指示两个或多个元件彼此不是直接接触,而是彼此协作或相互作用。在本上下文中,实施例不受限制。

如本文中所使用的,术语“包括”、“包括的”、“包含”、“包含的”、“具有”、“有”、或它们的任何其它变形,旨在覆盖非排它性的包括。例如,包括一个元件列表的过程、方法、物品或设备不必限制为这些元件而是可以包括未清楚列出的或这种过程、方法或设备所固有的其它元件。进一步,除非清楚地相反地陈述,“或”是指包含性的或,而不是排它性的或。例如,条件a或b由以下任一项满足:a为真(或存在)且b为假(或不存在),a为假(或不存在)且b为真(或存在),以及a和b为真(或存在)。

此外,“一”或“一个”的使用被用来描述本文中实施例的元件和部件。这仅仅出于方便并且给了本公开以一般的意义。该描述应当被理解为包括一个或至少一个,并且单数还包括复数,除非清楚的是,它表明相反的意思。

通过阅读本公开内容,本领域的普通技术人员将理解对于用于识别热点的系统和方法还存在其它备选的结构和功能设计。因此,尽管已经图示和描述了特定实施例和应用,应当理解,所描述的主题不限于本文中公开的精确结构和部件,并且对本文中所述的方法和设备的构造、操作和细节方面进行各种修改、改变和变形对于本领域的普通技术人员而言是显而易见的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1