用于电路版图的热点检测方法、设备和存储介质与流程

文档序号:24417842发布日期:2021-03-26 21:30阅读:213来源:国知局
用于电路版图的热点检测方法、设备和存储介质与流程

1.本公开的实施例主要涉及集成电路,并且更具体地,涉及用于电路版图的热点检测方法、设备和计算机可读存储介质。


背景技术:

2.电路版图(又可以简称为版图)是从设计并模拟优化后的电路所转化成的一系列几何图形,其包含了集成电路尺寸、各层拓扑定义等器件相关的物理信息数据。集成电路制造商根据这些数据来制造掩模。掩模上的版图图案决定着芯片上器件或连接物理层的尺寸。
3.随着集成电路制造工艺的技术节点的减小,集成电路中的目标图案之间的距离减小,并且掩模上与目标图案相对应的版图图案的密度增加。由于光波会在掩模的版图图案处发生衍射,导致产生某些缺陷。这些缺陷的出现,极有可能在电路的实际运行中,产生开路或短路现象,烧毁电路。在缺陷位置处的局部版图通常被称为热点(hotspot)。因此,在将电路版图转移到晶圆之前,需要对整个电路版图进行检测,以找出那些容易产生缺陷的热点。然而,对电路版图进行热点检测的过程消耗大量的计算资源和时间。


技术实现要素:

4.根据本公开的示例实施例,提供了一种用于电路版图的热点检测方案。
5.在本公开的第一方面中,提供了一种用于电路版图的热点检测方法。该方法包括生成多个子作业,以用于从电路版图中检测具有潜在缺陷的热点。每个子作业指定要利用电路版图的一个版图单元而执行的一个或多个操作。该方法还包括基于多个处理设备的配置信息和一个或多个操作的类型,将多个子作业分配给多个处理设备。多个处理设备中的至少一个处理设备被配置有加速处理资源。该方法进一步包括基于多个处理设备对多个子作业的检测结果,确定电路版图所包括的一个或多个热点。
6.在本公开的第二方面中,提供了一种电子设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器执行动作。动作包括生成多个子作业,以用于从电路版图中检测具有潜在缺陷的热点。每个子作业指定要利用电路版图的一个版图单元而执行的一个或多个操作。动作还包括基于多个处理设备的配置信息和一个或多个操作的类型,将多个子作业分配给多个处理设备。多个处理设备中的至少一个处理设备被配置有加速处理资源。动作进一步包括基于多个处理设备对多个子作业的检测结果,确定电路版图所包括的一个或多个热点。
7.在一些实施例中,基于多个处理设备的配置信息和一个或多个操作的类型,将多个子作业分配给多个处理设备包括:基于多个处理设备的配置信息,从多个处理设备中确定第一组处理设备和第二组处理设备,第一组处理设备为未被配置有加速处理资源的一组处理设备,第二组处理设备为被配置有加速处理资源的一组处理设备;如果多个子作业中的第一组子作业仅包括非图案识别操作,则将第一组子作业分配给第一组处理设备;以及
如果多个子作业中的第二组子作业包括图案识别操作,则将第二组子作业分配给第二组处理设备。
8.在一些实施例中,图案识别操作在非图案识别操作之前被执行。
9.在一些实施例中,基于多个处理设备的配置信息和一个或多个操作的类型,将多个子作业分配给多个处理设备包括:基于多个处理设备的配置信息,从多个处理设备中确定多对处理设备,每对处理设备包括未被配置有加速处理资源的第一处理设备和被配置有加速处理资源的第二处理设备;以及如果一个或多个操作包括图案识别操作和非图案识别操作,则将每个子作业分配给多对处理设备中的相应的一对处理设备,使得非图案识别操作由第一处理设备执行,并且图案识别操作由第二处理设备执行。
10.在一些实施例中,生成多个子作业包括:针对多个子作业中的每个子作业,获得版图单元的几何图形信息,几何图形信息指示版图单元所包括的各个几何图形对几何图形组合的从属关系;基于几何图形信息,从几何图形组合中确定多个图案,每个图案包括根据几何图形信息确定属于该图案的至少一个几何图形;以及设置每个子作业以对多个图案执行图案测量操作,图案测量操作与版图单元中的潜在缺陷有关,并且属于一个或多个操作。
11.在一些实施例中,设置每个子作业以指定对多个图案执行图案测量操作包括:如果多个图案中包括属于相同类型的一组图案,从一组图案中选择参考图案;设置每个子作业以:对参考图案执行图案测量操作,以获得对参考图案的测量结果;并且通过将测量结果应用于一组图案中除参考图案之外的其余图案,对其余图案执行图案测量操作。
12.在一些实施例中,一个或多个操作包括以下至少一项:用于变换版图单元的图案卷积操作,与版图单元中的潜在缺陷有关的图案测量操作,或对版图单元的图案识别操作。
13.在一些实施例中,加速处理资源被可移除地配置给至少一个处理设备。
14.在本公开的第三方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。
15.应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
16.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
17.图1a示出了热点检测中确定测量位置的示意图;
18.图1b示出了使用机器学习来确定热点的示意图;
19.图2示出了本公开的多个实施例能够在其中实现的示例架构的示意图;
20.图3示出了根据本公开的一些实施例的图2中的示例架构的一部分的示意图;
21.图4示出了根据本公开的一些实施例的示例版图单元;
22.图5示出了根据本公开的一些实施例的针对图4的示例版图单元的索引结构;
23.图6示出了根据本公开的一些实施例的分配子作业的过程的框图;
24.图7示出了根据本公开的一些实施例的分配子作业的过程的框图;
25.图8示出了根据本公开的一些实施例的用于电路版图的热点检测的示例方法的流
程图;以及
26.图9示出了能够实施本公开的多个实施例的计算设备的框图。
具体实施方式
27.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
28.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
29.如本文中所使用的,术语“加速处理资源”或类似术语是指相对于中央处理单元(cpu)、图形处理单元(gpu)、现场可编程门阵列(fpga)等常规处理资源而言,能够进行快速处理的硬件或软件。加速处理资源(apr)可以包括但不限于加速处理器(apu)、人工智能(ai)芯片。ai芯片可以包括例如张量处理单元(tpu)、神经网络处理单元(npu)、以及其他现有的或将来开发的ai芯片。可以理解的是,这样的加速处理资源主要用于提高ai相关应用的计算速度。
30.如前文所简要提及的,在将电路版图转移到晶圆之前,需要对电路版图进行热点检测,以对找出的热点进行修正。在现有的热点检测的计算环境中,用于热点检测的计算单元通常利用或基于常规处理资源,例如cpu、gpu、fpga、cell带宽引擎架构(cell be)处理器。在分布式处理架构中,这些计算单元通常被实现为分布式的多个客户端。这些客户端通常具有相同的配置,并且被配置有cpu、gpu、fpga等常规处理资源中的一种或多种。
31.然而,在现有技术方案中,进行热点检测所耗费的运行时间仍然较长,这不利于快速获得大量结果。因此,期望一种更快速和高效的方案来执行针对掩模的电路版图的热点检测作业。
32.根据本公开的实施例,提出了一种用于电路版图的热点检测方案。在该方案中,管理设备生成多个子作业,以用于从电路版图中检测具有潜在缺陷的热点。每个子作业对应于电路版图的一个版图单元,并且指定要利用版图单元而执行的一个或多个操作。然后,管理设备基于多个处理设备的配置信息和一个或多个操作的类型,将多个子作业分配给多个处理设备。多个处理设备中的至少一个处理设备被配置有加速处理资源。接下来,管理设备基于多个处理设备对多个子作业处理的检测结果,确定电路版图所包括的一个或多个热点。
33.根据在此提出的用于电路版图的热点检测方案,可以根据处理设备的配置和多个子作业的特点来将子作业分配给合适的处理设备。以此方式,处理设备的处理资源能够得到更好的利用,并且子作业的处理得以加速。因此,本公开的方案能够有利地实现快速且高效的热点检测方案。
34.为了更好地理解在此提出的用于电路版图的热点检测方案,下面将介绍热点检测的有关原理。在热点检测作业中,需要根据式(1)来计算晶圆图像w(x,y):
35.w(x,y)=f(m(x,y))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
36.其中f是描述晶圆图案化过程中的各种现象的物理模型,其可以是掩模版图的函数;m(x,y)是给定的掩模版图的图案;(x,y)表示坐标。其中,掩模版图的函数f可以采用任何现有或将来开发的物理模型,本公开的实施例在此方面不做限定。
37.计算式(1)中的晶圆图像的一种方式是使用如式(2)所示的核卷积公式:
[0038][0039]
其中,φ
i
(x,y)表示第i个卷积核,i=1,2,

,k,并且k是卷积核的数目。
[0040]
在获得晶圆图像后,可以根据式(3)来计算晶圆图案wp:
[0041]
wp=g(w(x,y))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0042]
其中,函数g表示工艺模型,例如可以是与光刻胶、刻蚀、化学机械抛光有关的模型。
[0043]
为了检测热点,需要将晶圆图案wp的性质与目标图tp的性质进行比较。然后,需要检查在特定位置处所比较的性质的偏差是否大于技术规范的规定。这一过程也称为“热点测量”。可以使用一个或多个测量指标作为晶圆图案wp与目标图案tp的性质偏差以进行热点测量。下面列举这种测量指标的一些示例。
[0044]
作为示例,测量指标可以包括边缘放置误差epe。
[0045]
epe|
x,y
=|wp

tp|
x,y
>spec|
x,y
ꢀꢀꢀꢀꢀꢀꢀ
(4)
[0046]
其中,(x,y)表示测量位置的坐标,spec|
x,y
表示规范所规定的epe值。如式(4)所示,当针对测量位置(x,y)确定的epe|
x,y
大于spec|
x,y
时,该测量位置的epe将被标记。
[0047]
备选地或附加地,测量指标可以包括针对特征宽度的关键尺寸cd或空间宽度sw。
[0048]
cd或sw>spec|
x,y
ꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0049]
其中,(x,y)表示测量位置的坐标,spec|
x,y
表示规范所规定的cd或sw值。如式(5)所示,当针对测量位置(x,y)确定的cd或sw大于spec|
x,y
时,该测量位置的cd或sw将被标记。
[0050]
结合式(4)和(5)所描述的测量指标是可以从图案中直接测量得到的。可以使用目标图案tp来确定测量位置。参考图1a,图1a示出了热点检测中确定测量位置的示意图。目标图案120是期望在晶圆上形成的图案,例如可以是设计图案;版图图案130是经过光学邻近校正(opc)的与目标图案120相对应的图案,其也可以称为“opc后的图案”。
[0051]
图1a示出了多个测量位置150

1至150

7,其在下文中也统称为或单独称为“测量位置150”。测量位置150

4、150

5和150

6指示在何处确定如式(4)所示的epe。测量位置150

1、150

2和150

3指示在何处确定如式(5)所示的cd。测量位置150

7指示在何处确定如式(5)所示的sw。
[0052]
除了上述可直接从图案得到的测量指标,还可以使用与工艺窗口有关的测量指标。作为示例,测量指标可以包括从图像性质测量的偏差,诸如图像对数斜率ils:
[0053][0054]
其中,(x,y)表示测量位置的坐标,n是沿着斜率测量的方向,spec|
x,y
表示规范所规定的ils值。如式(6)所示,当针对测量位置(x,y)确定的ils小于spec|
x,y
时,该测量位置的ils将被标记。
[0055]
测量指标还可以包括从另一图像性质测量的偏差,例如从焦深(dof)测量的偏差。
[0056]
备选地或附加地,测量指标可以包括如式(7)所示的掩模误差增强因子meef:
[0057][0058]
其中,(x,y)表示测量位置的坐标,cd
wafer
表示光刻胶线宽,cd
mask
表示掩模上图案的线宽。
[0059]
用于确定性质偏差的测量指标还可以包括工艺变化带宽(pv band,process variation band)。在三维(3d)模型可用的情况下,测量指标可以包括晶圆图案wp的3d轮廓。
[0060]
应当理解,以上描述的测量指标仅是示例性,而无意限制本公开的保护范围。在根据本公开的实施例中,可以使用任何合适的测量指标。
[0061]
在获得特定处置处的测量指标后,可以基于多个测量指标来确定热点。所基于的多个测量指标例如可以是上文参考式(4)至式(7)所描述的测量指标中的一个或多个。基于测量指标确定热点的一种方式是使用代价函数来加权所有测量指标,例如,如式(8)所示。
[0062][0063]
其中,i是测量指标的索引,并且i=1,2,

,n,v
i
表示第i个测量指标的值,w
i
表示第i个测量指标的权重。
[0064]
基于测量指标确定热点的另一种方式是使用机器学习模型。参考图1b,图1b示出了使用机器学习模型来确定热点的示意图。如图1b所示,机器学习模型170以多个测量指标的测量结果161、162、163作为输入,确定测量位置处的图案是正常区域181、或弱点182或热点183。机器学习模型170可以是神经网络模型或基于支持向量机的分类器。备选地,机器学习模型170可以基于决策树,诸如随机森林,或者可以基于聚类方法的分类器,诸如基于k均值(k

means)或高斯混合的分类器。
[0065]
除了上述运算或操作外,为了热点检测的目的,通常还需要对晶圆图案wp进行图案识别。在一些实施例中,可以在热点测量之前执行图案识别操作,以筛选出可能存在热点的关键图案(critical pattern)。然后对筛选出的关键图案进行热点测量。以此方式,可以缩短热点检测的整体时间。备选地或附加地,在一些实施例中,可以在热点测量之后执行图案识别操作,例如以对热点进行分类。对热点进行分类有助于后续评估更改版图设计的难度。
[0066]
从以上描述中可以看出,热点检测作业至少涉及图案卷积操作、图案测量操作和图案识别操作。图案卷积操作可以包括例如式(2)所示的用于确定晶圆图像的运算。图案测量操作可以包括例如式(4)

(7)所示的用于确定测量指标的运算。如本文所使用的,术语“图案测量操作”可以指代对图案的直接测量,例如对epe、cd或sw的测量,也可以指代基于对图案的测量而确定对应的指标,例如上文所提及的确定meef、dof、ils、工艺变化带宽等。图案识别操作可以包括在热点测量前为了筛选关键图案而进行的图案识别,和/或在热点测量后为了对热点分类而进行的图案识别。
[0067]
本申请的发明人意识到,热点检测过程中所涉及的上述操作均是需要消耗较多计算资源的复杂操作。这些操作特别适合于利用加速处理资源来处理。因此,利用加速处理资源来执行这些操作,可以提高热点检测的效率。
[0068]
此外,本申请人的发明人还意识到,尽管图案卷积操作、图案测量操作等是消耗较多计算资源的操作,但与之相比,图案识别操作是更需要“智能”计算资源的操作。因此,在采用混合式构架的一些实施例中,可以利用加速处理资源来执行图案识别操作,同时利用常规处理资源来执行非图案识别操作。以此方式,可以实现效率和成本的平衡。
[0069]
示例架构
[0070]
图2示出了本公开的多个实施例能够在其中实现的示例架构200的示意图。如图2所示,架构200总体上包括管理设备210和多个处理设备220

1至220

6。例如,管理设备210可以是服务器,多个处理设备220

1至220

6可以是多个客户端。
[0071]
架构200中的管理设备210可以是任何具有计算能力的设备。作为非限制性示例,管理设备210可以是任意类型的固定计算设备、移动计算设备或便携式计算设备,包括但不限于台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、多媒体计算机、移动电话等。在一些实施例中,管理设备210的全部组件或一部分组件可以分布在云端。
[0072]
多个处理设备220

1至220

6在下文中也可以统称为多个处理设备220,或单独地称为处理设备220。处理设备220和管理设备210可以彼此通信,并传输数据。管理设备210与处理设备220之间的数据传输可以基于任何合适形式的通信连接,包括但不限于广域网(例如,互联网)、局域网、专用网络、公共网络、分组网络、有线网络或无线网络,例如,通过蓝牙、近场通信(nfc)、无线保真(wi

fi)、全球微波接入互操作性(wimax)、红外、2g/3g/4g/5g、以及其他将来开发的技术而建立的连接等。
[0073]
多个处理设备220中的至少一个处理设备可以被配置有加速处理资源。作为示例,图2中示出的处理设备220

1、220

2和220

3被配置有加速处理资源。被配置有加速处理资源的处理设备也称为“加速处理设备”。除了加速处理资源,诸如处理设备220

1、220

2和220

3之类的加速处理设备还可以被配置有常规处理资源。因此,加速处理设备可以包括但不限于:apr,cpu和apr的组合,cpu、apr和gpu的组合,cpu、apr和fpga的组合,cpu、apr、gpu和fpga的组合等。
[0074]
在一些实施例中,可以用持久方式或不可移除方式将加速处理资源配置给处理设备。以这种方式配置的加速处理资源可以被称为不可移除的加速处理资源。例如,处理设备220

1、220

2和220

3中的一个或多个可以在出厂时即被配置有加速处理资源,例如内置有tpu、npu或apu。
[0075]
在一些实施例中,可以用可弹性增加或移除的方式将加速处理资源配置给处理设备。以这种方式配置的加速处理资源可以被称为可移除的加速处理资源。例如,可以将加速处理资源以外置插件的形式配置给处理设备。以此方式,可以在需要时使原本仅具有常规处理资源的处理设备具备加速处理能力。在这种实施例中,架构100可以具有更高的灵活性,根据热点检测的处理量来配置处理设备220。
[0076]
图2中所示的示例架构200是一种混合式架构。除了被配置有加速处理资源的处理设备220

1、220

2和220

3之外,这种混合式架构还可以包括未被配置有加速处理资源的处理设备220

4、220

5和220

6。未被配置有加速处理资源的处理设备也称为“常规处理设备”。常规处理设备可以被配置有任何合适的常规处理资源。因此,常规处理设备可以包括但不限于,cpu和gpu的组合,cpu和fpga的组合,cpu、gpu和fpga等。可以理解的是,在一些实施例中,常规处理设备可以通过可移除方式而被配置有加速处理资源,从而成为加速处理
设备。
[0077]
在这种混合式架构中,可以将加速处理设备和常规处理设备分别用于热点检测所涉及的不同复杂度的操作。以此方式,可以实现效率和成本的平衡。下文将参考图6和图7描述这种实施例。
[0078]
在图2中所示出的示例架构200中,管理设备和处理设备的数目仅是示例性而无意限制本公开的范围。例如,在根据本公开的实施例中,可以存在更多或更少的处理设备。此外,被配置有加速处理资源和未被配置有加速处理资源的处理设备的数目仅是示例性的。例如,在一些实施例中,多个处理设备220可以均被配置有加速处理资源。在一些实施例中,多个处理设备220中的一些处理设备可以被配置有可移除的加速处理资源,而另一些处理设备可以被配置有不可移除的加速处理资源。
[0079]
以上描述了根据本公开的实施例能够在其中实现的示例架构200。图3示出了根据本公开的一些实施例的图2中的示例架构200的一部分300的示意图。图3以处理设备220

1为例示出了管理设备210与处理设备之间的数据传输。
[0080]
管理设备210被配置为控制热点检测的作业分配和执行。如图3所示,管理设备210可以包括执行单元311(诸如,cpu)、热点检测即时编译器312和存储装置313。管理设备210可以接收或在本地存储热点检测相关数据以及掩模数据。热点检测相关数据可以包括用于进行热点检测的文件、作业程序(recipe)和模型等。例如,热点检测相关数据可以包括热点检测器的文件数据、所使用的机器学习模型、模型中所使用的卷积核等。掩模数据可以包括目标掩模版图、经过opc的掩模版图等。
[0081]
管理设备210可以将掩模版图(例如,经过opc的掩模版图)划分为多个版图单元,每个版图单元可以是指由一个或多个几何图形构成的图案。管理设备210生成用于从掩模版图中检测热点的多个子作业。每个子作业对应于一个版图单元,并且指定要利用该版图单元而执行的一个或多个操作。例如,如图2所示,可以在管理设备210处实现热点检测即时编译器312,热点检测即时编译器312可以生成供处理设备220执行相应子作业的执行代码。
[0082]
子作业所指定的一个或多个操作可以包括但不限于,用于变换版图单元的图案卷积操作(例如,式(2)所示)、与所述版图单元中的潜在缺陷有关的图案测量操作(例如,式(4)

(7)所示)、对所述版图单元的图案识别操作。在本文中,除图案识别操作之外的其他操作也可以被称为非图案识别操作。下文将参考图4和图5描述生成子作业的示例实施例。
[0083]
为了将多个子作业分配给多个处理设备220,管理设备210可以确定多个处理设备220中的每个处理设备的配置,以确定相应处理设备是否被配置有加速处理资源。例如,管理设备210可以向多个处理设备220分别询问其配置。又如,处理设备220可以在其配置改变时向管理设备210发送消息以通知配置改变。例如,处理设备220可以在被配置了可移除的加速处理资源时,通知管理设备210。
[0084]
接下来,管理设备210可以基于多个处理设备220的配置和操作的类型,将多个子作业分配给多个处理设备220。下文将参考图6和图7描述分配子作业的示例实施例。
[0085]
如图3所示,如果确定将某个子作业分配给处理设备220

1,管理设备210可以将与该子作业有关的数据发送给处理设备220

1。与子作业有关的数据可以包括:与该子作业相对应的图案单元的数据,所要使用的内核、函数及其参数等。
[0086]
处理设备220

1的存储器322可以将与子作业有关的数据发送给执行单元321。如
图2所示,处理设备220

1被配置有加速处理资源,因此执行单元321可以利用向量模式331、矩阵模式332、张量模式333中的一种或多种模式来处理数据。
[0087]
以图案卷积操作为例,可以使用托普利兹矩阵将卷积操作转换为向量矩阵乘法。可以将针对同一版图单元的多个卷积操作转换为矩阵

矩阵乘法。与诸如gpu或fpga的常规处理资源相比,诸如ai芯片的加速处理资源在采用托普利兹矩阵方面具有优势。ai芯片可以使用矩阵多单元(multiple units)来加速矩阵运算。例如,tpu具有矩阵多单元,每个周期可以执行64k乘积累加运算(mac)(256 x 256 x 8b),需要说明的是,乘积累加运算(multiply accumulate,简称mac)是在数字信号处理器或一些微处理器中的特殊运算,做此运算操作的硬件电路单元被称为乘数累加器。
[0088]
处理设备220

1在处理子作业之后,将对子作业处理的检测结果发送给管理设备210。检测结果可以包括在相应的版图单元中所检测到的热点的信息,例如,热点的位置。检测结果还可以包括所检测到的热点的类别,例如倒角、缺失、回缩等。尽管只示出了处理设备220

1,但应当理解的是,多个子作业可以在多个处理设备220处并行被处理。
[0089]
管理设备210从多个处理设备220分别接收对多个子作业处理的结果,即,接收对多个版图单元进行热点检测的检测结果。管理设备210基于这些检测结果来生成整个掩模版图的检测结果。如图3所示,管理设备210可以将整个掩模版图的检测结果,其可以包括所检测到的热点的数据,诸如每个热点的位置、类别等。
[0090]
生成子作业的示例
[0091]
为了生成或排布多个子作业,管理设备210需要对掩模版图或版图单元进行图案分析。例如,可以在管理设备210处实现图案分析器。
[0092]
在图案分析中,可能需要获得版图单元的几何图形信息。这种几何图形信息可以指示版图单元所包括的各个几何图形对几何图形组合的从属关系。一种获得几何图形信息的快速且高效方式是对版图单元中的各个几何图形进行索引。以此方式,可以快速地进行图案分析。
[0093]
作为示例,可以使用r树或二进制树来构建版图单元(也可以是整个掩模版图)的索引结构来作为几何图形信息。r树或二进制树可以形成单个树或者可以形成森林,同时保持版图的层级。在此描述的r树是指为电路版图建立的树形数据结构,用来索引版图中的几何图形。r树可以包括根节点、中间节点和叶节点,根节点与多个中间节点之间建立索引,每个中间节点与多个叶节点之间建立索引。
[0094]
图4示出了根据本公开的一些实施例的示例版图单元400。图4所示的示例版图单元400可以被视为掩模版图中的版图单元的一个示例。图4中示出了索引为r8

r19的几何图形、以及索引为r1

r7的包括多个几何图形的图案,其可以视为几何图形组合。应当理解,图4中所示的几何图形的数目和相对位置仅是示例性而无意限制本公开的范围。图5示出了根据本公开的一些实施例的针对图4的示例版图单元的索引结构500。
[0095]
几何图形r8

r19对应于单个几何图形,并且可以构成索引结构500中的叶节点。通过分析作为叶节点的几何图形r8

r19,可以确定包括多个几何图形的图案,即,形成索引结构500中的其他节点。作为示例,通过计算几何图形r8

r19之间的距离,可以确定几何图形r8

r10彼此靠近(例如,间距小于阈值)但不互相重叠。由此,几何图形r8

r10可以被分组到图案r3。作为另一示例,几何图形r11与几何图形r12重叠,因此它们可以被分组到图案r4。
[0096]
类似地,几何图形r13

r14可以被分组到图案r5;几何图形r15

r16可以被分组到图案r6;几何图形r17

r19可以被分组到图案r7。与几何图形r8

r19不同,图案r3

r7包括多个几何图形。如图5所示,图案r3

r7可以构成索引结构500中的中间节点。
[0097]
通过对图案r3

r7的分析,图案r6和r7被分组到图案r1;图案r3、r4和r5被分组到r2。如图5所示,图案r1和r2可以形成索引结构500的根节点。
[0098]
从以上描述中可以看出,通过构建索引结构500,可以确定版图单元400中包括多个几何图形的图案,例如图案r3

r7或图案r1

r2。可以对一组几何图形执行图案测量操作。由此,管理设备210可以从作为几何图形组合的图案r3

r7或图案r1

r2中确定将要被执行图案测量操作的多个图案,例如,图案r3

r7。管理设备210可以设置与版图单元400相对应的子作业以指定对多个图案r3

r7分别执行图案测量操作。如本文中所使用的,术语“设置子作业以指定操作”及其变型可以是指在生成子作业中,生成用于该子作业的可执行指令,以使得该子作业在由处理设备处理时相应的操作被执行。
[0099]
管理设备220可以将索引结构500的数据作为图3中所示的与子作业相关的数据的一部分发送给对应的处理设备220。因此,针对掩模版图的索引结构的使用可以在多个处理设备220间并行。以此方式,子作业中涉及的测量操作可以被加速,从而有利于提高整个热点检测作业的处理效率。
[0100]
在一些实施例中,如果要处理的掩模版图过大,管理设备210可以将索引结构(例如,r树)的构建任务划分为多个子任务,每个子任务用于构建一个区域(例如,版图单元)的索引结构。这些子任务可以被分配给多个处理设备220,从而在多个处理设备220间并行地构建针对整个掩模版图的索引结构。
[0101]
在一些实施例中,还管理设备210(例如,图案分析器)可以对版图单元中的多个图案进行分类,以确定属于相同类型的一组图案。例如,相同的图案可以被分为相同类型。又如,按一定比例缩放的图案可以被分为相同类型。如果确定多个图案中包括属于相同类型的一组图案,管理设备210可以从该组图案中选择参考图案。管理设备210进而可以设置每个子作业以指定:对参考图案执行图案测量操作,以获得对参考图案的测量结果,并且将对参考图案的测量结果应用于该组图案中除参考图案之外的其他图案。
[0102]
以此方式,对于每个类型的图案,可以从其中确定参考图案作为种子。在执行子作业时,处理设备220可以对每个类型的参考图案执行图案测量操作,并且对参考图案的测量结果可以应用到该类型的其他图案。例如,参考图案的测量结果可以直接应用到与参考图案相同的另一图案,作为该图案的测量结果。又如,如果另一图案相对于参考图案是按一定比例缩放的,则可以将参考图案的测量结果可以按相同比例缩放后作为该图案的测量结果。如此,可以减少重复的图案测量操作,例如可以避免重复地对相同的图案应用式(4)

(7)的运算。附加地,在一些实施例中,对不同类型的图案执行图案测量操作的过程可以是并行的。
[0103]
分配子作业的示例
[0104]
在生成多个子作业后,管理设备210基于多个处理设备220的配置和由子作业所指定的操作的类型,将子作业分配给处理设备220。在一些实施例中,多个处理设备220可以均被配置有加速处理资源。在这种实施例中,管理设备210可以将每个子作业分配给相应的一个处理设备。
[0105]
在一些实施例中,多个处理设备220中的一些处理设备可以被配置有加速处理资源,而另一些处理设备可以未被配置有加速处理资源。在这种实施例中,管理设备210可以对多个处理设备220进行配对或分组。
[0106]
在一些实施例中,管理设备210可以将加速处理设备与常规处理设备配对。每对处理设备可以用于处理相应的一个或多个子作业。每对处理设备中的加速处理设备和常规处理设备可以协作地执行所分配的子作业中的一个或多个操作。
[0107]
图6示出了根据本公开的一些实施例的分配子作业的过程600的框图。如图6所示,管理设备210可以将图2中所示的多个处理设备220组织成多对处理设备,其中第一对611处理设备可以包括被配置有加速处理资源的处理设备220

1和未配置有加速处理资源的处理设备220

4;第二对612处理设备可以包括被配置有加速处理资源的处理设备220

2和未配置有加速处理资源的处理设备220

5;第三对613处理设备可以包括被配置有加速处理资源的处理设备220

3和未配置有加速处理资源的处理设备220

6。
[0108]
如果每个子作业包括不同类型的操作,则管理设备210可以将每个子作业分配给一对处理设备,使得某个或某些类型的操作由其中的加速处理设备执行,而其余操作由其中的常规处理设备执行。具体而言,如果每个子作业包括图案识别操作和非图案识别操作(例如,卷积操作、测量操作),则管理设备210可以将每个子作业分配给一对处理设备,使得图案识别操作由其中的加速处理设备执行,而非图案识别操作。例如,管理设备210可以在用于作业分配的文件或指令中指定由加速处理设备执行图案识别操作,并且由常规处理设备执行非图案识别操作。
[0109]
如图6所示,子作业601可以被分配给第一对611处理设备,子作业602可以被分配给第二对612处理设备,子作业603可以被分配给第三对613处理设备。作为示例,如果子作业601图案卷积操作、图案测量操作、图案识别操作,那么图案识别操作可以由处理设备220

1执行,而图案卷积操作、图案测量操作可以由处理设备220

4执行。例如,管理设备210可以在用于作业分配的文件或指令中指定由处理设备220

1执行图案识别操作,并且由处理设备220

4执行图案卷积操作、图案测量操作。
[0110]
每对处理设备对相应子作业处理的结果,即对相应版图单元进行热点检测的检测结果,可以被发送回管理设备210。管理设备210可以基于来自每对处理设备的检测结果,确定整个掩模版图的检测结果。
[0111]
尽管加速处理资源能够带来处理速度的极大优化,并且热点检测作业中涉及多种消耗计算资源的操作,但与常规处理资源相比,加速处理资源(例如,ai芯片)较为昂贵。在这种实施例中,通过将加速处理设备和常规处理设备配对,可以充分利用混合式架构的灵活性。
[0112]
此外,尽管图案卷积操作、图案测量操作等是消耗较多计算资源的操作,但与之相比,图案识别操作是更需要“智能”计算资源的操作。因此,在采用如图6所示的混合式构架的实施例中,可以利用加速处理资源来执行图案识别操作,同时利用常规处理资源来执行非图案识别操作。以此方式,可以根据操作的实际类型来灵活分配处理资源,使得最需要加速处理资源的操作能够被优先满足。
[0113]
在另一些实施例中,管理设备210可以将加速处理设备和常规处理设备分组。相应地,用于从掩模版图检测热点的多个子作业也可以被分组。每组子作业可以包括相同类型
的操作,并且被分配给相应的一组处理设备。
[0114]
图7示出了根据本公开的一些实施例的分配子作业的过程700的框图。如图7所示,管理设备210可以将图2中所示的多个处理设备220组织成多组处理设备,其中第一组730处理设备可以包括未被配置有加速处理资源的处理设备220

4、220

5和220

6,第二组740处理设备可以包括被配置有加速处理资源的处理设备220

1、220

2和220

3。
[0115]
由管理设备210生成的第一组710子作业可以包括子作业711、712和713。第一组710子作业中的每个子作业可以仅包括非图案识别操作,例如仅包括图案卷积操作、图案测量操作。例如,第一组710子作业中的每个子作业可以用于实现式(2)和/或式(4)

(7)的运算。管理设备210可以将第一组710子作业分配给第一组730处理设备,即未被配置有加速处理资源的处理设备。例如,如图7所示,子作业711、712和713分别被分配给处理设备220

4、220

5和220

6。
[0116]
管理设备210可以从第一组730处理设备接收第一组710子作业的检测结果。管理设备210还可以基于这些检测结果重新构建或组织用于后续热点检测的数据。
[0117]
管理设备210可以生成包括子作业721、722和723的第二组720子作业。第二组720子作业中的每个子作业可以仅包括图案识别操作。例如,在第一组710子作业用于实现式(2)所示的卷积运算而不用于热点测量的情况下,第二组720子作业中的每个子作业可以包括用于筛选关键图案的图案识别操作。又如,在第一组710子作业既用于实现式(2)所示的卷积运算又用于热点测量的情况下,第二组720子作业中的每个子作业可以包括用于对检测到的热点进行分类的图案识别操作。在管理设备210可以将第二组720子作业分配给第二组740处理设备,即被配置有加速处理资源的处理设备。例如,如图7所示,子作业721、722和723可以被分别分配给处理设备220

1、220

2和220

3。
[0118]
管理设备210进而可以从第二组740处理设备接收第二组720子作业的检测结果。管理设备210可以基于这些检测结果以及先前接收的第一组710子作业的检测结果,确定整个掩模版图的热点结果。
[0119]
图7中所示的处理设备和子作业的数目仅是示意性的,而无意限制本公开的保护范围。在一些实施例中,第一组710子作业的数目可以与第二组720子作业的数目相同。在一些实施例中,第一组710子作业的数目可以与第二组720子作业的数目不同。
[0120]
附加地,第一组710子作业中的每个子作业所对应的版图单元的面积可以与第二组720子作业中的每个子作业所对应的版图单元的面积不同。例如,管理设备210可以基于相应的处理设备的计算能力来优化每组子作业所对应的版图单元的面积。
[0121]
以上所描述的示例过程700构成了子作业循环。在图7所示的子作业循环中,管理设备210先分配不包括图案识别操作的子作业,再分配仅包括图案识别操作的子作业,但是应当理解这仅是示例性的。
[0122]
可以理解的是,在这样的实施例中,不包括图案识别操作的子作业(例如,第一组710子作业)和仅包括图案识别操作的子作业(例如,第二组720子作业)形成了一批次的子作业。管理设备210可以通过分配不同批次的子作业,使得不同组的处理设备总是在运行。
[0123]
在一些实施例中,处理设备220还可以被分成三个或更多个组。在这种实施例中,可以基于所配置的加速处理资源的具体类型来对处理设备220分组。例如,未被配置有任何加速处理资源的处理设备被分为第一组,被配置有apu的处理设备被分为第二组,并且被配
置有ai芯片的处理设备被分为第三组。在这种情况下,仅包括图案卷积操作的子作业可以被分配给第二组处理设备,仅包括图案测量操作的子作业可以被分配给第一组处理设备,并且仅包括图案识别操作的子作业可以被分配给第三组处理设备。
[0124]
通过将处理设备按照加速处理设备和常规处理设备分组,并且将子作业按照操作类型分组,可以充分利用混合式架构的灵活性。以此方式,处理设备可以持续不断地处理用于热点检测的子作业。因此,在这种实施例中,可以进一步提高电路版图热点的检测效率。
[0125]
示例方法和示例实施例
[0126]
图8示出了根据本公开的一些实施例的用于电路版图的热点检测的示例方法800的流程图。方法800可以由图2中所示的管理设备210来实现。为便于讨论,将结合图2来描述方法800。
[0127]
在框810,管理设备210生成多个子作业,多个子作业用于从电路版图(例如,掩模版图)中检测具有潜在缺陷的热点。每个子作业指定要利用电路版图的一个版图单元而执行的一个或多个操作。因此,每个子作业可以对应于电路版图的一个版图单元。例如,一个或多个操作可以包括上文所描述的用于变换该版图单元的图案卷积操作,与该版图单元中的潜在缺陷有关的图案测量操作,或对该版图单元的图案识别操作。
[0128]
在一些实施例中,管理设备210可以针对每个子作业,获得版图单元的几何图形信息。这种几何图形信息可以指示版图单元所包括的各个几何图形对几何图形组合的从属关系。例如,可以通过对版图单元所包括的各个几何图形进行索引来获得索引结构500作为几何图形信息。管理设备210可以基于几何图形信息,从几何图形组合中确定版图单元的多个图案,例如图5中所示的图案r3至r7。每个图案包括根据几何图形信息属于该图案的至少一个几何图形。管理设备210可以设置每个子作业以对多个图案分别案执行图案测量操作,图案测量操作与版图单元中的潜在缺陷有关并且属于上述一个或多个操作。在一些实施例中,如果多个图案中包括属于相同类型的一组图案,管理设备210可以从一组图案中选择参考图案。参考图案可以是该组图案中的任一图案。管理设备210可以设置每个子作业配置以:对参考图案执行图案测量操作,以获得对参考图案的测量结果;以及通过将该测量结果应用于一组图案中除参考图案之外的其余图案,对其余图案执行图案测量操作。
[0129]
在框820,管理设备210基于多个处理设备220的配置信息和一个或多个操作的类型,将多个子作业分配给多个处理设备220。多个处理设备220中的至少一个处理设备被配置有加速处理资源。例如,图2中所示的处理设备220

1、220

2和220

3被配置有加速处理资源。加速处理资源可以包括但不限于apu、ai芯片等。ai芯片可以包括例如tpu、npu、以及其他现有的或将来开发的ai芯片。
[0130]
在一些实施例中,加速处理资源被可移除地配置给至少一个处理设备。例如,tpu、npu或apu以外置插件的形式被配置给处理设备220

1、220

2和220

3中的一个或多个。
[0131]
在一些实施例中,加速处理资源被不可移除地配置给至少一个处理设备。例如,处理设备220

1、220

2和220

3中的一个或多个内置有加速处理资源,诸如tpu、npu或apu。
[0132]
在一些实施例中,管理设备210可以基于多个处理设备220的配置信息,从多个处理设备220中确定第一组处理设备和第二组处理设备。第一组处理设备可以为未被配置有加速处理资源的一组处理设备,并且第二组处理设备可以为被配置有加速处理资源的一组处理设备。如果多个子作业中的第一组子作业仅包括非图案识别操作,则管理设备210可以
将第一组子作业分配给第一组处理设备。如果多个子作业中的第二组子作业包括图案识别操作,则管理设备210可以将第二组子作业分配给第二组处理设备。
[0133]
作为示例,管理设备210可以确定第一组730处理设备和第二组740处理设备。多个子作业可以包括第一组710子作业和第二组720子作业。第一组710子作业可以仅包括非图案识别操作而不包括图案识别操作,并且第二组720子作业可以包括图案识别操作。管理设备210可以将第一组710子作业分配给第一组730处理设备,并且将第二组720子作业分配给第二组740处理设备。在一些实施例中,第二组子作业是在第一组子作业被执行后生成的。例如,包括用于对检测到的热点进行分类的图案识别操作的第二组720子作业是在包括图案卷积操作和图案测量操作的第一组710子作业被执行后生成的。
[0134]
在一些实施例中,管理设备210可以基于多个处理设备220的配置信息,从多个处理设备220中确定多对处理设备。每对处理设备包括未被配置有加速处理资源的第一处理设备和被配置有加速处理资源的第二处理设备。例如,管理设备210可以确定图6中所示的多对处理设备。
[0135]
如果一个或多个操作包括图案识别操作和非图案识别操作,则管理设备210可以将每个子作业分配给多对处理设备中的相应的一对处理设备,使得非图案识别操作由第一处理设备执行,并且图案识别操作由第二处理设备执行。例如,图6中所示的子作业601、602和603中的每一个均包括图案识别操作和非图案识别操作。子作业601、602和603可以被分别分配给多对处理设备。
[0136]
在框830,管理设备210基于多个处理设备220对多个子作业的检测结果,确定电路版图所包括的一个或多个热点。例如,管理设备210可以生成如图3所示的检测结果。
[0137]
在本公开的另一方面,还提供了一种用于执行热点检测的方法。该方法可以由处理设备220实现,并且可以包括以上相对于处理设备220所描述的动作。
[0138]
示例设备
[0139]
图9示出了可以用来实施本公开的实施例的示例设备900的示意性框图。设备900可以用于实现图1的管理设备210或处理设备220。如图所示,设备900包括中央处理单元(cpu)901,其可以根据存储在只读存储器(rom)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序指令,来执行各种适当的动作和处理。在ram 903中,还可存储设备900操作所需的各种程序和数据。cpu 901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
[0140]
设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0141]
处理单元901执行上文所描述的各个方法和处理,例如方法800。例如,在一些实施例中,方法800可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由cpu 901执行时,可以执行上文描述的方法800的一个或多个步骤。备选地,在其他实施例中,cpu 901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法800。
[0142]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。
[0143]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0144]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0145]
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0146]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1