CN117313648A - 获取opc中雅可比矩阵的方法、实现opc的方法及装置 - Google Patents
获取opc中雅可比矩阵的方法、实现opc的方法及装置 Download PDFInfo
- Publication number
- CN117313648A CN117313648A CN202311393282.1A CN202311393282A CN117313648A CN 117313648 A CN117313648 A CN 117313648A CN 202311393282 A CN202311393282 A CN 202311393282A CN 117313648 A CN117313648 A CN 117313648A
- Authority
- CN
- China
- Prior art keywords
- mask
- line segments
- design
- opc
- same class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 239000011159 matrix material Substances 0.000 title claims abstract description 48
- 238000013461 design Methods 0.000 claims abstract description 146
- 238000004088 simulation Methods 0.000 claims abstract description 73
- 238000004364 calculation method Methods 0.000 claims abstract description 25
- 238000005457 optimization Methods 0.000 claims description 72
- 238000005259 measurement Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 claims description 14
- 238000005520 cutting process Methods 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 6
- 238000012937 correction Methods 0.000 claims description 5
- 230000003287 optical effect Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 9
- 230000006872 improvement Effects 0.000 abstract description 6
- 230000008859 change Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000001459 lithography Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000000206 photolithography Methods 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Preparing Plates And Mask In Photomechanical Process (AREA)
Abstract
本申请公开了一种获取OPC中雅可比矩阵的方法、实现OPC的方法及装置,在有限差分法中,巧妙地通过对组成design mask的互不相干的线段(即变量)进行聚类,这样,只需对同一类中的变量进行一次有限差分即可同时得到这一类中各个线段相关的导数,这样大大减少了有限差分的次数,也不需要针对每个线段都分别做一次仿真,大大减少了仿真次数,达到了显著减少运算用时的目的,带来了效率上的巨大提升。通过本申请实施例,在保证达到OPC效果的条件下,尽可能地减少了单次梯度计算中的仿真次数,从而减少了运算用时。
Description
技术领域
本申请涉及但不限于半导体集成电路设计自动化技术,尤指一种获取OPC中雅可比矩阵的方法、实现OPC的方法及装置。
背景技术
在电子设计自动化(EDA)行业中,分辨率增强技术通常是指用于提高半导体芯片设计工具中图像处理和分析步骤的技术。这些技术的目的是改善芯片设计的精度、可靠性和性能。光刻是半导体芯片制造过程中的一个关键步骤,用于将设计的芯片图形投影到硅片上。然而,由于光刻机制和光刻材料的物理特性,图形在硅片上的呈现可能会受到多种因素的影响,如光照衍射、折射等。为了解决这些问题并确保芯片制造的精确性和可行性,需要对原始设计进行修正,这就是光学邻近修正(OPC,Optical Proximity Correction)技术发挥作用的地方。OPC使用计算机算法来调整设计图形的几何形状,以纠正光刻过程中的畸变,以便最终在硅片上获得所需的图形。这些修正通常包括调整线条的宽度、间距和形状,以适应光刻过程的特定要求。
在半导体制造领域,有三种常见的光学邻近修正技术,分别是基于规则的OPC(Rule-based OPC)、基于模型的OPC(Model-based OPC)以及逆向光刻技术(ILT,InverseLithography Technology)。其中,基于模型的OPC使用数学模型和计算机算法,以了解光刻制程中的畸变如何发生,并根据这些模型进行掩膜上的微调。为了达到OPC效果,保证芯片设计的精度、可靠性和性能,会消耗大量的运算用时。
发明内容
本申请提供一种获取OPC中雅可比矩阵的方法、实现OPC的方法及装置,能够达到OPC效果,保证芯片设计的精度、可靠性和性能,同时节省运算用时。
本发明实施例提供了一种获取光学邻近修正OPC中雅可比矩阵的方法,包括:
对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点;其中,设计掩模是芯片设计对应的掩模图形;
针对同一类的线段,分别将同属一类的线段进行偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异;
根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵。
在一种示例性实例中,所述方法之前还包括:
将组成所述设计掩模的线段切割划分成预设长度的线段,并对所述设计掩模进行仿真。
在一种示例性实例中,所述测量点的位置和参数预先设置。
在一种示例性实例中,所述两个线段所包含的测量点互不相同,所述两个线段是对仿真结果互不相干的线段。
在一种示例性实例中,所述针对同一类的线段,所有线段都按照预设偏移量进行偏移。
在一种示例性实例中,所述同一类的线段中的不同线段的偏移量相同。
本申请实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的获取OPC中雅可比矩阵的方法。
本申请实施例再提供一种获取OPC中雅可比矩阵的设备,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述任一项所述的获取OPC中雅可比矩阵的方法的步骤。
本申请实施例又提供一种获取OPC中雅可比矩阵的装置,包括:分组模块、处理模块、获取模块、
分组模块,用于对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点;其中,设计掩模是芯片设计对应的掩模图形;
处理模块,用于针对同一类的线段,分别将同属一类的线段进行偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异;
获取模块,用于根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵。
在一种示例性实例中,还包括:预处理模块,用于将组成所述设计掩模的线段切割划分成预设长度的线段,并对所述设计掩模进行仿真。
本申请实施例还提供一种实现OPC的方法,包括:
将组成设计掩模的线段切割以划分成预设长度的线段,并对设计掩模进行仿真;其中,设计掩模是芯片设计对应的掩模图形;
对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点;
针对同一类的线段,分别将同属一类的线段进行偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异;
根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵;
根据雅可比矩阵进行最优化求解以获得所有线段偏移的量,对最优化求解后的掩模进行仿真,并根据仿真结果计算最优化求解后的掩模与设计掩模上每个测量点的差异;
根据最优化求解后的掩模与设计掩模的差异确定出未满足优化结束条件,返回所述针对同一类的线段,分别将同属一类的线段进行偏移的步骤,直至满足优化结束条件,将最优化求解后的掩模作为设计图的掩模版。
在一种示例性实例中,当所述最优化求解后的掩模与设计掩模上所有测量点处的差异的平方和大于预设阈值时,确定出所述未满足优化结束条件;当所述最优化求解后的掩模与设计掩模上所有测量点处的差异的平方和小于或等于预设阈值时,确定出所述满足优化结束条件。
本申请实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的实现OPC的方法。
本申请实施例再提供一种实现OPC的设备,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述任一项所述的实现OPC的方法的步骤。
本申请实施例又提供一种实现OPC的装置,包括:预处理模块、分组模块、处理模块、获取模块、
预处理模块,用于将组成设计掩模的线段切割以划分成预设长度的线段,并对设计掩模进行仿真;其中,设计掩模是芯片设计对应的掩模图形;
分组模块,用于对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点;
处理模块,用于针对同一类的线段,分别将同属一类的线段进行偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异;
获取模块,用于根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵;根据雅可比矩阵进行最优化求解以获得所有线段偏移的量,对最优化求解后的掩模进行仿真,并根据仿真结果计算最优化求解后的掩模与设计掩模上每个测量点的差异;
判断模块,用于根据最优化求解后的掩模与设计掩模的差异确定出未满足优化结束条件,返回处理模块继续进行优化处理,直至满足优化结束条件,将最优化求解后的掩模作为设计图的掩模版。
通过本申请实施例提供的获取OPC中雅可比矩阵的方法,在有限差分法中,巧妙地通过对组成design mask的互不相干的线段(即变量)进行聚类,这样,只需对同一类中的变量进行一次有限差分即可同时得到这一类中各个线段相关的导数,这样大大减少了有限差分的次数,也不需要针对每个线段都分别做一次仿真,大大减少了仿真次数,达到了显著减少运算用时的目的,带来了效率上的巨大提升。通过本申请实施例,在保证达到OPC效果的条件下,尽可能地减少了单次梯度计算中的仿真次数,从而减少了运算用时。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例中获取OPC中雅可比矩阵的方法的流程示意图;
图2为本申请实施例中一design mask和划分得到的线段的实施例示意图;
图3为本申请实施例中一design mask上互不相干的线段示例示意图;
图4为本申请实施例中对图3中所示的线段进行偏移后得到的mask的示意图;
图5为本申请实施例中一design mask上设置测量点的示例图;
图6为本申请实施例中获取OPC中雅可比矩阵的装置的组成结构示意图;
图7为本申请实施例中实现OPC的方法的流程示意图;
图8为本申请实施例中实现OPC的装置的组成结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使本申请的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
可以理解,本申请所使用的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个、三个等,除非另有明确具体的限定。
可以理解,以下实施例中的“连接”,如果被连接的电路、模块、单元等相互之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。同时,在本说明书中使用的术语“和/或”包括相关所列项目的任何及所有组合。
基于模型的OPC的实现大致包括:首先,针对光刻过程建立模型。对于任意给定掩模(mask)形状,可以通过仿真得到的结果作为建立的模型;然后,将mask形状的变化作为变量,一组变量将确定一个mask形状,而将对给定mask仿真得到的结果和设计掩模(designmask)形状之间的差异作为损失函数,这样就可以转化为一个最优化问题;接着,是OPC中的重要步骤即根据最优化算法,比如BFGS方法,求解这个最优化问题,其中,BFGS(Broyden-Fletcher-Goldfarb-Shanno)方法是一种数值优化算法,用于求解无约束非线性优化问题。BFGS方法属于拟牛顿法(Quasi-Newton)的一种,用于寻找一个多元函数的局部极小值点。上述最优化算法需要损失函数关于变量的梯度信息,但是模型的复杂性,无法直接计算梯度,因此,通常使用有限差分法来近似梯度,也就是将单个变量进行偏移,以此次偏移造成的损失函数的变化量除以该变量的变化量来近似作为损失函数关于该变量的导数,关于每个线段变化的导数会组成一个矩阵,被称为雅可比(Jacobian)矩阵。这样,对所有变量进行上述有限差分法操作即可得到损失函数关于变量的近似梯度。
为了获得更好的OPC结果,需要将组成design mask的线段切割成长度很小的线段,这些切割后的小线段的偏移就是上述最优化算法中的变量。在实际应用过程中,这些变量的数量是非常大的,可能数以亿计。也就是说,要使用上述有限差分法,需要针对每个变量都分别做一次仿真,以计算这个变量对应的导数。而仿真本身的用时是很长的。并且,这还只是一次的梯度计算,在最优化的求解过程中,需要进行很多次的梯度计算。因此,造成了非常长的运算用时。也就是说,相关技术中为了达到OPC效果,保证芯片设计的精度、可靠性和性能,会得到数量庞大的变量,造成有限差分次数的激增,从而消耗了大量的运算用时。
为了达到OPC效果,在保证准确性的条件下,尽可能地减少单次梯度计算中的仿真次数以减少运算用时,本申请实施例提供一种获取OPC中雅可比矩阵的方法,如图1所示,可以包括:
步骤100:对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点;其中,设计掩模是芯片设计对应的掩模图形。
在一种示例性实例中,步骤100之前还可以包括:
将组成设计掩模(design mask)的线段切割以划分成预设长度的线段,并对当前的design mask进行仿真。在一种实施例中,通过预设长度可以将组成design mask的线段切割成长度很小的线段。
在一种示例性实例中,测量点的位置和参数可以预先设置。通常,测量点位于芯片上的关键区域,用于评估图案的准确性和性能。在仿真中,测量每个测量点的关键性能参数,如尺寸、形状、位置等。这些参数通常是与芯片功能和性能相关的。比较仿真结果与设计规格,以确定每个测量点的差异。
根据建模的过程,本申请发明人通过分析发现,每个变量即每个划分的小线段对仿真的结果的影响是局部的,也就是说,会存在很多变量是互不相干的,因此,提出本申请中的对design mask划分得到的线段,将对仿真结果互不相干的线段进行聚类分组以划分为同一类。
在一种示例性实例中,可以通过一些预处理的操作,来获知每个线段的影响范围,反映在design mask上就是一个有限的区域,这个区域内会包含一定数量的测量点。在一种实施例中,仿真结果互不相干的线段包括:如果两个线段所包含的测量点互不相同,那么这两个线段的影响区域互不重叠,这两个线段被认为是对仿真结果互不相干的线段。
在一种示例性实例中,预处理的操作可以包括如:针对一个简单的mask形状,做一次仿真;将该mask形状的一条边做一些偏移后再做一次仿真;两次仿真结果发生变化的区域就可以认为是该条边的线段的影响范围。需要说明的是,影响范围的值并不需要非常精确,稍微大一点也没有关系,只需要保证在这个影响范围的之外,每个划分的小线段对仿真的结果确实是不受影响的即可。
步骤101:针对同一类的线段,分别将同属一类的线段进行偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异。
在一种示例性实例中,针对同一类的线段,所有线段都按照预设偏移量进行偏移。在一种实施例中,对于不同线段,偏移量可以相同,也可以不相同。在一种实施例中,为了计算方便,可以将不同线段的偏移量设置为相同的。需要说明的是,偏移量的设置要确保偏移后的线段与其他线段的距离满足设计规则。
本步骤中,将偏移后的掩模的仿真结果和步骤100之前对design mask的仿真结果进行对比,即可计算出每个测量点处的差异的变化量。本申请实施例中,由于同一聚类中的线段所影响的测量点是互不相同的,那么,每个测量点差异的变化都可以对应到影响该测量点的那个线段,也就是说,测量点差异的变化明确对应到是由哪个线段引起的,因此,可以计算该测量点关于这个线段的导数。
图2为本申请实施例中一design mask和划分得到的线段的实施例示意图,如图2所示,斜线阴影部分标表示design mask,一个一个的小黑点表示线段的端点,相邻的两个端点表示一条线段。在一种实施例中,在design mask图形的靠近拐角处,可以将线段划分得更短一点,design mask图形的长直线处可以将线段划分得更长一点。
如图3所示,在一种实施例中,以挑出两条线段为例,如图3中两个矩形框中心部分的黑色加粗的线段31和线段32,矩形框表示其中心处的线段的影响范围。图3中未标注出线段的端点,而是采用小黑点标注出了测量点的位置。按照步骤100之前的处理,会对当前的design mask即图3所示的mask形状做一次仿真,以得到每个测量点处对应的仿真结果。按照步骤101的处理,会对线段31和线段32做一些偏移,得到一张新的mask,如图4所示中的斜线阴影部分所示。按照步骤101所述,会对图4所示的mask形状做一次仿真,并根据之前对图3所示的mask形状进行仿真的结果获得每个测量点的差异值。上述两次仿真结果,在每个测量点处的差异值并不相同,而且,就是矩形框中的测量点发生了变化。如图4所示,左边矩形框中的测量点发生变化是左边矩形框的中心处线段的偏移造成的,而不是别的线段引起的;同理,右边矩形框中的测量点发生变化是右边矩形框的中心处线段的偏移造成的,而不是别的线段引起的。也就是说,这两个挑出来的线段31和线段32所包含的测量点互不相同,线段31和线段32的影响区域互不重叠,线段31和线段32是对仿真结果互不相干的线段,并且在偏移处理前后,对于发生变化的测量点,是可以找到对应的造成影响的线段是哪个的。
在一种示例性实例中,测量点可以设置在design上的关键位置。本申请实施例中,测量点起到测量每个点处的仿真结果和design之间的距离,作为差异的一种衡量方式。一种实施例中,可以将测量点设置得非常非常密集,这样,衡量的结果是非常准确的。在另一种实施例中,考虑到有没有必要的问题,可以在不容易出问题的位置上,将测量点设置得稀疏一些,而在容易出问题的位置,则将测量点设置得密集一些,这样可以达到比较好的准确性,并且减低计算的难度。图5为本申请实施例中一design mask上设置测量点的示例图,如图5所示,斜线阴影部分表示design mask的形状,小黑点表示测量点所在的位置。图5中,在一种实施例中,在design mask图形的长直线部分,能够比较容易地做到仿真结果和设计图形的一致,因此,对于design mask图形的长直线处,如图5中的虚线圆圈中,可以将线段划分得更长一点即稀疏一些,而对于design mask图形的靠近拐角处,如图5中的实线圆圈中,可以将线段划分得更短一点即密集一点,以保证准确性。在design mask图形的拐角处,按照物理原理,光刻出来就是有一点弧度的,因此,在design mask图形的拐角处可以按照一定弧度设置测量点,并且测量点可以设置得稀疏一些,如图5中的双点划线圆圈中所示。
步骤102:根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵。
本申请实施例通过对design mask划分得到的所有线段进行聚类,并分别针对一类线段进行偏移处理后,得到了每个测量点关于每个线段的导数。
本申请实施例提供的获取OPC中雅可比矩阵的方法,在有限差分法中,巧妙地通过对组成design mask的互不相干的线段(即变量)进行聚类,这样,只需对同一类中的变量进行一次有限差分即可同时得到这一类中各个线段相关的导数,这样大大减少了有限差分的次数,也不需要针对每个线段都分别做一次仿真,大大减少了仿真次数,达到了显著减少运算用时的目的,带来了效率上的巨大提升。通过本申请实施例,在保证达到OPC效果的条件下,尽可能地减少了单次梯度计算中的仿真次数,从而减少了运算用时。
本申请实施例中,在每个变量(即划分得到的线段)发生变化(即偏移)时,影响到的测量点的数量是有限的,因此,可以认为这种变化对仿真结果的影响是局部。本申请实施例中,根据每个测量点的差异得到关于每个线段变化的导数,所组成的是一个雅各比矩阵,而正是由于这种局部性,该雅各比矩阵是稀疏的,这样在一定程度上降低了后续计算的难度。
需要说明的是,本申请实施例提供的获取OPC中雅可比矩阵的方法可以拓展为一种解决最优化问题的实现方式,对于由于模型复杂度无法直接计算大量变量的导数,而且只能通过有限差分法去计算,并且变量具有良好的局部性质的情况下,可以采用本申请实施例中的对变量进行聚类分组,将不相关的变量置于同一类,这样,对于同一类变量只需要进行一次有限差分即可,同样达到了减少计算量的目的。
本申请还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的获取OPC中雅可比矩阵的方法。
本申请再提供一种获取OPC中雅可比矩阵的设备,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述任一项所述的获取OPC中雅可比矩阵的方法的步骤。
本申请实施例还提供一种获取OPC中雅可比矩阵的装置,如图6所示,至少包括:分组模块、处理模块、获取模块、
分组模块,用于对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点;其中,设计掩模是芯片设计对应的掩模图形;
处理模块,用于针对同一类的线段,分别将同属一类的线段进行偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异;
获取模块,用于根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵。
在一种示例性实例中,本申请实施例中的获取OPC中雅可比矩阵的装置还可以包括预处理模块,用于将组成design mask的线段切割以划分成预设长度的线段,并对当前的design mask进行仿真。
在一种示例性实例中,所述分组模块中的将对仿真结果互不相干的线段划分为同一类,可以包括:
根据每个线段的影响范围内包含的测量点,如果两个线段所包含的测量点互不相同,则认为这两个线段是对仿真结果互不相干的线段。
在一种示例性实例中,针对同一类的线段,所有线段都按照预设偏移量进行偏移。在一种实施例中,对于不同线段,偏移量可以相同,也可以不相同。在一种实施例中,为了计算方便,可以将不同线段的偏移量设置为相同的。
本申请实施例提供的获取OPC中雅可比矩阵的装置,在有限差分法中,巧妙地通过对组成design mask的互不相干的线段(即变量)进行聚类,这样,只需对同一类中的变量进行一次有限差分即可同时得到这一类中各个线段相关的导数,这样大大减少了有限差分的次数,也不需要针对每个线段都分别做一次仿真,大大减少了仿真次数,达到了显著减少运算用时的目的,带来了效率上的巨大提升。通过本申请实施例,在保证达到OPC效果的条件下,尽可能地减少了单次梯度计算中的仿真次数,从而减少了运算用时。
本申请实施例再提供一种实现OPC的方法,如图7所示,可以包括:
步骤700:将组成设计掩模的线段切割以划分成预设长度的线段,并对设计掩模进行仿真;其中,设计掩模是芯片设计对应的掩模图形。
步骤701:对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点。
步骤702:针对同一类的线段,分别将同属一类的线段进行(预先设好的)偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异。
步骤703:根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵。
步骤704:根据雅可比矩阵进行最优化求解以获得所有线段偏移的量,对最优化求解后的掩模进行仿真,并根据仿真结果计算最优化求解后的掩模与设计掩模上每个测量点的差异。
在一种示例性实例中,可以按照如BFGS等最优化算法根据雅可比矩阵进行最优化求解,具体实现并不用于限定本申请的保护范围,这里不再赘述。
步骤705:根据最优化求解后的掩模与设计掩模的差异确定出未满足优化结束条件,返回步骤702继续进行优化处理,直至满足优化结束条件,将最优化求解后的掩模作为设计图的掩模版。
本申请实施例中,雅可比矩阵描述了通过偏移调整后的掩模(即目标掩模)包括的每个线段变化的导数,用于指导变量(看作是高维空间中的一个点)在迭代中下一步移动的方向和距离,并且保证按这个方向和距离移动,从而使得损失函数(cost)会变小。在一种实施例中,损失函数是最优化求解后的掩模与设计掩模上所有测量点处的差异的平方和,相应地,步骤704中的根据最优化求解后的掩模与设计掩模的差异确定出未满足优化结束条件,可以包括:当最优化求解后的掩模与设计掩模上所有测量点处的差异的平方和大于预设阈值时,优化算法未收敛,可以确定出不满足优化结束条件;当最优化求解后的掩模与设计掩模上所有测量点处的差异的平方和小于或等于预设阈值时,优化算法收敛,可以确定出满足优化结束条件。
本申请实施例提供的实现OPC的方法,利用损失函数来评价线段经过偏移后的掩模的仿真结果和design mask的仿真结果之间的差异,在一种实施例中,可以通过在designmask上的关键位置设置测量点,再计算每个测量点处的线段经过偏移后的掩模的仿真结果和design mask的仿真结果的差异,损失函数的结果是一个值,比如可以是每个测量点处的差异的平方和。通过本申请实施例中实现OPC的方法中的最优化处理,在寻找到损失函数的最小值的同时,找到了所有关键位置处整体的差异最小的结果即最终的目标掩模。
本申请实施例提供的实现OPC的方法中,巧妙地通过对组成design mask的互不相干的线段(即变量)进行聚类,这样,只需对同一类中的变量进行一次有限差分即可同时得到这一类中各个线段相关的导数,这样大大减少了有限差分的次数,也不需要针对每个线段都分别做一次仿真,大大减少了仿真次数,达到了减少实现OPC的整个过程的运算用时的目的。简而言之,本申请实施例将互不影响的线段进行聚类分组,分别对每个组进行有限差分,而不再是对每个线段进行有限差分,大大减少了运算计算量,再达到OPC效果,保证芯片设计的精度、可靠性和性能的同时,显著节省了运算用时,带来了效率上的巨大提升。
本申请还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项所述的实现OPC的方法。
本申请再提供一种实现OPC的设备,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行上述任一项所述的实现OPC的方法的步骤。
本申请实施例还提供一种实现OPC的装置,如图4所示,可以包括:预处理模块、分组模块、处理模块、获取模块、
预处理模块,用于将组成设计掩模的线段切割以划分成预设长度的线段,并对当前的设计掩模进行仿真;其中,设计掩模是芯片设计对应的掩模图形;
分组模块,用于对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点;
处理模块,用于针对同一类的线段,分别将同属一类的线段进行偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异;
获取模块,用于根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵;根据雅可比矩阵进行最优化求解以获得所有线段偏移的量,对最优化求解后的掩模进行仿真,并根据仿真结果计算最优化求解后的掩模与设计掩模上每个测量点的差异;
判断模块,用于根据最优化求解后的掩模与设计掩模的差异确定出未满足优化结束条件,返回处理模块继续进行优化处理,直至满足优化结束条件,将最优化求解后的掩模作为设计图的掩模版。
本申请实施例提供的实现OPC的装置,巧妙地通过对组成design mask的互不相干的线段(即变量)进行聚类,这样,只需对同一类中的变量进行一次有限差分即可同时得到这一类中各个线段相关的导数,这样大大减少了有限差分的次数,也不需要针对每个线段都分别做一次仿真,大大减少了仿真次数,达到了减少实现OPC的整个过程的运算用时的目的,带来了效率上的巨大提升。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (15)
1.一种获取光学邻近修正OPC中雅可比矩阵的方法,其特征在于,包括:
对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点;其中,设计掩模是芯片设计对应的掩模图形;
针对同一类的线段,分别将同属一类的线段进行偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异;
根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵。
2.根据权利要求1所述的方法,所述方法之前还包括:
将组成所述设计掩模的线段切割划分成预设长度的线段,并对所述设计掩模进行仿真。
3.根据权利要求1或2所述的方法,其中,所述测量点的位置和参数预先设置。
4.根据权利要求1或2所述的方法,其中,所述两个线段所包含的测量点互不相同,所述两个线段是对仿真结果互不相干的线段。
5.根据权利要求1或2所述的方法,其中,所述针对同一类的线段,所有线段都按照预设偏移量进行偏移。
6.根据权利要求5所述的方法,其中,所述同一类的线段中的不同线段的偏移量相同。
7.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1~权利要求6任一项所述的获取OPC中雅可比矩阵的方法。
8.一种获取OPC中雅可比矩阵的设备,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行权利要求1~权利要求6任一项所述的获取OPC中雅可比矩阵的方法的步骤。
9.一种获取OPC中雅可比矩阵的装置,其特征在于,包括:分组模块、处理模块、获取模块、
分组模块,用于对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点;其中,设计掩模是芯片设计对应的掩模图形;
处理模块,用于针对同一类的线段,分别将同属一类的线段进行偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异;
获取模块,用于根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵。
10.根据权利要求9所述的装置,还包括:预处理模块,用于将组成所述设计掩模的线段切割划分成预设长度的线段,并对所述设计掩模进行仿真。
11.一种实现OPC的方法,其特征在于,包括:
将组成设计掩模的线段切割以划分成预设长度的线段,并对设计掩模进行仿真;其中,设计掩模是芯片设计对应的掩模图形;
对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点;
针对同一类的线段,分别将同属一类的线段进行偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异;
根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵;
根据雅可比矩阵进行最优化求解以获得所有线段偏移的量,对最优化求解后的掩模进行仿真,并根据仿真结果计算最优化求解后的掩模与设计掩模上每个测量点的差异;
根据最优化求解后的掩模与设计掩模的差异确定出未满足优化结束条件,返回所述针对同一类的线段,分别将同属一类的线段进行偏移的步骤,直至满足优化结束条件,将最优化求解后的掩模作为设计图的掩模版。
12.根据权利要求11所述的方法,其中,当所述最优化求解后的掩模与设计掩模上所有测量点处的差异的平方和大于预设阈值时,确定出所述未满足优化结束条件;当所述最优化求解后的掩模与设计掩模上所有测量点处的差异的平方和小于或等于预设阈值时,确定出所述满足优化结束条件。
13.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求11或12所述的实现OPC的方法。
14.一种实现OPC的设备,包括存储器和处理器,其中,存储器中存储有以下可被处理器执行的指令:用于执行权利要求11或12所述的实现OPC的方法的步骤。
15.一种实现OPC的装置,其特征在于,包括:预处理模块、分组模块、处理模块、获取模块、
预处理模块,用于将组成设计掩模的线段切割以划分成预设长度的线段,并对设计掩模进行仿真;其中,设计掩模是芯片设计对应的掩模图形;
分组模块,用于对设计掩模划分得到的线段进行聚类分组,将对仿真结果互不相干的线段划分为同一类,并记录每个线段所影响的测量点;
处理模块,用于针对同一类的线段,分别将同属一类的线段进行偏移,对偏移后得到的掩模进行仿真,并根据仿真结果计算偏移后的掩模与设计掩模上每个测量点的差异;
获取模块,用于根据所有类的计算结果获取每个测量点关于每个线段的导数,以组成雅可比矩阵;根据雅可比矩阵进行最优化求解以获得所有线段偏移的量,对最优化求解后的掩模进行仿真,并根据仿真结果计算最优化求解后的掩模与设计掩模上每个测量点的差异;
判断模块,用于根据最优化求解后的掩模与设计掩模的差异确定出未满足优化结束条件,返回处理模块继续进行优化处理,直至满足优化结束条件,将最优化求解后的掩模作为设计图的掩模版。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311393282.1A CN117313648A (zh) | 2023-10-25 | 2023-10-25 | 获取opc中雅可比矩阵的方法、实现opc的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311393282.1A CN117313648A (zh) | 2023-10-25 | 2023-10-25 | 获取opc中雅可比矩阵的方法、实现opc的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117313648A true CN117313648A (zh) | 2023-12-29 |
Family
ID=89260199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311393282.1A Pending CN117313648A (zh) | 2023-10-25 | 2023-10-25 | 获取opc中雅可比矩阵的方法、实现opc的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117313648A (zh) |
-
2023
- 2023-10-25 CN CN202311393282.1A patent/CN117313648A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7434199B2 (en) | Dense OPC | |
EP2705526B1 (en) | Euv lithography flare calculation and compensation | |
US20040019869A1 (en) | Repetition recognition using segments | |
KR101124919B1 (ko) | 노광 파라미터의 결정 방법, 노광 방법, 디바이스 제조 방법 및 기록 매체 | |
JP2002333700A (ja) | ルールベースopcの評価方法およびシミュレーションベースopcモデルの評価方法 | |
US7340706B2 (en) | Method and system for analyzing the quality of an OPC mask | |
KR100494964B1 (ko) | 반도체 디바이스의 레이아웃 패턴을 시뮬레이션하는리소그래피 프로세스 마진 평가 장치 | |
TW202211075A (zh) | 校正在精簡模型中的隨機訊號 | |
US7805699B2 (en) | Shape-based photolithographic model calibration | |
CN114222993A (zh) | 基于由人工神经网络预测的失效模式应用掩模版增强技术方案 | |
CN117055304B (zh) | 用于生成套刻标记图案的方法、设备和介质 | |
CN117669473A (zh) | 用于模型校准的方法、电子设备及存储介质 | |
CN117313648A (zh) | 获取opc中雅可比矩阵的方法、实现opc的方法及装置 | |
CN115630600A (zh) | 用于版图处理的方法、设备和介质 | |
CN113608410B (zh) | 晶圆对准掩膜版生成方法、装置、计算机设备和存储介质 | |
CN115935901A (zh) | 用于版图处理的方法、设备和介质 | |
CN117010318B (zh) | 用于版图处理的方法、设备和介质 | |
CN117950280B (zh) | 建立光学邻近效应修正模型的方法、电子设备和存储介质 | |
CN112556653B (zh) | 半导体制造工艺中的图案量测方法、电子设备和存储介质 | |
US11657207B2 (en) | Wafer sensitivity determination and communication | |
CN117311080B (zh) | 用于拆分版图图案的方法、设备和介质 | |
CN117973307B (zh) | 用于版图处理的方法、设备和介质 | |
CN117950280A (zh) | 建立光学邻近效应修正模型的方法、电子设备和存储介质 | |
CN116635785A (zh) | 用于图案区域的基于特征的单元提取 | |
CN117555201A (zh) | 一种实现光学邻近修正的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |