技术领域
[0001] 本申请实施例涉及集成电路技术领域,特别涉及一种芯片版图编码器的训练方法、芯片版图的筛选方法及装置。
相关背景技术
[0002] 随着集成电路(Integrated Circuit,IC)技术的不断发展,IC版图(也称芯片版图)的特征尺寸也在不断缩小,其中,芯片版图的特征尺寸指的是半导体器件的最小尺寸。目前芯片版图的特征尺寸已达到纳米级别。
[0003] 通常情况下,需要先调用光刻机利用光源将芯片版图曝光在感光胶上得到掩膜版图,再调用光刻机利用光源将掩膜版图曝光在晶圆片上得到成像版图。由于芯片版图的特征尺寸低于光刻工艺所使用的光源波长,导致干涉效应和衍射效应增强,致使将掩膜版图曝光在晶圆片上的成像版图发生扭曲模糊,进而降低了芯片性能和良率。在这种情况下,需要对芯片版图进行光源掩膜优化,以得到优化后的掩膜版图,从而提升芯片的性能和良率。
[0004] 对芯片版图进行光源掩膜优化时,需要提取芯片版图的版图特征。因此,如何训练得到能提取芯片版图的版图特征的芯片版图编码器是亟需解决的问题。
具体实施方式
[0055] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0056] 图1是本申请实施例提供的一种芯片版图编码器的训练方法或者芯片版图的筛选方法的实施环境示意图,如图1所示,该实施环境包括终端设备101和服务器102。其中,本申请实施例中的芯片版图编码器的训练方法或者芯片版图的筛选方法可以由终端设备101执行,也可以由服务器102执行,或者由终端设备101和服务器102共同执行。
[0057] 终端设备101可以是智能手机、游戏主机、台式计算机、平板电脑、膝上型便携计算机、智能电视、智能车载设备、智能语音交互设备、智能家电等。服务器102可以为一台服务器,或者为多台服务器组成的服务器集群,或者为云计算平台和虚拟化中心中的任意一种,本申请实施例对此不加以限定。服务器102可以与终端设备101通过有线网络或无线网络进行通信连接。服务器102可以具有数据处理、数据存储以及数据收发等功能,在本申请实施例中不加以限定。终端设备101和服务器102的数量不受限制,可以是一个或多个。
[0058] 本申请实施例提供的芯片版图编码器的训练方法或者芯片版图的筛选方法可以基于人工智能技术实现。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0059] 人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
[0060] 在集成电路技术领域中,集成电路版图是一种常见的版图,集成电路版图也称芯片版图。一般情况下,需要对芯片版图进行光源掩膜优化,以得到优化后的掩膜版图,使得调用光刻机将优化后的掩膜版图曝光在晶圆片上得到的成像版图与芯片版图之间的误差小,从而提高芯片性能,提升芯片良率。
[0061] 在对芯片版图进行光源掩膜优化时,需要提取芯片版图的版图特征。因此,如何训练得到芯片版图编码器,以利用芯片版图编码器提取芯片版图的版图特征成为一个亟需解决的问题。
[0062] 本申请实施例提供了一种芯片版图编码器的训练方法,该方法可应用于上述实施环境中,可以解决训练得到芯片版图编码器。以图2所示的本申请实施例提供的一种芯片版图编码器的训练方法的流程图为例,为便于描述,将执行本申请实施例中的芯片版图编码器的训练方法的终端设备101或者服务器102称为电子设备,该方法可以由电子设备来执行。如图2所示,该方法包括如下步骤。
[0063] 步骤201,获取样本芯片版图和初始编码器。
[0064] 样本芯片版图是集成电路(Integrated Circuit,IC)版图或者IC版图中的子区域。通常情况下,样本芯片版图的数量为多个,每一个样本芯片版图的处理方式相同。
[0065] 本申请实施例中,可以获取任意的IC版图,将该IC版图作为样本芯片版图。或者,可以将IC版图均匀的划分为若干个子区域,得到各个子区域,将任意的子区域作为样本芯片版图。可选地,可以人工从各个子区域中筛选出部分子区域(如筛选出不具有坏点的子区域),将这些子区域作为样本芯片版图,或者,对各个子区域进行分类,得到各个子区域对应的芯片版图类型,从各个芯片版图类型对应的子区域中均匀采样,以筛选得到样本芯片版图。其中,芯片版图类型包括但不限于接触孔类型、逻辑版图类型、密集线类型等。
[0066] 可以理解的是,对IC版图进行均匀划分,可能会出现坏点正好处于划分线上的情况,导致从划分得到的子区域中难以识别出坏点。因此,在一种可能的实现方式中,可以利用模型对IC版图进行智能划分,使得坏点尽可能分布在子区域的中心,而不是分布在子区域的边缘。在从划分出的子区域中筛选样本芯片版图时,可以避免筛选出具有坏点的子区域,以便于提高芯片版图编码器的训练效果。
[0067] 本申请实施例中,样本芯片版图是图像数据,属于像素化的表征方式。通过对IC版图划分并筛选出样本芯片版图,使得接触孔类型、逻辑版图类型、密集线类型等各种芯片版图类型均可以使用像素表征。其中,样本芯片版图的像素尺寸需要大于或者等于光源波长/(4×数值孔径),也就是说,样本芯片版图的像素尺寸需要满足光刻机的最低分辨率。
[0068] 样本芯片版图用于对初始编码器进行训练得到芯片版图编码器。本申请实施例不对初始编码器的结构和大小等做限定,示例性地,初始编码器为基于U网络的深度学习框架中的编码器,简称Unet框架中的编码器。Unet框架中的编码器可以有效对高维数据(比如图像数据)进行降维处理,从而提取出数据特征。Unet框架是一种卷积自编码器,主要基于两个部分构成。第一个部分是编码器,由至少两个卷积块构成,该编码器可以作为本申请实施例中的初始编码器;第二个部分是解码器,由至少两个反卷积块构成,且卷积块的数量与反卷积块的数量相同。
[0069] 步骤202,对样本芯片版图进行几何变换,得到至少一个参考芯片版图。
[0070] 几何变换包括翻转变换、旋转变换等至少一种变换。可以对样本芯片版图进行翻转变换、旋转变换等至少一种变换,得到参考芯片版图。
[0071] 在一种可能的实现方式中,步骤202包括:对样本芯片版图进行镜面翻转处理,得到对称芯片版图;对样本芯片版图和对称芯片版图进行旋转处理,得到旋转芯片版图;将对称芯片版图和旋转芯片版图作为至少一个参考芯片版图。
[0072] 本申请实施例中,可以根据镜面信息对样本芯片版图进行镜面翻转处理,以实现对样本芯片版图进行翻转变换,得到对称芯片版图,并将对称芯片版图作为参考芯片版图。镜面信息可以表征镜面的位置和朝向等,其中,镜面的朝向与镜面的法线方向相同,镜面的位置由镜面中参考点(如中心点)的位置来表征。当镜面朝向水平方向时,表明镜面的法线方向为水平方向,这种情况下,可以实现对样本芯片版图进行左或右的镜面翻转处理;当镜面朝向垂直方向时,表明镜面的法线方向为垂直方向,这种情况下,可以实现对样本芯片版图进行上或下的镜面翻转处理。
[0073] 可以按照旋转参数对样本芯片版图进行旋转处理,以实现对样本芯片版图进行旋转变换,得到旋转芯片版图。同样地,可以按照旋转参数对对称芯片版图进行旋转处理,以实现对对称芯片版图进行旋转变换,得到旋转芯片版图。其中,可以将旋转芯片版图作为参考芯片版图,旋转参数用于指示旋转一次所对应的角度。例如,旋转参数为每目标角度旋转一次,这种情况下,每目标角度旋转一次样本芯片版图,可以得到一张旋转芯片版图,每目标角度旋转一次对称芯片版图,也可以得到一张旋转芯片版图。
[0074] 请参见图3,图3是本申请实施例提供的一种对样本芯片版图进行几何变换的示意图。本申请实施例中,一方面可以每45度旋转一次样本芯片版图,得到两张旋转芯片版图,另一方面,可以先对样本芯片版图进行右的镜面翻转处理,得到对称芯片版图,再每45度旋转一次对称芯片版图,得到两张旋转芯片版图。
[0075] 本申请实施例中,可以将对称芯片版图和旋转芯片版图一起作为参考芯片版图。可以理解的是,可以先对样本芯片版图进行旋转处理得到旋转芯片版图,再对样本芯片版图和旋转芯片版图进行镜面翻转处理,得到对称芯片版图,接着将对称芯片版图和旋转芯片版图一起作为参考芯片版图。
[0076] 步骤203,通过初始编码器提取样本芯片版图的版图特征和各个参考芯片版图的版图特征。
[0077] 可以将样本芯片版图输入初始编码器,由初始编码器对样本芯片版图进行特征提取,得到样本芯片版图的版图特征。同样地,针对任一个参考芯片版图,可以将该参考芯片版图输入初始编码器,由初始编码器对该参考芯片版图进行特征提取,得到该参考芯片版图的版图特征。下面着重介绍初始编码器对样本芯片版图进行特征提取的方式,而初始编码器对参考芯片版图进行特征提取的方式与初始编码器对样本芯片版图进行特征提取的方式相类似,下面不再赘述。
[0078] 在一种可能的实现方式中,步骤203中的“通过初始编码器提取样本芯片版图的版图特征”包括:通过初始编码器对样本芯片版图进行多次下采样处理,得到各个下采样特征,样本芯片版图的版图特征为最后一次下采样处理得到的下采样特征。
[0079] 本申请实施例中,初始编码器包括至少两个卷积块,下一个卷积块的输入是上一个卷积块的输出。可选地,每个卷积块的输出与该卷积块的输入相比,特征尺寸减少一半,通道数增大一倍。初始编码器最终的输出可以是一维特征矢量,例如,该一维特征矢量的维度为(1,1,1024)。该一维特征矢量即为被样本芯片版图的版图特征。
[0080] 也就是说,将样本芯片版图输入初始编码器后,初始编码器可以将样本芯片版图映射为初始特征,由至少两个卷积块中的第一个卷积块对样本芯片版图的初始特征进行下采样处理,得到第一个下采样特征。接着,由至少两个卷积块中的第二个卷积块对第一个下采样特征进行下采样处理,得到第二个下采样特征,以此类推。直至得到最后一个下采样特征,该最后一个下采样特征为样本芯片版图的版图特征。
[0081] 也就是说,将样本芯片版图输入初始编码器后,由至少两个卷积块中的第一个卷积块对样本芯片版图映射成的初始特征进行下采样处理,得到第一个下采样特征。对于第i个卷积块(i为大于1的正整数),由第i个卷积块对第i‑1个下采样特征进行下采样处理,得到第i个下采样特征。假设共有M个卷积块,则第M个卷积块得到的第M个下采样特征为样本芯片版图的版图特征。
[0082] 可选地,一个卷积块包括一个卷积层,卷积层由至少一个3×3的过滤器组成,且上一个卷积块包括的过滤器的数量少于下一个卷积块包括的过滤器的数量。其中,卷积层用于对样本芯片版图的初始特征或者下采样特征进行卷积处理,得到卷积特征。若卷积块仅包含卷积层,则该卷积处理相当于下采样处理,该卷积特征相当于下采样特征。
[0083] 可选地,一个卷积块包括串联的卷积层和批归一化层。批归一化层用于对卷积特征进行批归一化处理,得到批归一化特征。若卷积块仅包含卷积层和批归一化层,则下采样处理包括卷积处理和批归一化处理,批归一化特征相当于下采样特征。
[0084] 可选地,一个卷积块包括串联的卷积层、批归一化层和激活层。激活层用于对批归一化特征进行激活处理,得到激活特征。若卷积块仅包含卷积层、批归一化层和激活层,则下采样处理包括卷积处理、批归一化处理和激活处理,激活特征相当于下采样特征。其中,激活层可以采用线性整流函数(Rectified Linear Unit,ReLU),线性整流函数又被称为修正线性单元。
[0085] 请参见图4,图4是本申请实施例提供的一种Unet框架的示意图。Unet框架包括编码器,该编码器为本申请实施例中的初始编码器。该编码器包括8个卷积块,每一个卷积块包括串联的卷积层、批归一化层和激活层,且激活层采用修正线性单元。这八个卷积块依次包括8、16、32、64、128、256、512、1024个3×3的过滤器。
[0086] 在图4中示出了图3所示的样本芯片版图、对称芯片版图和旋转芯片版图,这些版图均会输入Unet框架,由Unet框架包括的编码器提取这些版图的版图特征。
[0087] 以样本芯片版图为例,将样本芯片版图输入Unet框架,由Unet框架包括的编码器对样本芯片版图进行八次下采样处理,得到八个下采样特征。假设样本芯片版图的尺寸为(256,256,1),则这八个下采样特征的尺寸分别为(128,128,8)、(64,64,16)、(32,32,32)、(16,16,64)、(8,8,128)、(4,4,256)、(1,1,1024)。其中,最后一个下采样特征为样本芯片版图的版图特征,因此,样本芯片版图的版图特征的尺寸为(1,1,1024),是一个一维特征矢量。
[0088] 步骤204,基于样本芯片版图的版图特征和各个参考芯片版图的版图特征,对初始编码器进行训练,得到芯片版图编码器,芯片版图编码器用于提取目标芯片版图的版图特征。
[0089] 本申请实施例中,可以基于样本芯片版图的版图特征和各个参考芯片版图的版图特征,确定第一损失。可选地,针对任一个参考芯片版图,可以计算该参考芯片版图的版图特征和样本芯片版图的版图特征之间的距离,得到该参考芯片版图对应的距离,将各个参考芯片版图对应的距离进行加权计算(例如加权求和、加权求平均等),得到第一损失。或者,可以对各个参考芯片版图的版图特征进行求平均计算,得到平均版图特征,计算平均版图特征和样本芯片版图的版图特征之间的距离,得到第一损失。
[0090] 示例性地,可以采用如下所示的公式(1),对各个参考芯片版图的版图特征进行求平均计算,得到平均版图特征。
[0091]
[0092] 其中,xi表征第i个样本芯片版图。 表征对第i个样本芯片版图进行第n次几何变换后得到的参考芯片版图。K表征几何变换的总次数,也表征参考芯片版图的数量。对于一个样本芯片版图,对该样本芯片版图、旋转芯片版图进行一次镜面翻转处理,均相当于对该样本芯片版图进行一次几何变换,得到对称芯片版图。对样本芯片版图、对称芯片版图、旋转芯片版图旋转目标角度,均相当于对样本芯片版图进行一次几何变换,得到旋转芯片版图。假如对一个样本芯片版图进行一次左和右的镜面翻转处理,得到两个对称芯片版图,再对这两个对称芯片版图每45度旋转一次,则旋转次数总共有14次,可以得到14个旋转芯片版图。由于对称芯片版图和旋转芯片版图均作为参考芯片版图,因此,参考芯片版图的数量为16,则K的取值为16。
[0093] 此外,公式(1)中的Encoder表征特征提取操作,∑表征求和函数的符号。因此,表征平均版图特征, 表征对第i个样本芯片版图进行第n次几何变换后得到的参考芯片版图的版图特征。
[0094] 在公式(1)的基础上,可以采用如下所示的公式(2)计算平均版图特征和样本芯片版图的版图特征之间的距离,得到第一损失。
[0095]
[0096] 其中,Lossrotation表征第一损失。Encoder(xi)表征第i个样本芯片版图的版图特征。样本芯片版图的总数量为N+1。∑表征求和函数的符号。
[0097] 在计算出第一损失之后,可以将第一损失作为初始编码器的损失,通过梯度下降的方式,利用初始编码器的损失对初始编码器进行训练,得到训练后的初始编码器。对初始编码器进行训练就是调整初始编码器中神经元的权重和偏置,使得初始编码器的损失下降。若训练后的初始编码器满足训练结束条件,则将训练后的初始编码器作为芯片版图编码器。若训练后的初始编码器不满足训练结束条件,则将训练后的初始编码器作为下一次训练的初始编码器,并按照本申请实施例提供的芯片版图编码器的训练方法对该初始编码器进行下一次训练,直至得到芯片版图编码器。
[0098] 本申请实施例不对满足训练结束条件做限定。示例性地,满足训练结束条件为训练次数达到目标次数(如500次)。或者,通过梯度下降的方式,利用初始编码器的损失对初始编码器进行训练时,需要确定初始编码器的损失的梯度,基于该梯度对初始编码器的参数进行调整,以使下一次训练确定的初始编码器的损失的梯度小于本次训练确定的初始编码器的损失的梯度。当下一次训练确定的初始编码器的损失的梯度与本次训练确定的初始编码器的损失的梯度之间的梯度差值小于差值阈值时,确定满足训练结束条件,此时,满足训练结束条件相当于初始编码器的损失的梯度的下降范围在差值阈值的范围内。
[0099] 需要说明的是,由于第一损失是基于样本芯片版图的版图特征和各个参考芯片版图的版图特征确定的,因此,利用第一损失训练初始编码器,可以使初始编码器提取到的样本芯片版图的版图特征和参考芯片版图的版图特征相互靠近。由于参考芯片版图是对样本芯片版图进行几何变换得到的,因此,参考芯片版图和样本芯片版图属于同一类型的芯片版图。在训练初始编码器的过程中,可以使初始编码器提取的版图特征不断地倾向于表征芯片版图类别,从而使最终训练得到的芯片版图编码器侧重于提取能表征芯片版图类别的版图特征。芯片版图编码器提取的版图特征可以表征几何变换前的芯片版图和几何变换后的芯片版图,使得芯片版图编码器提取的版图特征具有几何变换前后不变的特性。因此,第一损失是可以表征几何变换前后不变的损失。
[0100] 在一种可能的实现方式中,该芯片版图编码器的训练方法还包括步骤205。其中,步骤205在步骤203之后执行。
[0101] 步骤205,基于样本芯片版图的版图特征,确定重构芯片版图,重构芯片版图是基于样本芯片版图的版图特征重构出的芯片版图。
[0102] 本申请实施例中,可以将样本芯片版图的版图特征输入初始解码器,由初始解码器基于样本芯片版图的版图特征重构出新的芯片版图,得到重构芯片版图。本申请实施例不对初始解码器的结构和大小等做限定,示例性地,初始解码器Unet框架中的解码器。
[0103] 在一种可能的实现方式中,步骤205包括:对样本芯片版图的版图特征进行多次上采样处理,得到各个上采样特征,重构芯片版图为最后一次上采样处理得到的上采样特征。
[0104] 本申请实施例中,初始解码器包括至少两个反卷积块,上一个反卷积块的输出为下一个反卷积块的输入。可选地,每一个反卷积块的输出与该反卷积块的输入相比,特征尺寸增大一倍,通道数降低一半。初始解码器最终输出的特征尺寸和初始编码器输入的样本芯片版图的尺寸一致。
[0105] 也就是说,将样本芯片版图的版图特征输入初始解码器后,由至少两个反卷积块中的第一个反卷积块对样本芯片版图的版图特征进行上采样处理,得到第一个上采样特征。接着,由至少两个反卷积块中的第二个反卷积块对第一个上采样特征进行上采样处理,得到第二个上采样特征,以此类推。直至得到最后一个上采样特征,该最后一个上采样特征可以映射为一张芯片版图,该芯片版图为重构芯片版图。
[0106] 也就是说,将样本芯片版图的版图特征输入初始解码器后,由至少两个反卷积块中的第一个反卷积块对样本芯片版图的版图特征进行上采样处理,得到第一个上采样特征。对于第i个反卷积块(i为大于1的正整数),由第i个反卷积块对第i‑1个上采样特征进行上采样处理,得到第i个上采样特征。假设共有M个反卷积块,则第M个反卷积块得到的第M个上采样特征可以映射为重构芯片版图。
[0107] 可选地,一个反卷积块包括一个反卷积层,反卷积层由至少一个3×3的过滤器组成,且上一个反卷积块包括的过滤器的数量多于下一个反卷积块包括的过滤器的数量。其中,反卷积层用于对样本芯片版图的版图特征或者上采样特征进行反卷积处理,得到反卷积特征。若反卷积块仅包含反卷积层,则该反卷积处理相当于上采样处理,该反卷积特征相当于上采样特征。
[0108] 可选地,一个反卷积块包括串联的反卷积层和批归一化层。批归一化层用于对反卷积特征进行批归一化处理,得到批归一化特征。若反卷积块仅包含反卷积层和批归一化层,则上采样处理包括反卷积处理和批归一化处理,批归一化特征相当于上采样特征。
[0109] 可选地,一个反卷积块包括串联的反卷积层、批归一化层和激活层。激活层用于对批归一化特征进行激活处理,得到激活特征。若反卷积块仅包含反卷积层、批归一化层和激活层,则上采样处理包括反卷积处理、批归一化处理和激活处理,激活特征相当于上采样特征。其中,激活层可以采用Leaky‑ReLU激活函数或者sigmoid激活函数。
[0110] 可选地,对样本芯片版图的版图特征进行多次上采样处理,得到各个上采样特征,包括如下所示的步骤A1至步骤A4。
[0111] 步骤A1,对样本芯片版图的版图特征进行第一次上采样处理,得到第一个上采样特征,样本芯片版图的版图特征是对样本芯片版图进行多次下采样处理得到的。
[0112] 在步骤203已提及对样本芯片版图进行多次下采样处理得到样本芯片版图的版图特征,在此不再赘述。在本申请实施例中,将样本芯片版图的版图特征输入初始解码器后,由至少两个反卷积块中的第一个反卷积块对样本芯片版图的版图特征进行上采样处理,得到第一个上采样特征。
[0113] 步骤A2,对于任一次上采样处理得到的任一个上采样特征,获取所述任一个上采样特征对应的下采样特征,对所述样本芯片版图进行下采样处理得到所述任一个上采样特征对应的下采样特征时下采样处理的次数为第一次数,对所述样本芯片版图的版图特征进行上采样处理得到所述任一个上采样特征时上采样处理的次数为第二次数,所述第一次数与所述第二次数之和为目标次数。
[0114] 在本申请实施例中,初始编码器中卷积块的数量和初始解码器中反卷积块的数量相同,因此,初始编码器进行下采样处理的总次数和初始解码器进行上采样处理的总次数相同。目标次数为初始编码器进行下采样处理的总次数。比如,初始编码器共进行8次下采样处理,则目标次数为8。
[0115] 对于第i次上采样处理得到的第i个上采样特征(i为大于等于1的正整数),第二次数为i。由于第一次数与第二次数之和为目标次数,将目标次数记为M,则第一次数为M‑i。可以确定出第i个上采样特征对应的下采样特征为对样本芯片版图进行第M‑i次下采样处理得到的第M‑i个下采样特征。
[0116] 例如,目标次数为8,第1个上采样特征对应的下采样特征为第7个下采样特征,第2个上采样特征对应的下采样特征为第6个下采样特征,以此类推。
[0117] 步骤A3,将任一个上采样特征与任一个上采样特征对应的下采样特征进行拼接,得到任一个上采样特征对应的拼接特征。
[0118] 可以将第i个上采样特征与第M‑i个下采样特征进行拼接,得到第i个上采样特征对应的拼接特征。
[0119] 步骤A4,对任一个上采样特征对应的拼接特征进行上采样处理,得到任一个上采样特征的下一个上采样特征。
[0120] 对第i个上采样特征对应的拼接特征进行上采样处理,得到第i+1个上采样特征。
[0121] 需要说明的是,当得到最后一个上采样特征时,可以将最后一个上采样特征映射成重构芯片版图,也可以将最后一个上采样特征和第1个下采样特征进行拼接,得到最后一个上采样特征对应的拼接特征,将最后一个上采样特征对应的拼接特征映射成重构芯片版图。
[0122] 请参见图4,图4所示的Unet框架包括解码器,该解码器为本申请实施例中的初始解码器。该解码器包括八个反卷积块,每一个反卷积块包括串联的反卷积层、批归一化层和激活层。这八个反卷积块依次包括1024、512、256、128、64、32、16、1个3×3的过滤器,其中,前7个反卷积块中的激活层均为Leaky‑ReLU激活函数,第8个反卷积块中的激活层为sigmoid激活函数。上文已描述了Unet框架中的编码器,在此不再赘述。
[0123] 在本申请实施例中,Unet框架中的编码器可以对样本芯片版图进行八次下采样处理,得到八个下采样特征。对第八个下采样特征进行上采样处理,得到第一个上采样特征。基于第一个上采样特征与第七个下采样特征得到第二个上采样特征。基于第二个上采样特征与第六个下采样特征得到第三个上采样特征,以此类推。直至基于第七个上采样特征与第一个下采样特征得到第八个上采样特征为止。
[0124] 其中,在基于第一个上采样特征与第七个下采样特征得到第二个上采样特征时,可以将第一个上采样特征与第七个下采样特征进行拼接,得到第一个上采样特征对应的拼接特征,对第一个上采样特征对应的拼接特征进行上采样处理,得到第二个上采样特征。第三个上采样特征至第八个上采样特征的确定方式与第二个上采样特征的确定方式相类似,在此不再赘述。
[0125] 假设样本芯片版图的版图特征的尺寸为(1,1,1024),是一个一维特征矢量,则八个上采样特征的尺寸依次为(2,2,1024)、(4,4,512)、(8,8,256)、(16,16,128)、(32,32,64)、(64,64,32)、(128,128,16)、(256,256,1)。基于第八个上采样特征得到的重构芯片版图的尺寸为(256,256,1),与样本芯片版图的尺寸一致。
[0126] 本申请实施例中,基于任一个上采样特征与该上采样特征对应的下采样特征,确定该上采样特征的下一个上采样特征,本质上是将初始编码器中卷积块的输出域初始解码器中反卷积块的输出拼接到一起共同作为下一个反卷积块的输入,可以提高反卷积块进行上采样处理后得到的上采样特征的表达能力,从而提高重构芯片版图的准确性,使重构芯片版图接近样本芯片版图。
[0127] 可选地,初始解码器输出的重构芯片版图为一个二值掩膜版图。二值掩膜版图包括多个像素点,每一个像素点的值表征该像素点透光或者不透光。例如,当二值掩膜版图上一个像素点的值为1时,表征该像素点不透光;当二值掩膜版图上一个像素点的值为0时,表征该像素点透光。
[0128] 在可以得到重构芯片版图的情况下,步骤204包括:基于样本芯片版图、重构芯片版图、样本芯片版图的版图特征和各个参考芯片版图的版图特征,对初始编码器进行训练,得到芯片版图编码器。可以基于样本芯片版图、重构芯片版图、样本芯片版图的版图特征和各个参考芯片版图的版图特征,确定初始编码器的损失。利用初始编码器的损失对初始编码器进行训练,得到芯片版图编码器。
[0129] 可选地,基于样本芯片版图、重构芯片版图、样本芯片版图的版图特征和各个参考芯片版图的版图特征,对初始编码器进行训练,得到芯片版图编码器,包括如下所示的步骤B1至步骤B3。
[0130] 步骤B1,基于样本芯片版图的版图特征和各个参考芯片版图的版图特征,确定第一损失。其中,在步骤204已描述了第一损失的确定过程,在此不再赘述。
[0131] 步骤B2,基于样本芯片版图和重构芯片版图确定第二损失。
[0132] 本申请实施例中,可以在像素层面,对比样本芯片版图和重构芯片版图,得到样本芯片版图和重构芯片版图之间的距离,将该距离作为第二损失。
[0133] 可选地,采用如下所示的公式(3)确定第二损失。
[0134]
[0135] 其中,Lossrebuild表征第二损失。xi表征第i个样本芯片版图。xi(pred)表征第i个样本芯片版图对应的重构芯片版图。样本芯片版图的总数量为N+1。∑表征求和函数的符号。
[0136] 步骤B3,基于第一损失和第二损失对初始编码器进行训练,得到芯片版图编码器。
[0137] 本申请实施例中,可以将第一损失和第二损失之和确定为初始编码器的损失,例如,初始编码器的损失Loss=Lossrebuild+Lossrotation。利用初始编码器的损失对初始编码器进行训练,得到芯片版图编码器。
[0138] 由于第二损失是基于样本芯片版图和重构芯片版图确定的,因此,利用第二损失训练初始编码器,使得通过初始编码器提取到样本芯片版图的版图特征之后,通过初始解码器可以基于该样本芯片版图的版图特征重构出越来越接近样本芯片版图的重构芯片版图,从而保证样本芯片版图的版图特征可以准确的表征出样本芯片版图,提高样本芯片版图的版图特征的准确性。
[0139] 需要说明的是,在利用初始编码器的损失训练初始编码器的过程中,还可以利用初始编码器的损失同步训练初始解码器,以提高训练效果。在应用时,还可以基于参考芯片版图的版图特征,确定重建芯片版图,重建芯片版图是基于参考芯片版图的版图特征重构出的芯片版图;利用参考芯片版图和重建芯片版图确定第三损失;利用第一损失、第二损失和第三损失中的至少一项确定初始编码器的损失,以利用初始编码器的损失对初始编码器进行训练,得到芯片版图编码器。其中,重建芯片版图的确定方式与重构芯片版图的确定方式相类似,第三损失的确定方式与第二损失的确定方式相类似,在此不再赘述。
[0140] 需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的样本芯片版图等都是在充分授权的情况下获取的。
[0141] 上述方法对样本芯片版图进行几何变换得到参考芯片版图,利用样本芯片版图的版图特征和参考芯片版图的版图特征训练初始编码器得到芯片版图编码器,使得针对几何变换前后的芯片版图,芯片版图编码器能够输出相近的版图特征。由于几何变换前后的芯片版图属于同一种芯片版图类型,因此,芯片版图编码器侧重于提取能区分芯片版图类型的版图特征,有利于后续基于版图特征对芯片版图进行聚类筛选,提高聚类准确性,降低筛选结果的冗余性。
[0142] 本申请实施例还提供了一种芯片版图的筛选方法,该方法可应用于上述实施环境中,可以从多个目标芯片版图中准确地筛选出关键芯片版图。以图5所示的本申请实施例提供的一种芯片版图的筛选方法的流程图为例,为便于描述,将执行本申请实施例中的芯片版图的筛选方法的终端设备101或者服务器102称为电子设备,该方法可以由电子设备来执行。如图5所示,该方法包括如下步骤。
[0143] 步骤501,获取多个目标芯片版图和芯片版图编码器。
[0144] 本申请实施例中,任一个目标芯片版图是IC版图或者对IC版图进行划分得到的子区域,目标芯片版图的确定方式与样本芯片版图的确定方式相同,可以见步骤201的描述,在此不再赘述。芯片版图编码器是按照与图2相关的芯片版图编码器的训练方法训练得到的,可以见步骤201至步骤205的相关描述,在此不再赘述。
[0145] 步骤502,利用芯片版图编码器提取各个目标芯片版图的版图特征。
[0146] 将任一个目标芯片版图输入芯片版图编码器,由芯片版图编码器对该目标芯片版图进行特征提取,得到该目标芯片版图的版图特征。其中,目标芯片版图的版图特征的确定方式与样本芯片版图的版图特征的特征方式相类似,可以见步骤203的相关描述,在此不再赘述。
[0147] 步骤503,基于各个目标芯片版图的版图特征对多个目标芯片版图进行聚类处理,得到多个目标聚类簇,任一个目标聚类簇中包括至少一个目标芯片版图。
[0148] 目标芯片版图的版图特征可以表征目标芯片版图,通过对各个目标芯片版图的版图特征进行计算,可以实现将多个目标芯片版图聚在多个目标聚类簇中。
[0149] 示例性地,对于任两个目标芯片版图,可以按照距离公式计算这两个目标芯片版图的版图特征之间的距离。若这两个目标芯片版图的版图特征之间的距离小于距离阈值,说明这两个目标芯片版图相似,则将这两个目标芯片版图聚在同一个初始聚类簇中;若这两个目标芯片版图的版图特征之间的距离不小于距离阈值,说明这两个目标芯片版图不相似,则将这两个目标芯片版图聚在不同的初始聚类簇中。通过这种方式,可以将多个目标芯片版图聚在多个初始聚类簇中,每一个初始聚类簇中包括至少一个目标芯片版图。可选地,将各个初始聚类簇作为各个目标聚类簇,从而实现将多个目标芯片版图聚在多个目标聚类簇中。本申请实施例不对距离公式做限定,示例性地,距离公式是欧式空间距离的公式或者余弦距离的公式等。距离阈值的数值可以根据经验设定。
[0150] 在一种可能的实现方式中,步骤503包括步骤5031至步骤5034。
[0151] 步骤5031,获取多个第一版图特征,一个第一版图特征用于表征一个第一聚类簇的聚类中心。
[0152] 本申请实施例不对电子设备获取第一版图特征的方式做限定。示例性地,可以在电子设备配置好多个第一版图特征。或者,用户可以将多个第一版图特征输入电子设备。或者,电子设备可以将多个目标芯片版图聚在多个初始聚类簇中,对于任一个初始聚类簇,对该初始聚类簇包括的各个目标芯片版图的版图特征进行求平均,得到的结果作为一个第一版图特征,这种情况下,第一版图特征的数量与初始聚类簇的数量相同。或者,按照步骤5031至步骤5038的方式,对多个目标芯片版图进行多次聚类,得到多个聚类簇,将各个聚类簇包括的各个目标芯片版图的版图特征进行求平均,得到的结果作为各个第一版图特征。
一个第一版图特征为一个第一聚类簇的期望聚类中心,可以表征该第一聚类簇的聚类中心。
[0153] 步骤5032,计算各个目标芯片版图的版图特征和各个第一版图特征之间的距离。示例性地,可以按照欧式空间距离的公式或者余弦距离的公式等,计算任一个目标芯片版图的版图特征和任一个第一版图特征之间的距离。
[0154] 步骤5033,对于任一个目标芯片版图,从任一个目标芯片版图的版图特征和各个第一版图特征之间的距离中选择最小的第一距离,将任一个目标芯片版图聚在第一距离对应的第一版图特征所表征的第一聚类簇中。
[0155] 本申请实施例中,目标芯片版图的版图特征和第一版图特征之间的距离越小,表明目标芯片版图的版图特征与第一版图特征越相似,二者越能表征同一类芯片版图。基于这个原理,可以从任一个目标芯片版图的版图特征和各个第一版图特征之间的距离中选择最小的第一距离,该第一距离对应的第一版图特征是各个第一版图特征中与该目标芯片版图的版图特征最相似的第一版图特征。可以将该目标芯片版图聚在第一距离对应的第一版图特征所表征的第一聚类簇中。
[0156] 通过这种方式,可以将多个目标芯片版图聚在多个第一聚类簇中。由于同一个第一聚类簇中的各个目标芯片版图对应同一类芯片版图,因此,通过这种方式可以实现对各个目标芯片版图按照芯片版图的类型进行聚类。
[0157] 步骤5034,若各个第一聚类簇满足聚类结束条件,则将各个第一聚类簇作为各个目标聚类簇。
[0158] 本申请实施例不对满足聚类结束条件做限定。示例性地,满足聚类结束条件为聚类次数达到设定的次数,例如,聚类次数为50次。
[0159] 可选地,对于任一个第一聚类簇,可以基于该第一聚类簇中各个目标芯片版图的版图特征,确定该第一聚类簇的实际聚类中心。示例性地,按照如下所示的公式(4),对第i个第一聚类簇中各个目标芯片版图的版图特征进行求平均运算,得到第一聚类簇的实际聚类中心。
[0160]
[0161] 其中,μi表征第i个第一聚类簇的实际聚类中心。Ci表征第i个第一聚类簇中包括的目标芯片版图的数量。x表征目标芯片版图的版图特征。∑为求和函数的函数符号。
[0162] 在一种可能的实现方式中,对多个目标芯片版图进行第一聚类次数的聚类处理,得到各个第一聚类簇。此时,可以获取对目标芯片版图进行第一聚类次数减1次的聚类处理后得到的各个聚类簇的实际聚类中心。若各个聚类簇的实际聚类中心与各个第一聚类簇的实际聚类中心之间的误差在设定范围内,则确定各个第一聚类簇满足聚类结束条件。
[0163] 在另一种可能的实现方式中,可以基于任一个第一聚类簇中各个目标芯片版图的版图特征和该第一聚类簇的实际聚类中心,确定该第一聚类簇的误差,确定各个第一聚类簇的误差之和,得到聚类总误差。可选地,按照如下所示的公式(5),计算任一个第一聚类簇中各个目标芯片版图的版图特征和该第一聚类簇的实际聚类中心之间的差值平方和,得到该第一聚类簇的误差,并将各个第一聚类簇的误差之和作为聚类总误差。
[0164]
[0165] 其中,Error表征聚类总误差。N表征第一聚类簇的数量。μi表征第i个第一聚类簇的实际聚类中心。Ci表征第i个第一聚类簇中包括的目标芯片版图的数量。x表征目标芯片版图的版图特征。∑为求和函数的函数符号。
[0166] 在一种可能的实现方式中,当各个第一聚类簇的聚类总误差均小于设定的总误差时,确定各个第一聚类簇满足聚类结束条件。或者,对多个目标芯片版图进行第一聚类次数的聚类处理,得到各个第一聚类簇。此时,可以获取对目标芯片版图进行第一聚类次数减1次的聚类处理后得到的各个聚类簇的聚类总误差。若各个聚类簇的聚类总误差与各个第一聚类簇的聚类总误差之间的差值在设定范围内,则确定各个第一聚类簇满足聚类结束条件。
[0167] 当各个第一聚类簇满足聚类结束条件时,将各个第一聚类簇作为各个目标聚类簇。
[0168] 可选地,在步骤5033之后还包括步骤5035至步骤5038。
[0169] 步骤5035,若各个第一聚类簇不满足聚类结束条件,则对于任一个第一聚类簇,基于任一个第一聚类簇中各个目标芯片版图的版图特征,确定一个第二版图特征,一个第二版图特征用于表征一个第二聚类簇的聚类中心。
[0170] 各个第一聚类簇不满足聚类结束条件,相当于多个第一聚类簇中存在不满足聚类结束条件的第一聚类簇。此时,可以基于任一个第一聚类簇中各个目标芯片版图的版图特征,确定该第一聚类簇的实际聚类中心,并将该第一聚类簇的实际聚类中心作为一个第二版图特征。这个第二版图特征为一个第二聚类簇的期望聚类中心,可以表征该第二聚类簇的聚类中心。
[0171] 步骤5036,计算各个目标芯片版图的版图特征和各个第二版图特征之间的距离。示例性地,可以按照欧式空间距离的公式或者余弦距离的公式等,计算任一个目标芯片版图的版图特征和任一个第二版图特征之间的距离。
[0172] 步骤5037,对于任一个目标芯片版图,从任一个目标芯片版图的版图特征和各个第二版图特征之间的距离中选择最小的第二距离,将任一个目标芯片版图聚在第二距离对应的第二版图特征所表征的第二聚类簇中。
[0173] 目标芯片版图的版图特征和第二版图特征之间的距离越小,表明目标芯片版图的版图特征与第二版图特征越相似,二者越能表征同一类芯片版图。基于这个原理,可以从任一个目标芯片版图的版图特征和各个第二版图特征之间的距离中选择最小的第二距离,该第二距离对应的第二版图特征是各个第二版图特征中与该目标芯片版图的版图特征最相似的第二版图特征。可以将该目标芯片版图聚在第二距离对应的第二版图特征所表征的第二聚类簇中。
[0174] 通过这种方式,可以将多个目标芯片版图聚在多个第二聚类簇中。由于同一个第二聚类簇中的各个目标芯片版图对应同一类芯片版图,因此,通过这种方式可以实现对各个目标芯片版图按照芯片版图的类型进行聚类。
[0175] 步骤5038,若各个第二聚类簇满足聚类结束条件,则将各个第二聚类簇作为各个目标聚类簇。
[0176] 当各个第二聚类簇满足聚类结束条件时,将各个第二聚类簇作为各个目标聚类簇。当各个第二聚类簇不满足聚类结束条件,则可以按照步骤5035至步骤5038的方式,对多个目标芯片版图再次进行聚类,直至得到各个目标聚类簇为止。
[0177] 通过步骤5031至步骤5038的方式对多个目标芯片版图进行多次聚类,可以不断的改变聚类簇的聚类中心,使同一聚类簇中各个目标芯片版图越来越相似,而不同聚类簇中的目标芯片版图越来越不相似,直至满足聚类结束条件。满足聚类结束条件相当于聚类簇收敛,聚类簇的聚类中心不再波动。因此,通过步骤5031至步骤5038的方式对多个目标芯片版图进行多次聚类后得到的目标聚类簇的误差较小,准确性较高。
[0178] 步骤504,对于任一个目标聚类簇,从任一个目标聚类簇包括的各个目标芯片版图中筛选出关键芯片版图。
[0179] 本申请实施例中,目标聚类簇中包括的各个目标芯片版图属于同一种芯片版图类型,因此,可以从任一个目标聚类簇包括的各个目标芯片版图中随机采样,得到关键芯片版图。关键芯片版图的数量为至少一个。通过对各个目标芯片版图进行聚类,得到各个目标聚类簇,并从各个目标聚类簇包括的目标芯片版图中筛选出关键芯片版图,可以避免从所有的目标芯片版图中手动选择关键芯片版图,防止人工经验、随机选择等对最终结果的干扰。
[0180] 在一种可能的实现方式中,步骤504包括:获取任一个目标聚类簇中各个目标芯片版图的版图特征和任一个目标聚类簇的聚类中心之间的距离;基于任一个目标聚类簇中各个目标芯片版图的版图特征和任一个目标聚类簇的聚类中心之间的距离,对任一个目标聚类簇包括的各个目标芯片版图进行均匀采样,得到多个关键芯片版图。
[0181] 本申请实施例中,任一个目标聚类簇的聚类中心可以为该目标聚类簇的期望聚类中心,也可以为该目标聚类簇的实际聚类中心。其中,目标聚类簇的期望聚类中心的计算方式可以见有关第二版图特征的确定内容,二者实现原理相类似。目标聚类簇的实际聚类中心的计算方式可以见有关第一聚类簇的实际聚类中心的确定内容,二者实现原理相类似。
[0182] 对于任一个目标聚类簇,可以按照欧式空间距离的公式或者余弦距离的公式等,计算该目标聚类簇包括的任一个目标芯片版图的版图特征和该目标聚类簇的聚类中心之间的距离。通过这种方式,可以得到该目标聚类簇中各个目标芯片版图的版图特征和该目标聚类簇的聚类中心之间的距离。
[0183] 可选地,从目标聚类簇中各个目标芯片版图的版图特征和该目标聚类簇的聚类中心之间的距离中确定最大距离,将最大距离除以采样数目,得到采样间距。从目标聚类簇中各个目标芯片版图的版图特征和该目标聚类簇的聚类中心之间的距离中筛选出距离满足采样间距的整数倍的采样距离。从该采样距离对应的目标芯片版图中采样出一个关键芯片版图。
[0184] 示例性地,假设有M个目标聚类簇,采样数目为L+1。对于任一个目标聚类簇,从该目标聚类簇中各个目标芯片版图的版图特征和该目标聚类簇的聚类中心之间的距离中确定最大距离,将最大距离除以L+1,得到采样间距。从目标聚类簇中各个目标芯片版图的版图特征和该目标聚类簇的聚类中心之间的距离中筛选出距离为0、1*采样间距、2*采样卷积、……(L+1)*采样间距的采样距离,从这些采样距离对应的目标芯片版图中共采样出L+2个目标芯片版图。其中,采样距离0对应的目标芯片版图的版图特征为目标聚类簇的聚类中心,采样距离“(L+1)*采样间距”对应的目标芯片版图的版图特征和目标聚类簇的聚类中心之间的距离为最大距离。由于一个目标聚类簇可以采样出L+2个目标芯片版图,因此,M个目标聚类簇总共可以采样出M×(L+2)个目标芯片版图。
[0185] 在一种可能的实现方式中,步骤504之后还包括:对关键芯片版图进行光源掩膜优化,得到目标光源和关键芯片版图对应的掩膜版图;基于目标光源对其他芯片版图进行掩膜优化,得到其他芯片版图对应的掩膜版图,其他芯片版图是各个目标芯片版图中除关键芯片版图之外的目标芯片版图。
[0186] 本申请实施例中,对关键芯片版图进行光源掩膜优化相当于对关键芯片版图进行光源和掩膜的联合优化(Source and Mask Optimization,SMO),可以得到目标光源和关键芯片版图对应的掩膜版图。其中,SMO是实现纳米(如28纳米甚至更小纳米)集成电路的关键分辨率增强技术。通过从目标芯片版图中筛选关键芯片版图并对关键芯片版图进行SMO,可以使得关键芯片版图的数量小于目标芯片版图的数量,从而提高SMO的速度。此外,通过对目标芯片版图进行聚类,从各个聚类簇包括的目标芯片版图中筛选关键芯片版图,可以保证关键芯片版图覆盖各种芯片版图类型,且关键芯片版图的冗余现象较少,使得对关键芯片版图进行SMO得到的目标光源的准确性较高,提高了SMO的效率和效果。
[0187] SMO属于一种光源优化(Source Optimization,SO)技术。SMO技术通过改变光源的强度分布,可以调整入射光的强度和方向,从而使得利用光源将掩膜版图曝光在晶圆片上得到的成像版图的质量较高,有助于提高芯片良率。由于按照本申请实施例的方法对关键芯片版图进行SMO时,可以提高SMO的速度和效果,本申请实施例能够提高光刻分辨率,增大光刻工艺窗口。此外,本申请实施例中的目标芯片版图是用像素表征的版图,因此,普适性较高,可以适用于接触孔类型、逻辑版图类型、密集线类型等芯片版图类型。
[0188] 在进行任一次SMO时,可以将任意的光源作为初始光源,调用光刻机基于该初始光源将关键芯片版图曝光在感光胶上,得到中间掩膜版图。再调用光刻机利用初始光源将中间掩膜版图曝光在晶圆片上,得到成像版图。通过对比成像版图和关键芯片版图,得到成像版图和关键芯片版图之间的误差。
[0189] 可选地,若成像版图和关键芯片版图之间的误差满足优化条件,则将初始光源作为目标光源,将中间掩膜版图作为关键芯片版图对应的掩膜版图,关键芯片版图对应的掩膜版图用于通过调用光刻机利用目标光源将关键芯片版图对应的掩膜版图曝光在晶圆片上,得到关键芯片版图对应的成像版图;若成像版图和关键芯片版图之间的误差不满足优化条件,则基于成像版图和关键芯片版图之间的误差调整初始光源,得到调整后的初始光源。将调整后的初始光源作为下一次SMO的初始光源,基于该初始光源进行上述所示的至少一次SMO,直至得到目标光源和关键芯片版图对应的掩膜版图为止。
[0190] 可选地,满足优化条件为成像版图和关键芯片版图之间的误差在设定的误差范围内。或者,满足优化条件为成像版图和关键芯片版图之间的误差的梯度小于设定的梯度阈值,这种情况下,基于成像版图和关键芯片版图之间的误差调整初始光源时,可以基于成像版图和关键芯片版图之间的误差的梯度调整初始光源。
[0191] 之后,可以调用光刻机基于该目标光源将其他芯片版图曝光在感光胶上,得到其他芯片版图对应的掩膜版图。其他芯片版图对应的掩膜版图用于通过调用光刻机利用目标光源将其他芯片版图对应的掩膜版图曝光在晶圆片上,得到其他芯片版图对应的成像版图。
[0192] 可选地,若关键芯片版图和其他芯片版图是由一张芯片版图划分得到的,这种情况下,在对关键芯片版图进行光源掩膜优化得到目标光源后,可以调用光刻机基于该目标光源将这张芯片版图曝光在感光胶上,得到这张芯片版图对应的掩膜版图。这张芯片版图对应的掩膜版图用于通过调用光刻机利用目标光源将这张芯片版图对应的掩膜版图曝光在晶圆片上,得到这张芯片版图对应的成像版图。
[0193] 需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的目标芯片版图等都是在充分授权的情况下获取的。
[0194] 上述方法中的芯片版图编码器侧重于提取能区分芯片版图类型的版图特征。因此,利用芯片版图编码器提取各个目标芯片版图的版图特征,并基于各个目标芯片版图的版图特征对多个目标芯片版图进行聚类处理时,可以准确地将同一芯片版图类型的目标芯片版图聚在同一目标聚类簇中,将不同芯片版图类型的目标芯片版图聚在不同的目标聚类簇中,提高聚类结果的准确性。在从任一目标聚类簇包括的各个目标芯片版图中筛选关键芯片版图时,可以降低关键芯片版图的冗余性,提高筛选质量。
[0195] 上述从方法步骤的角度阐述了本申请实施例提供的芯片版图编码器的训练方法以及芯片版图的筛选方法,下面结合图6来进一步描述。图6是本申请实施例提供的一种芯片版图编码器以及基于该芯片版图编码器进行聚类筛选的示意图。
[0196] 本申请实施例中,可以获取样本数据集,利用样本数据集按照与图2相关的芯片版图编码器的训练方法,对初始编码器进行训练得到芯片版图编码器。本申请实施例中的样本数据集包括两个开源的数据集。一个数据集包括4877个芯片版图,可以将这4877个芯片版图或者从这4877个芯片版图中提取出部分芯片版图作为样本芯片版图。另一个数据集包括5394个芯片版图,可以将这5394个芯片版图或者从这5394个芯片版图中提取出部分芯片版图作为样本芯片版图。样本芯片版图用于对初始编码器进行训练。此外,本申请实施例中的样本数据集还包括一些接触孔类型的芯片版图、逻辑版图类型的芯片版图以及密集线类型的芯片版图等。
[0197] 在训练得到芯片版图编码器之后,可以利用芯片版图编码器从多个目标芯片版图中筛选出关键芯片版图。芯片版图编码器的结构可以见与图4相关的描述,在此不再赘述。
[0198] 本申请实施例中,可以利用芯片版图编码器提取各个目标芯片版图的版图特征。接着,基于各个目标芯片版图的版图特征,对各个目标芯片版图进行聚类,得到多个目标聚类簇。任一个目标聚类簇中包括至少一个目标芯片版图。接着,从各个目标聚类簇中筛选出关键芯片版图,例如,对于任一个目标聚类簇,可以从该目标聚类簇包括的各个目标芯片版图中筛选出关键芯片版图。
[0199] 由于上述芯片版图编码器侧重于提取能区分芯片版图类型的版图特征。因此,利用芯片版图编码器提取各个目标芯片版图的版图特征,并基于各个目标芯片版图的版图特征对多个目标芯片版图进行聚类处理时,可以提高聚类结果的准确性,从各个目标聚类簇中筛选出关键芯片版图时,可以降低关键芯片版图的冗余性,提高筛选质量。
[0200] 图7所示为本申请实施例提供的一种芯片版图编码器的训练装置的结构示意图,如图7所示,该装置包括:
[0201] 获取模块701,用于获取样本芯片版图和初始编码器;
[0202] 变换模块702,用于对样本芯片版图进行几何变换,得到至少一个参考芯片版图;
[0203] 提取模块703,用于通过初始编码器提取样本芯片版图的版图特征和各个参考芯片版图的版图特征;
[0204] 训练模块704,用于基于样本芯片版图的版图特征和各个参考芯片版图的版图特征,对初始编码器进行训练,得到芯片版图编码器,芯片版图编码器用于提取目标芯片版图的版图特征。
[0205] 在一种可能的实现方式中,变换模块702,用于对样本芯片版图进行镜面翻转处理,得到对称芯片版图;对样本芯片版图和对称芯片版图进行旋转处理,得到旋转芯片版图;将对称芯片版图和旋转芯片版图作为至少一个参考芯片版图。
[0206] 在一种可能的实现方式中,提取模块703,用于通过初始编码器对样本芯片版图进行多次下采样处理,得到各个下采样特征,样本芯片版图的版图特征为最后一次下采样处理得到的下采样特征。
[0207] 在一种可能的实现方式中,装置还包括:
[0208] 重构模块,用于基于样本芯片版图的版图特征,确定重构芯片版图,重构芯片版图是基于样本芯片版图的版图特征重构出的芯片版图;
[0209] 训练模块704,用于基于样本芯片版图、重构芯片版图、样本芯片版图的版图特征和各个参考芯片版图的版图特征,对初始编码器进行训练,得到芯片版图编码器。
[0210] 在一种可能的实现方式中,重构模块,用于对样本芯片版图的版图特征进行多次上采样处理,得到各个上采样特征,重构芯片版图为基于最后一次上采样处理得到的上采样特征得到的芯片版图。
[0211] 在一种可能的实现方式中,重构模块,用于对样本芯片版图的版图特征进行第一次上采样处理,得到第一个上采样特征,样本芯片版图的版图特征是对样本芯片版图进行多次下采样处理得到的;对于任一次上采样处理得到的任一个上采样特征,获取任一个上采样特征对应的下采样特征,对样本芯片版图进行下采样处理得到任一个上采样特征对应的下采样特征时下采样处理的次数为第一次数,对样本芯片版图的版图特征进行上采样处理得到任一个上采样特征时上采样处理的次数为第二次数,第一次数与第二次数之和为目标次数;将任一个上采样特征与任一个上采样特征对应的下采样特征进行拼接,得到任一个上采样特征对应的拼接特征;对任一个上采样特征对应的拼接特征进行上采样处理,得到任一个上采样特征的下一个上采样特征。
[0212] 在一种可能的实现方式中,训练模块704,用于基于样本芯片版图的版图特征和各个参考芯片版图的版图特征,确定第一损失;基于样本芯片版图和重构芯片版图确定第二损失;基于第一损失和第二损失对初始编码器进行训练,得到芯片版图编码器。
[0213] 上述装置对样本芯片版图进行几何变换得到参考芯片版图,利用样本芯片版图的版图特征和参考芯片版图的版图特征训练初始编码器得到芯片版图编码器,使得针对几何变换前后的芯片版图,芯片版图编码器能够输出相近的版图特征。由于几何变换前后的芯片版图属于同一种芯片版图类型,因此,芯片版图编码器侧重于提取能区分芯片版图类型的版图特征,有利于后续基于版图特征对芯片版图进行聚类筛选,提高聚类准确性,降低筛选结果的冗余性。
[0214] 应理解的是,上述图7提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0215] 图8所示为本申请实施例提供的一种芯片版图的筛选装置的结构示意图,如图8所示,该装置包括:
[0216] 获取模块801,用于获取多个目标芯片版图和芯片版图编码器,芯片版图编码器是按照上述的芯片版图编码器的训练方法训练得到的;
[0217] 提取模块802,用于利用芯片版图编码器提取各个目标芯片版图的版图特征;
[0218] 聚类模块803,用于基于各个目标芯片版图的版图特征对多个目标芯片版图进行聚类处理,得到多个目标聚类簇,任一个目标聚类簇中包括至少一个目标芯片版图;
[0219] 筛选模块804,用于对于任一个目标聚类簇,从任一个目标聚类簇包括的各个目标芯片版图中筛选出关键芯片版图。
[0220] 在一种可能的实现方式中,聚类模块803,用于获取多个第一版图特征,一个第一版图特征用于表征一个第一聚类簇的聚类中心;计算各个目标芯片版图的版图特征和各个第一版图特征之间的距离;对于任一个目标芯片版图,从任一个目标芯片版图的版图特征和各个第一版图特征之间的距离中选择最小的第一距离,将任一个目标芯片版图聚在第一距离对应的第一版图特征所表征的第一聚类簇中;若各个第一聚类簇满足聚类结束条件,则将各个第一聚类簇作为各个目标聚类簇。
[0221] 在一种可能的实现方式中,聚类模块803,还用于若各个第一聚类簇不满足聚类结束条件,则对于任一个第一聚类簇,基于任一个第一聚类簇中各个目标芯片版图的版图特征,确定一个第二版图特征,一个第二版图特征用于表征一个第二聚类簇的聚类中心;计算各个目标芯片版图的版图特征和各个第二版图特征之间的距离;对于任一个目标芯片版图,从任一个目标芯片版图的版图特征和各个第二版图特征之间的距离中选择最小的第二距离,将任一个目标芯片版图聚在第二距离对应的第二版图特征所表征的第二聚类簇中;若各个第二聚类簇满足聚类结束条件,则将各个第二聚类簇作为各个目标聚类簇。
[0222] 在一种可能的实现方式中,筛选模块804,用于获取任一个目标聚类簇中各个目标芯片版图的版图特征和任一个目标聚类簇的聚类中心之间的距离;基于任一个目标聚类簇中各个目标芯片版图的版图特征和任一个目标聚类簇的聚类中心之间的距离,对任一个目标聚类簇包括的各个目标芯片版图进行均匀采样,得到多个关键芯片版图。
[0223] 在一种可能的实现方式中,装置还包括:
[0224] 优化模块,用于对关键芯片版图进行光源掩膜优化,得到目标光源和关键芯片版图对应的掩膜版图;基于目标光源对其他芯片版图进行掩膜优化,得到其他芯片版图对应的掩膜版图,其他芯片版图是各个目标芯片版图中除关键芯片版图之外的目标芯片版图。
[0225] 上述装置中的芯片版图编码器侧重于提取能区分芯片版图类型的版图特征。因此,利用芯片版图编码器提取各个目标芯片版图的版图特征,并基于各个目标芯片版图的版图特征对多个目标芯片版图进行聚类处理时,可以准确地将同一芯片版图类型的目标芯片版图聚在同一目标聚类簇中,将不同芯片版图类型的目标芯片版图聚在不同的目标聚类簇中,提高聚类结果的准确性。在从任一目标聚类簇包括的各个目标芯片版图中筛选关键芯片版图时,可以降低关键芯片版图的冗余性,提高筛选质量。
[0226] 应理解的是,上述图8提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0227] 图9示出了本申请一个示例性实施例提供的终端设备900的结构框图。该终端设备900包括有:处理器901和存储器902。
[0228] 处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field‑Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
[0229] 存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器901所执行以实现本申请中方法实施例提供的芯片版图编码器的训练方法或者芯片版图的筛选方法。
[0230] 在一些实施例中,终端设备900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、显示屏905、摄像头组件906、音频电路907和电源908中的至少一种。
[0231] 外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0232] 射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
[0233] 显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置在终端设备900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端设备900的不同表面或呈折叠设计;
在另一些实施例中,显示屏905可以是柔性显示屏,设置在终端设备900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light‑Emitting Diode,有机发光二极管)等材质制备。
[0234] 摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0235] 音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端设备900的不同部位。
麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
[0236] 电源908用于为终端设备900中的各个组件进行供电。电源908可以是交流电、直流电、一次性电池或可充电电池。当电源908包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0237] 在一些实施例中,终端设备900还包括有一个或多个传感器909。该一个或多个传感器909包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、光学传感器914以及接近传感器915。
[0238] 加速度传感器911可以检测以终端设备900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
[0239] 陀螺仪传感器912可以检测终端设备900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端设备900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0240] 压力传感器913可以设置在终端设备900的侧边框和/或显示屏905的下层。当压力传感器913设置在终端设备900的侧边框时,可以检测用户对终端设备900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在显示屏905的下层时,由处理器901根据用户对显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0241] 光学传感器914用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器914采集的环境光强度,控制显示屏905的显示亮度。具体地,当环境光强度较高时,调高显示屏905的显示亮度;当环境光强度较低时,调低显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器914采集的环境光强度,动态调整摄像头组件906的拍摄参数。
[0242] 接近传感器915,也称距离传感器,通常设置在终端设备900的前面板。接近传感器915用于采集用户与终端设备900的正面之间的距离。在一个实施例中,当接近传感器915检测到用户与终端设备900的正面之间的距离逐渐变小时,由处理器901控制显示屏905从亮屏状态切换为息屏状态;当接近传感器915检测到用户与终端设备900的正面之间的距离逐渐变大时,由处理器901控制显示屏905从息屏状态切换为亮屏状态。
[0243] 本领域技术人员可以理解,图9中示出的结构并不构成对终端设备900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0244] 图10为本申请实施例提供的服务器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器1001和一个或多个的存储器1002,其中,该一个或多个存储器1002中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器1001加载并执行以实现上述各个方法实施例提供的芯片版图编码器的训练方法或者芯片版图的筛选方法,示例性的,处理器1001为CPU。当然,该服务器1000还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1000还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0245] 在示例性实施例中,还提供了一种计算机可读存储介质,该存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以使电子设备实现上述任一种芯片版图编码器的训练方法或者芯片版图的筛选方法。
[0246] 可选地,上述计算机可读存储介质可以是只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read‑Only Memory,CD‑ROM)、磁带、软盘和光数据存储设备等。
[0247] 在示例性实施例中,还提供了一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行,以使电子设备实现上述任一种芯片版图编码器的训练方法或者芯片版图的筛选方法。
[0248] 应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0249] 上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0250] 以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。