CN116912272A - 创建候选剪辑区域的方法、装置、电子设备及存储介质 - Google Patents

创建候选剪辑区域的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116912272A
CN116912272A CN202311181981.XA CN202311181981A CN116912272A CN 116912272 A CN116912272 A CN 116912272A CN 202311181981 A CN202311181981 A CN 202311181981A CN 116912272 A CN116912272 A CN 116912272A
Authority
CN
China
Prior art keywords
area
clip
finding
region
clipping
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.)
Granted
Application number
CN202311181981.XA
Other languages
English (en)
Other versions
CN116912272B (zh
Inventor
邓宇
贺旭
刘征
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Phytium Technology Co Ltd
Original Assignee
Hunan University
Phytium Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hunan University, Phytium Technology Co Ltd filed Critical Hunan University
Priority to CN202311181981.XA priority Critical patent/CN116912272B/zh
Publication of CN116912272A publication Critical patent/CN116912272A/zh
Application granted granted Critical
Publication of CN116912272B publication Critical patent/CN116912272B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Architecture (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本申请提出一种创建候选剪辑区域的方法、装置、电子设备及存储介质,该方法包括:根据集成电路版图的标记区域,以及标记区域对应的剪辑区域的尺寸,确定各个标记区域各自对应的剪辑寻找区域;其中,所述标记区域为潜在热点位置所在的版图区域,所述标记区域对应的剪辑区域为中心点位于所述标记区域内、并且包含所述标记区域的版图区域;确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域;在所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域内,创建候选剪辑区域。以通过该方法创建的候选剪辑区域为基础进行剪辑区域聚类,降低剪辑区域聚类数量。

Description

创建候选剪辑区域的方法、装置、电子设备及存储介质
技术领域
本申请涉及集成电路设计技术领域,尤其涉及一种创建候选剪辑区域的方法、装置、电子设备及存储介质。
背景技术
随着集成电路特征尺寸的不断缩小,集成电路版图的光刻热点的检测已成为集成电路可制造性设计(Design-for-Manufacturability, DFM)的主要问题之一。为了降低版图中热点检测时间成本,可以以版图剪辑(Clip)区域为单位,将相似度高的剪辑区域聚类,每个聚类内的剪辑区域可以统一由聚类的代表性剪辑区域进行热点判别分类和热点修正。
为了最大限度地减少后续DFM处理时间,将相似度高的剪辑区域聚类,并降低聚类数量是剪辑区域聚类问题的关键。
在剪辑区域聚类过程中,针对给定的集成电路版图,根据已知的标记区域、剪辑区域尺寸和剪辑区域聚类规则,从版图中创建剪辑区域进行聚类。其中,在创建剪辑区域时,对应一个标记区域,可以创建很多候选剪辑区域,然后再从候选剪辑区域中选择剪辑区域进行聚类。如果枚举创建每个标记区域可能产生的所有候选剪辑区域,则会导致聚类爆炸,影响聚类效率。
发明内容
基于上述技术问题,本申请提出一种创建候选剪辑区域的方法、装置、电子设备及存储介质,可以使得基于创建的候选剪辑区域进行剪辑区域聚类,降低剪辑区域聚类数量。
为了达到上述技术目的,本申请具体提出如下技术方案:
一种创建候选剪辑区域的方法,包括:根据集成电路版图的标记区域,以及标记区域对应的剪辑区域的尺寸,确定各个标记区域各自对应的剪辑寻找区域;其中,所述标记区域为潜在热点位置所在的版图区域,所述标记区域对应的剪辑区域为中心点位于所述标记区域内、并且包含所述标记区域的版图区域;所述剪辑寻找区域表示包含标记区域对应的全部剪辑区域的区域;确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域;所述最大匹配区域表示面积最大的相匹配区域,所述相匹配区域包括相同或者相似度大于设定相似度阈值区域;在所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域内,创建候选剪辑区域。
在一些实现方式中,确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域,包括:确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案;根据所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域。
在一些实现方式中,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,包括:确定所述第一剪辑寻找区域对应的第一矩形列表和所述第二剪辑寻找区域对应的第二矩形列表,所述矩形列表通过对剪辑寻找区域所包含的直线多边形版图图案进行矩形分割及排列而确定;确定所述第一矩形列表和所述第二矩形列表之间的公共矩形子列表;根据所述公共矩形子列表,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案。
在一些实现方式中,确定所述第一矩形列表和所述第二矩形列表之间的公共矩形子列表,包括:根据所述第一矩形列表中的各个矩形的尺寸、相对位置和排列顺序,以及所述第二矩形列表中的各个矩形的尺寸、相对位置和排列顺序,从所述第一矩形列表和所述第二矩形列表中,筛选出所包含的各个矩形的排列顺序、所包含的各个矩形的尺寸,以及所包含的各个矩形的相对位置均相同,并且具有最大公共面积的矩形子列表,作为所述第一矩形列表和所述第二矩形列表之间的公共矩形子列表。
在一些实现方式中,根据所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域,包括:基于所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,将所述第一剪辑寻找区域和所述第二剪辑寻找区域对齐;确定将所述第一剪辑寻找区域和所述第二剪辑寻找区域对齐后,所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的重合区域;从所述重合区域中,确定出所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域。
在一些实现方式中,从所述重合区域中,确定出所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域,包括:从所述第一剪辑寻找区域中的所述重合区域,以及所述第二剪辑寻找区域中的所述重合区域中,确定出图案一致的最大矩形区域,作为所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域。
在一些实现方式中,从所述第一剪辑寻找区域中的所述重合区域,以及所述第二剪辑寻找区域中的所述重合区域中,确定出图案一致的最大矩形区域,包括:对所述第一剪辑寻找区域和所述第二剪辑寻找区域中的所述重合区域分别进行矩形区域分割,并对分割得到的各个矩形区域进行赋值,其中,包含版图图案的矩形区域的值为第一值,不包含版图图案的矩形区域的值为第二值;对赋值后的所述第一剪辑寻找区域的所述重合区域,与赋值后的所述第二剪辑寻找区域的所述重合区域进行异或运算;从所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述重合区域的异或运算结果中,确定出异或运算结果为0的矩形区域所构成的最大矩形区域,作为所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述重合区域中图案一致的最大矩形区域。
在一些实现方式中,在所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域内,创建候选剪辑区域,包括:从所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域的横坐标上选取第一数量的候选横坐标点,以及,从所述最大匹配区域的纵坐标上选取第二数量的候选纵坐标点;根据所述第一数量的候选横坐标点以及所述第二数量的候选纵坐标点,组合确定候选剪辑区域中心点位置;在各个候选剪辑区域中心点位置处,分别创建对应的候选剪辑区域。
一种创建候选剪辑区域的装置,包括:第一处理单元,用于根据集成电路版图的标记区域,以及标记区域对应的剪辑区域的尺寸,确定各个标记区域各自对应的剪辑寻找区域;其中,所述标记区域为潜在热点位置所在的版图区域,所述标记区域对应的剪辑区域为中心点位于所述标记区域内、并且包含所述标记区域的版图区域;第二处理单元,用于确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域;第三处理单元,用于在所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域内,创建候选剪辑区域。
一种电子设备,包括存储器和处理器;所述存储器与所述处理器连接,用于存储程序;所述处理器用于通过运行所述存储器中的程序,实现上述的创建候选剪辑区域的方法。
一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现上述的创建候选剪辑区域的方法。
本申请提出的创建候选剪辑区域的方法,在从标记区域中提取候选剪辑区域时,并不是枚举每个标记区域可能创建的所有候选剪辑区域,而是先确定各个标记区域对应的剪辑寻找区域,然后确定任意两个剪辑寻找区域之间的最大匹配区域,也就是相同或相似区域,然后从两个剪辑寻找区域之间的最大匹配区域内创建候选剪辑区域。该处理过程先对各个标记区域对应的剪辑寻找区域进行匹配,然后再从不同剪辑寻找区域的相同或相似区域中创建候选剪辑区域,这样可以使得创建出的候选剪辑区域是相似的、有利于聚类的候选剪辑区域,基于这些候选剪辑区域再进行后续的聚类处理,可以减少聚类数量、提高聚类效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1(a)-图1(c)为本申请实施例提供的一组集成电路版图的剪辑区域聚类示意图。
图2为本申请实施例提供的一种创建候选剪辑区域的方法的流程示意图。
图3(a)-图3(d)为本申请实施例提供的一组剪辑寻找区域的提取过程示意图。
图4(a)-图4(d)为本申请实施例提供的确定两个剪辑寻找区域之间的最大匹配区域的处理过程示意图。
图5为本申请实施例提供的一种创建候选剪辑区域的装置的结构示意图。
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,对于本申请实施例技术方案所涉及的技术术语进行介绍:
集成电路版图,是集成电路设计中最底层步骤物理设计的成果,是真实集成电路物理情况的平面几何形状描述。在集成电路版图中,包含了各硬件单元在芯片上的形状、面积、位置等信息。
标记(Marker)区域,通过在每个芯片层上检测潜在热点位置所得。标记区域不一定与任何版图图案重叠,在大多数情况下,标记区域要比剪辑区域小得多。
剪辑(Clip)区域,一个版图中的矩形区域,通常是比标记区域更大的区域,对于每个剪辑区域,其中心点必须落在某个标记区域内。在本申请实施例中,用wc和hc分别表示剪辑区域的宽度和高度。
候选剪辑区域(Candidate-Clip),当为标记区域创建对应的剪辑区域时,可生成许多中心点落入标记区域内的候选剪辑区域。在聚类时只需选择其中一个作为对应标记区域的剪辑区域即可。
聚类(Cluster),是指根据指定的相似性规则要求,将满足该相似性规则要求的剪辑区域分配到同一组。
代表性剪辑(Representative Clip)区域,代表性剪辑区域与所属同一个聚类的所有其他剪辑区域都满足相似性规则要求。每个聚类对应一个代表性剪辑区域。
在集成电路设计领域中,随着集成电路特征尺寸的不断缩小,集成电路版图的光刻热点的检测已成为集成电路可制造性设计(Design-for-Manufacturability, DFM)的主要问题之一。为了降低版图中热点检测时间成本,可以以版图剪辑(Clip)区域为单位,将相似度高的剪辑区域聚类,每个聚类内的剪辑区域可以统一由聚类的代表性剪辑区域进行热点判别分类和热点修正。
为了最大限度地减少后续DFM处理时间,将相似度高的剪辑区域聚类,并降低聚类数量是剪辑区域聚类问题的关键。
在剪辑区域聚类过程中,针对给定的集成电路版图,根据已知的标记区域、剪辑区域尺寸和剪辑区域聚类规则,从版图中提取剪辑区域进行聚类。其中,在提取剪辑区域时,对应一个标记区域,可以产生很多候选剪辑区域,如果枚举每个标记区域可能产生的所有候选剪辑区域,则会导致聚类爆炸,影响聚类效率。
图1(a)-图1(c)示出了剪辑区域聚类的一种示例。如图1(a)左侧图所示,给定一份集成电路版图,对于其中的某个版图区域,放大后即为图1(a)右侧图所示,在图1(a)右侧图中,灰色图形表示版图图案,用较粗实线条构成的面积较小的矩形框表示标记区域,标记区域内的“×”所示位置为剪辑区域中心位置,用虚线框构成的面积较大的矩形框表示剪辑区域,与剪辑区域同等面积、用较细实线条构成的矩形框表示移动后的候选剪辑区域。
如图1(a)右侧图所示,在简化情况下,可以将剪辑区域的中心设置为其对应的标记区域的中心,这样每个标记区域就只对应一个剪辑区域,这样,对个标记区域对应的剪辑区域进行聚类,可以得到如图1(b)所示的3组聚类结果。
但是在实际情况中,并不是一个标记区域只对应一个剪辑区域。标记区域只是剪辑区域的中心所在的区域范围,剪辑区域的中心可以在其对应的标记区域范围内移动,因此,一个标记区域会对应多个剪辑区域。如果将图1(a)右侧图中所示的剪辑区域的中心在其对应的标记区域范围内移动,可以针对图中的各个标记区域,分别找到一个合适的剪辑区域,使得各个标记区域对应的剪辑区域都相同,使得各个标记区域对应的剪辑区域的聚类结果,成为如图1(c)所示的聚类结果,即将3组聚类结果降低为1组,达到了减少聚类数量的目的。
通过上述介绍可见,如果能够从标记区域中选出合适的剪辑区域,那么将会有利于降低剪辑区域聚类数量。因此,如何从标记区域构建剪辑区域,就成了研究热点问题。
如上文所述,在一个标记区域内,可以产生很多剪辑区域,从这些剪辑区域中可以再选择合适的剪辑区域进行聚类。因此,要想使选出的剪辑区域有利于降低聚类数量,那么应当首先保证在标记区域内创建的候选剪辑区域是有利于聚类的候选剪辑区域。如果针对标记区域创建的候选剪辑区域是相似的候选剪辑区域,那么从候选剪辑区域中选出的剪辑区域,必定是相似的、利于降低聚类数量的剪辑区域。
针对上述情况,本申请实施例提出一种创建候选剪辑区域的方法,该方法能够在集成电路版图的不同标记区域中,生成相似的候选剪辑区域,从而能够降低对集成电路版图上的剪辑区域的聚类数量。
本申请实施例提出的创建候选剪辑区域的方法,可以应用于具有数据处理功能的硬件设备上,该硬件设备,包括但不限于计算机、智能终端、手持终端、可穿戴设备、服务器等等。
示例性方法
参见图2所示,本申请实施例提出的创建候选剪辑区域的方法,包括:
S101、根据集成电路版图的标记区域,以及标记区域对应的剪辑区域的尺寸,确定各个标记区域各自对应的剪辑寻找区域。
其中,所述标记区域为潜在热点位置所在的版图区域,具体如图1(a)右侧图中所示的较粗实线条构成的面积较小的矩形框所示的区域,即为标记区域。
所述标记区域对应的剪辑区域为中心点位于所述标记区域内、并且包含所述标记区域的版图区域,具体例如图1(a)右侧图中所示的较细实线条构成的面积较大、并且包含标记区域的矩形框所示的区域,即为标记区域对应的剪辑区域。
上述的标记区域对应的剪辑寻找区域(Candidate-Scope),是指与标记区域对应的、能够从中找到该标记区域对应的全部剪辑区域的区域。在本申请实施例中,标记区域对应的剪辑寻找区域,即为包含标记区域对应的全部剪辑区域的最小区域,也就是包含标记区域对应的全部剪辑区域的最小外接矩形框所限定的区域。
如图3(a)所示,对于尺寸大小为wm × hm的标记区域,假设与该标记区域对应的剪辑区域尺寸大小为hc × wc,则该标记区域对应的剪辑寻找区域(Candidate-Scope)的中心被设置为该标记区域的中心,剪辑寻找区域(Candidate-Scope)的尺寸大小为(wc+wm)× (hc+hm)。这样,所有在该剪辑寻找区域(Candidate-Scope)范围内的,大小为hc × wc的剪辑,其中心点都落在标记区域范围内。
基于图3(a)所示,可以以标记区域的中心为剪辑寻找区域(Candidate-Scope)的中心点、以标记区域和标记区域对应的候选剪辑区域的宽度之和作为剪辑寻找区域的宽,以标记区域和标记区域对应的候选剪辑区域的高度之和作为剪辑寻找区域的高,确定与标记区域对应的剪辑寻找区域。
基于上述处理,可以针对集成电路版图中的每个标记区域,分别确定与之对应的剪辑寻找区域,即可得到该集成电路版图所包含的全部剪辑寻找区域。
进一步的,本申请实施例还对上述集成电路版图中的全部剪辑寻找区域,进行合并处理,也就是将完全相同的剪辑寻找区域进行合并,从而减少剪辑寻找区域的数量,进而减少创建候选剪辑区域的数量。
参见图3(b)所示,对于集成电路版图中的任意一个剪辑寻找区域,首先将其中包含的版图图案,也就是如图中灰度区域所示的直线多边形图案,划分为矩形,得到多边形1和多边形2。然后,如图3(c)所示,将剪辑寻找区域中划分出的矩形中的边沿对齐的相邻矩形,进行合并,得到合并后的直线多边形图案。其次,对于图3(c)所示的剪辑寻找区域,通过对齐其中的各个矩形的(x,y)坐标,得到若干水平/垂直线,将该剪辑寻找区域划分为非均匀网格。如图3(d)所示,将每个网格根据是否有版图图案覆盖填充1或0,所得网格填充信息可以表示为0/1矩阵,以及对应的水平和垂直网格坐标列表,作为对整个剪辑寻找区域的表示。在获得所有标记区域对应的剪辑寻找区域表示后,将相同的剪辑寻找区域合并以减小后续聚类问题规模。
S102、确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域。
具体的,由于枚举每个标记区域的所有候选剪辑区域是不切实际的,并且版图中的图案会在整个集成电路版图中重复出现,相似的剪辑区域会比较常见,与其为每个标记区域寻找所有可能的候选剪辑区域,不如根据不同标记区域对应的剪辑寻找区域内的图案,在各自剪辑寻找区域内生成高度相似的候选剪辑区域来优化聚类。
因此,本申请实施例将优化剪辑区域聚类问题,转化为在集成电路版图中的各个剪辑寻找区域中生成高度相似的候选剪辑区域的问题,即,本申请实施例意在从集成电路版图中的各个剪辑寻找区域中创建相似的候选剪辑区域。
为了从集成电路版图中的各个剪辑寻找区域中创建相似的候选剪辑区域,本申请实施例先寻找集成电路版图中的各个剪辑寻找区域中的任意两个剪辑寻找区域之间的最大匹配区域。该最大匹配区域,是指两个剪辑寻找区域之间的面积最大的相匹配区域,其中,上述的相匹配区域,是指相同的区域,或者高度相似的区域,比如相似度大于设定相似度阈值的区域。在本申请实施例中,将上述的相似度阈值设置为较高阈值,比如设置为98%。
然后,再从任意两个剪辑寻找区域之间的最大匹配区域中创建,创建与两个剪辑寻找区域各自对应的候选剪辑区域,即可使创建出的对应这两个剪辑寻找区域的候选剪辑区域相同或高度相似。
基于上述技术思想,在从集成电路版图中确定出各个标记区域对应的剪辑寻找区域后,对于各个剪辑寻找区域中的任意两个剪辑寻找区域,首先计算确定两者之间的最大匹配区域。
将各个剪辑寻找区域中的任意两个剪辑寻找区域分别作为第一剪辑寻找区域和第二剪辑寻找区域,然后确定第一剪辑寻找区域与第二剪辑寻找区域之间的最大匹配区域。针对各个剪辑寻找区域中的任意两个,均可以按照上述方式确定两者的最大匹配区域。
示例性的,可以将第一剪辑寻找区域与第二剪辑寻找区域进行对比,从中可以找出两者之间相匹配(相同或高度相似)的最大区域;或者,可以将第一剪辑寻找区域和第二剪辑寻找区域进行配准,将两者根据所包含的版图图案进行对齐,然后将两者完全对齐的部分,确定为两者之间的最大匹配区域。
S103、在所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域内,创建候选剪辑区域。
在确定第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域之后,在第一剪辑寻找区域和第二剪辑寻找区域的最大匹配区域内,分别创建候选剪辑区域,即创建得到与第一剪辑寻找区域和第二剪辑寻找区域各自对应的标记区域的候选剪辑区域。
具体的,在第一剪辑寻找区域的该最大匹配区域范围内,创建候选剪辑区域,得到与第一剪辑寻找区域对应的候选剪辑区域,也就是得到第一剪辑寻找区域对应的标记区域的候选剪辑区域。
以及,在第二剪辑寻找区域的该最大匹配区域范围内,创建候选剪辑区域,得到与第二剪辑寻找区域对应的候选剪辑区域,也就是得到第二剪辑寻找区域对应的标记区域的候选剪辑区域。
其中,在上述的最大匹配区域内创建候选剪辑区域的数量、创建候选剪辑区域的中心位置,均可以灵活设置。
由于候选剪辑区域的创建,是在两个相同或高度相似的区域内创建的,因此在第一剪辑寻找区域内创建的候选剪辑区域,与在第二剪辑寻找区域内创建的候选剪辑区域,也是相同或者高度相似的。
因此,按照本申请实施例上述方法,能够在集成电路版图中,创建得到相同或相似的候选剪辑区域,这些候选剪辑区域,有利于后续选取剪辑区域进行聚类从而降低聚类数量,提高聚类效率。
通过上述介绍可见,本申请实施例提出的创建候选剪辑区域的方法,在从标记区域中提取候选剪辑区域时,并不是枚举每个标记区域可能创建的所有候选剪辑区域,而是先确定各个标记区域对应的剪辑寻找区域,然后确定任意两个剪辑寻找区域之间的最大匹配区域,也就是相同或相似区域,然后从两个剪辑寻找区域之间的最大匹配区域内创建候选剪辑区域。该处理过程先对各个标记区域对应的剪辑寻找区域进行匹配,然后再从不同剪辑寻找区域的相同或相似区域中创建候选剪辑区域,这样可以使得创建出的候选剪辑区域是相似的、有利于聚类的候选剪辑区域,基于这些候选剪辑区域再进行后续的聚类处理,可以减少聚类数量、提高聚类效率。
在一些实现方式中,在确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域时,可以通过执行如下步骤A1-A2实现:
A1、确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案。
具体的,对于各个剪辑寻找区域中的任意两个剪辑寻找区域,将其分别作为第一剪辑寻找区域和第二剪辑寻找区域。在第一剪辑寻找区域和第二剪辑寻找区域中,都分别包含一些版图图案。第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案,是指同时出现在第一剪辑寻找区域以及第二剪辑寻找区域所包含的版图图案中的、最大面积的版图图案,也就是第一剪辑寻找区域所包含的版图图案与第二剪辑寻找区域所包含的版图图案之间完全相同的、最大面积的部分版图图案。
示例性的,通过将第一剪辑寻找区域中的版图图案,与第二剪辑寻找区域中的版图图案进行对比、匹配,可以确定两者所包含的版图图案中的最大相同部分,即得到两者之间的最大公共版图图案。
在一些实现方式中,可以通过执行如下步骤A11-A13的处理,确定第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案:
A11、确定所述第一剪辑寻找区域对应的第一矩形列表和所述第二剪辑寻找区域对应的第二矩形列表,所述矩形列表通过对剪辑寻找区域所包含的直线多边形版图图案进行矩形分割及排列而确定。
具体的,对于第一剪辑寻找区域和第二剪辑寻找区域中所包含的直线多边形版图图案,可以对其进行矩形分割,然后按照分割得到的矩形的位置坐标对分割得到的矩形进行排列,得到矩形列表。
如图4(a)所示,在第一剪辑寻找区域cs1(Candidate-Scope cs1)中,包含直线多边形版图图案p1,在第二剪辑寻找区域cs2(Candidate-Scope cs2)中,包含直线多边形版图图案p1′。如图4(b)所示,对第一剪辑寻找区域cs1和第二剪辑寻找区域cs2中的直线多边形版图图案进行矩形划分,划分得到的矩形由其左下角和右上角坐标表示,一个直线多边形版图图案中的矩形按其左下角坐标进行排序,得到第一剪辑寻找区域cs1对应的第一矩形列表为(r1, r2, r3, r4, r5),第二剪辑寻找区域cs2对应的第二矩形列表为(r1′,r2′, r3′, r4′, r5′)。
A12、确定所述第一矩形列表和所述第二矩形列表之间的公共矩形子列表。
在确定第一剪辑寻找区域对应的第一矩形列表,以及确定第二剪辑寻找区域对应的第二矩形列表之后,本申请实施例继续确定第一矩形列表和第二矩形列表之间的公共矩形子列表,即确定第一矩形列表和第二矩形列表之间完全相同的矩形子列表。
示例性的,将第一矩形列表构成的图案,与第二矩形列表构成的图案进行对比、匹配,确定两者之间完全相同的图案部分,然后将该部分图案所包含的矩形列表,作为两者的公共矩形子列表。
在一些实现方式中,由于第一矩形列表和第二矩形列表是由一些矩形按照位置进行排列得到的,也就是说,第一矩形列表和第二矩形列表包含了构成列表的矩形本身的信息,以及矩形相互之间的空间位置信息。因此,可以基于第一矩形列表和第二矩形列表中的各个矩形的尺寸、相对位置和排列顺序,从第一矩形列表和第二矩形列表中确定出公共矩形子列表。
也就是,根据第一矩形列表中的各个矩形的尺寸、相对位置和排列顺序,以及第二矩形列表中的各个矩形的尺寸、相对位置和排列顺序,从第一矩形列表和第二矩形列表中,筛选出所包含的各个矩形的排列顺序、所包含的各个矩形的尺寸,以及所包含的各个矩形的相对位置均相同,并且具有最大公共面积的矩形子列表,作为第一矩形列表和第二矩形列表之间的公共矩形子列表。
例如图4(b)所示,对于第一矩形列表(r1, r2, r3, r4, r5),和第二矩形列表(r1′, r2′, r3′, r4′, r5′),从两者中查找所包含的各个矩形的排列顺序、所包含的各个矩形的尺寸,以及所包含的各个矩形的相对位置均相同的矩形子列表,即可得到图中灰度表示的子列表,即为第一矩形列表(r1, r2, r3, r4, r5)和第二矩形列表(r1′, r2′,r3′, r4′, r5′)之间的公共矩形子列表。该公共矩形子列表在第一矩形列表(r1, r2, r3,r4, r5)中为子列表(r1, r2, r3),在第二矩形列表(r1′, r2′, r3′, r4′, r5′)中为子列表(r3′, r4′, r5')。
在一些实现方式中,确定上述第一矩形列表和第二矩形列表之间的公共矩形子列表,可以采用动态规划算法来实现,该算法类似于经典的计算最长公共子串(LongestCommon Subsequence, LCS)问题的算法,不同之处在于: (a) 目标不同:本申请实施例所求的公共矩形子列表是具有最大公共面积的子列表,而不是长度最长的子串;(b) 比较标准不同:公共矩形子列表中的各个矩形,不仅满足相同的排列顺序,相同的矩形大小,还要保证前后矩形相对位置相同。基于上述区别,对经典的动态规划算法进行优化,即可用于确定第一矩形列表和第二矩形列表之间的公共矩形子列表。
A13、根据所述公共矩形子列表,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案。
具体的,第一剪辑寻找区域中的所述公共矩形子列表所构成的版图图案,与第二剪辑寻找区域中的所述公共矩形子列表所构成的版图图案,是一致的,该版图图案,即为第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案。
A2、根据所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域。
具体的,在确定第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案之后,从第一剪辑寻找区域以及第二剪辑寻找区域中,分别以该最大公共版图图案为基准,筛选包含或者部分包含该最大公共版图图案的、完全相同的区域,即得到第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域。
比如,以第一剪辑寻找区域和第二剪辑寻找区域中的上述最大公共版图图案的外边界为基准,逐步向外扩张得到包含该最大公共版图图案的图形区域,直至在第一剪辑寻找区域中扩张得到的图形区域与在第二剪辑寻找区域中扩张得到的图形区域不一致,则停止扩张,并将得到的第一个不一致的图像区域之前得到的图像区域,作为第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域。
在一些实现方式中,可以通过执行如下A21-A23的步骤,实现根据第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案,确定第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域:
A21、基于所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,将所述第一剪辑寻找区域和所述第二剪辑寻找区域对齐。
具体的,第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案,本质上是第一剪辑寻找区域和第二剪辑寻找区域中的完全相同的版图图案。
因此,可以以第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案为基准,将第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案对齐,从而实现第一剪辑寻找区域和第二剪辑寻找区域的对齐。
A22、确定将所述第一剪辑寻找区域和所述第二剪辑寻找区域对齐后,所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的重合区域。
具体的,由于上述的第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案,在第一剪辑寻找区域中的位置,以及在第二剪辑寻找区域中的位置,可能是不同的,因此,在将第一剪辑寻找区域和第二剪辑寻找区域中的最大公共版图图案对齐后,第一剪辑寻找区域和第二剪辑寻找区域并不会完全重合,而是只有部分区域重合,本申请实施例将按照上述方式将第一剪辑寻找区域和第二剪辑寻找区域对齐后,第一剪辑寻找区域和第二剪辑寻找区域完全重合的部分,作为两者之间的重合区域。
例如图4(c)所示,将第一剪辑寻找区域cs1中的最大公共版图图案(由r1, r2, r3构成的版图图案),与第二剪辑寻找区域cs2中的最大公共版图图案(由r3′, r4′, r5'构成的版图图案)对齐后,第一剪辑寻找区域cs1中的aw1所示虚线框区域,与第二剪辑寻找区域cs2中的aw2所示虚线框区域完全重合,因此,aw1和aw2所示区域,即为第一剪辑寻找区域cs1和第二剪辑寻找区域cs2之间的重合区域。
A23、从所述重合区域中,确定出所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域。
具体的,在第一剪辑寻找区域和第二剪辑寻找区域之间的重合区域中,除了包含第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案之外,还可以包含其他图案,比如可以包括其他的矩形版图图案,或者包含其他矩形版图图案的部分图案。或者,在上述的重合区域中,也可以只包含第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案。
例如图4(c)所示,在aw1中,除了包含由r1, r2, r3构成的版图图案(最大公共版图图案)之外,还包含第一剪辑寻找区域cs1中的版图图案p2的部分图案;在aw2中,除了包含由r3′, r4′, r5'构成的版图图案(最大公共版图图案)之外,还包含第二剪辑寻找区域cs2中的版图图案p2′的部分图案。
因此,第一剪辑寻找区域中的重合区域,与第二剪辑寻找区域中的重合区域,虽然能重合,但是重合区域内的图案并不一定完全一致。也就是说,第一剪辑寻找区域和第二剪辑寻找区域的重合区域的相似度并不一定高。
为了从第一剪辑寻找区域和第二剪辑寻找区域中找出相同区域或高度相似区域,本申请实施例进一步从第一剪辑寻找区域和第二剪辑寻找区域的重合区域中,寻找完全一致的最大区域,作为第一剪辑寻找区域和第二剪辑寻找区域的最大匹配区域。
示例性的,将第一剪辑寻找区域中的重合区域,与第二剪辑寻找区域中的重合区域,进行区域内图案比对,从第一剪辑寻找区域中的重合区域,以及第二剪辑寻找区域中的重合区域中,确定出图案一致的最大矩形区域,作为第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域。
在一些实现方式中,通过执行如下步骤A231-A233,即可按照上述思路,确定出第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域:
A231、对所述第一剪辑寻找区域和所述第二剪辑寻找区域中的所述重合区域分别进行矩形区域分割,并对分割得到的各个矩形区域进行赋值,其中,包含版图图案的矩形区域的值为第一值,不包含版图图案的矩形区域的值为第二值。
如图4(d)所示,以重合区域内的版图图案的每一段外边界所在直线为分割线,对整个重合区域进行非均匀矩形划分,可以将第一剪辑寻找区域cs1中的重合区域aw1分割为多个非均匀矩形区域,以及,将第二剪辑寻找区域cs2中的重合区域wa2分割为多个非均匀矩形区域。划分得到的非均匀矩形区域的水平方向上的分割线坐标集合表示为h_list,垂直方向上的分割线坐标集合表示为v_list。
在矩形区域分割的基础上,对于分割出的矩形区域,按照其是否包含集成电路版图图案,对矩形区域进行赋值。若矩形区域包含版图图案,则将其值设置为第一值,在本申请实施例中设置为1,若矩形区域不包含版图图案,则将其值设置为第二值,在本申请实施例中设置为0。
A232、对赋值后的所述第一剪辑寻找区域的所述重合区域,与赋值后的所述第二剪辑寻找区域的所述重合区域进行异或运算。
如图4(d)所示,将矩形分割以及赋值后的重合区域aw1和aw2,进行异或运算XOR(aw1, aw2),并且对aw1和aw2的h_list和v_list分别合并,合并后的重合区域内水平方向分割线坐标集合为h_list = (x1, x2, x3, x4, x5′, x6′, x5),垂直方向分割线坐标集合为v_list = (y1, y2)。
然后根据异或结果,对合并后的重合区域内的各个矩形区域进行填充,构造相应的(0, 1)填充矩阵。其中,具有填充为“0”的矩形区域表示aw1和aw2的相同部分,填充为“1”的矩形区域表示aw1和aw2的不同部分。
A233、从所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述重合区域的异或运算结果中,确定出异或运算结果为0的矩形区域所构成的最大矩形区域,作为所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述重合区域中图案一致的最大矩形区域。
具体的,对第一剪辑寻找区域的重合区域,与第二剪辑寻找区域的重合区域进行异或运算之后,寻找最大匹配区域的问题,可以转化为寻找异或运算后的重合区域中的填充为“0”的矩形区域所构成的最大矩形区域的问题。
因此,本申请实施例从第一剪辑寻找区域和第二剪辑寻找区域的重合区域的异或运算结果中,寻找异或运算后结果为0的矩形区域所构成的最大矩形区域,即图4(d)中XOR(aw1, aw2)所示的重合区域中的mmr12所示的虚线框区域,得到第一剪辑寻找区域和第二剪辑寻找区域的重合区域中的图案一致的最大矩形区域,也就是得到第一剪辑寻找区域和第二剪辑寻找区域的最大匹配区域。
在一些实现方式中,找到用“0”填充的最大矩形区域的问题,可以建模为直方图算法(Histogram Algorithm)进行求解。直方图是数据的一种图形表示。在本问题中,从顶部或底部开始,(0, 1)直方图矩阵中每个元素的对应直方图值被记录为填充有“0”的列高度(即,从顶部方向或底部方向开始的列中连续0的数量),并获得直方图矩阵。使用直方图数据,可以遍历直方图矩阵的每一行,计算填充“0”的最大矩形区域。如果当前行的计算面积大于先前计算的面积,则将最大矩形设置为新找到的矩形。遍历矩阵的所有行之后,得到矩阵的最大匹配区域。在本问题中,最大匹配区域不是(0, 1)矩阵中由“0”填充的元素数量最多的区域,而是面积最大的区域。
经过上述处理确定第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域之后,即可在最大匹配区域内创建候选剪辑区域。在一些实现方式中,在创建候选剪辑区域之前,还判断该最大匹配区域的面积是否大于剪辑区域面积,比如是否大于wc × hc,如果大于,则可以继续创建候选剪辑区域,如果不大于,则不创建候选剪辑区域。
在一些实现方式中,在第一剪辑寻找区域和第二剪辑寻找区域的所述最大匹配区域内,创建候选剪辑区域时,可以有选择性的选择在特定位置生成少量的候选剪辑区域,从而进一步降低后续的聚类数量。
具体而言,在创建候选剪辑区域时,先分别从第一剪辑寻找区域和第二剪辑寻找区域的所述最大匹配区域的横坐标上选取第一数量的候选横坐标点,以及,分别从所述最大匹配区域的纵坐标上选取第二数量的候选纵坐标点。也就是说,从上述的最大匹配区域内,选取第一数量的横坐标点,以及第二数量的纵坐标点。作为优选的实现方式,在选取横坐标点和纵坐标点时,选择均匀分布的横坐标点和纵坐标点。比如在x方向上选择最大匹配区域的左边界、中心和右边界三个位置的坐标点,作为候选横坐标点,同理,在y方向上选择最大匹配区域的下边界、中心和上边界三个位置的坐标点,作为候选纵坐标点。
然后根据选出的第一数量的候选横坐标点和第二数量的候选纵坐标点,组合确定候选剪辑区域中心点位置。具体而言,将第一数量的候选横坐标点和第二数量的候选纵坐标点组合的交叉点位置,作为候选剪辑区域中心点位置。
最后,在各个候选剪辑区域中心点位置处,分别创建对应的候选剪辑区域。也就是,以每个候选剪辑区域中心点位置为中心,生成候选剪辑区域,即可得到与剪辑寻找区域对应的标记区域的候选剪辑区域。
上述的方案可以通过调整候选横坐标点和候选纵坐标点的数量,控制创建的候选剪辑区域的数量,从而达到控制剪辑区域聚类数量的目的,有利于减少聚类数量。
通过上述介绍可知,本申请实施例提出的创建候选剪辑区域的方法,通过生成高度相似或相同的候选剪辑区域,从而实现降低剪辑区域聚类数量的目的。
本申请实施例还针对所提出的方案进行了实验,充分验证了本申请实施例提出的创建候选剪辑区域的方法,在实际应用中能够真实地减少聚类数量。
实验中使用了ICCAD 2016竞赛的测试用例Case1-Case4,为了评估所提出的方法的可扩展性,还在Case1-Case4的基础上生成了Extend1-Extend4。表1给出了Case1-Case4和扩展测试用例Extend1-Extend4的具体信息。其中“版图宽度”和“版图高度”列分别表示版图的宽度(nm)和高度(nm),列“#多边形”和“#图案端点”分别是每个版图中多边形和多边形顶点的数量,列“#剪辑”表示合并相同剪辑后的剪辑数目,“剪辑宽/高”列表示剪辑大小,尺寸设置为200~250nm。
表1
表2给出剪辑聚类的结果,“Ours Basic”对应常规的剪辑聚类方法,剪辑中心被设置为其标记的中心,而不需要剪辑重新定位;“Ours General”对应基于本申请提出的创建候选剪辑区域的方法而实施的剪辑聚类方法,剪辑中心可以在其标记的范围内移动产生多个候选剪辑。在表2中,“参数”列给出了相似性约束规则,包括面积相似比例规则ACC “a”的设置,或者ECC 图案边差距最大距离“e”的设置,“Cnum”和“Cmax”列分别表示最大聚类中的聚类数量和剪辑数量,“CPU”列表示以秒为单位的运行时间,列“Cand”给出了通过剪辑重新定位技术生成的候选剪辑总数。可以看出,通过为每个标记区域产生多个候选剪辑区域,可以有效降低聚类数目。
表2
与上述的创建候选剪辑区域的方法相对应的,本申请实施例还提供了一种创建候选剪辑区域的装置,参见图5所示,该装置包括:
第一处理单元001,用于根据集成电路版图的标记区域,以及标记区域对应的剪辑区域的尺寸,确定各个标记区域各自对应的剪辑寻找区域;其中,所述标记区域为潜在热点位置所在的版图区域,所述标记区域对应的剪辑区域为中心点位于所述标记区域内、并且包含所述标记区域的版图区域;
第二处理单元002,用于确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域;
第三处理单元003,用于在所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域内,创建候选剪辑区域。
在一些实现方式中,第二处理单元002,包括:
版图寻找单元,用于确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案;
区域寻找单元,用于根据所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域。
在一些实现方式中,所述版图寻找单元确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,包括:
确定所述第一剪辑寻找区域对应的第一矩形列表和所述第二剪辑寻找区域对应的第二矩形列表,所述矩形列表通过对剪辑寻找区域所包含的直线多边形版图图案进行矩形分割及排列而确定;
确定所述第一矩形列表和所述第二矩形列表之间的公共矩形子列表;
根据所述公共矩形子列表,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案。
在一些实现方式中,所述版图寻找单元确定所述第一矩形列表和所述第二矩形列表之间的公共矩形子列表,包括:
根据所述第一矩形列表中的各个矩形的尺寸、相对位置和排列顺序,以及所述第二矩形列表中的各个矩形的尺寸、相对位置和排列顺序,从所述第一矩形列表和所述第二矩形列表中,筛选出所包含的各个矩形的排列顺序、所包含的各个矩形的尺寸,以及所包含的各个矩形的相对位置均相同,并且具有最大公共面积的矩形子列表,作为所述第一矩形列表和所述第二矩形列表之间的公共矩形子列表。
在一些实现方式中,区域寻找单元根据所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域,包括:
基于所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,将所述第一剪辑寻找区域和所述第二剪辑寻找区域对齐;
确定将所述第一剪辑寻找区域和所述第二剪辑寻找区域对齐后,所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的重合区域;
从所述重合区域中,确定出所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域。
在一些实现方式中,区域寻找单元从所述重合区域中,确定出所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域,包括:
从所述第一剪辑寻找区域中的所述重合区域,以及所述第二剪辑寻找区域中的所述重合区域中,确定出图案一致的最大矩形区域,作为所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域。
在一些实现方式中,区域寻找单元从所述第一剪辑寻找区域中的所述重合区域,以及所述第二剪辑寻找区域中的所述重合区域中,确定出图案一致的最大矩形区域,包括:
对所述第一剪辑寻找区域和所述第二剪辑寻找区域中的所述重合区域分别进行矩形区域分割,并对分割得到的各个矩形区域进行赋值,其中,包含版图图案的矩形区域的值为第一值,不包含版图图案的矩形区域的值为第二值;
对赋值后的所述第一剪辑寻找区域的所述重合区域,与赋值后的所述第二剪辑寻找区域的所述重合区域进行异或运算;
从所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述重合区域的异或运算结果中,确定出异或运算结果为0的矩形区域所构成的最大矩形区域,作为所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述重合区域中图案一致的最大矩形区域。
在一些实现方式中,第三处理单元003在所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域内,创建候选剪辑区域,包括:
从所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域的横坐标上选取第一数量的候选横坐标点,以及,从所述最大匹配区域的纵坐标上选取第二数量的候选纵坐标点;
根据所述第一数量的候选横坐标点以及所述第二数量的候选纵坐标点,组合确定候选剪辑区域中心点位置;
在各个候选剪辑区域中心点位置处,分别创建对应的候选剪辑区域。
本实施例提供的创建候选剪辑区域的装置,与本申请上述实施例所提供的创建候选剪辑区域的方法属于同一申请构思,可执行本申请上述任意实施例所提供的创建候选剪辑区域的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请上述实施例提供的创建候选剪辑区域的方法的具体处理内容,此处不再加以赘述。
以上的第一处理单元001、第二处理单元002和第三处理单元003所实现的功能可以分别由相同或不同的处理器实现,本申请实施例不作限定。
应理解以上装置中的单元可以以处理器调用软件的形式实现。例如该装置包括处理器,处理器与存储器连接,存储器中存储有指令,处理器调用存储器中存储的指令,以实现以上任一种方法或实现该装置各单元的功能,其中处理器可以为通用处理器,例如CPU或微处理器等,存储器可以为装置内的存储器或装置外的存储器。或者,装置中的单元可以以硬件电路的形式实现,可以通过对硬件电路的设计,实现部分或全部单元的功能,该硬件电路可以理解为一个或多个处理器;例如,在一种实现中,该硬件电路为ASIC,通过对电路内元件逻辑关系的设计,实现以上部分或全部单元的功能;再如,在另一种实现中,该硬件电路可以通过PLD实现,以FPGA为例,其可以包括大量逻辑门电路,通过配置文件来配置逻辑门电路之间的连接关系,从而实现以上部分或全部单元的功能。以上装置的所有单元可以全部通过处理器调用软件的形式实现,或全部通过硬件电路的形式实现,或部分通过处理器调用软件的形式实现,剩余部分通过硬件电路的形式实现。
在本申请实施例中,处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如CPU、微处理器、GPU、或DSP等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为ASIC或PLD实现的硬件电路,例如FPGA等。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,还可以是针对人工智能设计的硬件电路,其可以理解为一种ASIC,例如NPU、TPU(Tensor Processing Unit,张量处理器)、DPU等。
可见,以上装置中的各单元可以是被配置成实施以上方法的一个或多个处理器(或处理电路),例如:CPU、GPU、NPU、TPU、DPU、微处理器、DSP、ASIC、FPGA,或这些处理器形式中至少两种的组合。
此外,以上装置中的各单元可以全部或部分可以集成在一起,或者可以独立实现。在一种实现中,这些单元集成在一起,以SOC的形式实现。该SOC中可以包括至少一个处理器,用于实现以上任一种方法或实现该装置各单元的功能,该至少一个处理器的种类可以不同,例如包括CPU和FPGA,CPU和人工智能处理器,CPU和GPU等。
本申请另一实施例还提出一种电子设备,参见图6所示,该设备包括:
存储器200和处理器210;
其中,所述存储器200与所述处理器210连接,用于存储程序;
所述处理器210,用于通过运行所述存储器200中存储的程序,实现上述任一实施例公开的创建候选剪辑区域的方法。
具体的,上述电子设备还可以包括:总线、通信接口220、输入设备230和输出设备240。
处理器210、存储器200、通信接口220、输入设备230和输出设备240通过总线相互连接。其中:
总线可包括一通路,在计算机系统各个部件之间传送信息。
处理器210可以是通用处理器,例如通用中央处理器(CPU)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
处理器210可包括主处理器,还可包括基带芯片、调制解调器等。
存储器200中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器200可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
输入设备230可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
输出设备240可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
通信接口220可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
处理器210执行存储器200中所存放的程序,以及调用其他设备,可用于实现本申请上述实施例所提供的任意一种创建候选剪辑区域的方法的各个步骤。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述任意实施例中描述的创建候选剪辑区域的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上述任意实施例中描述的创建候选剪辑区域的方法中的步骤。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。
本申请各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种创建候选剪辑区域的方法,其特征在于,包括:
根据集成电路版图的标记区域,以及标记区域对应的剪辑区域的尺寸,确定各个标记区域各自对应的剪辑寻找区域;其中,所述标记区域为潜在热点位置所在的版图区域,所述标记区域对应的剪辑区域为中心点位于所述标记区域内、并且包含所述标记区域的版图区域;所述剪辑寻找区域表示包含标记区域对应的全部剪辑区域的区域;
确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域;所述最大匹配区域表示面积最大的相匹配区域,所述相匹配区域包括相同或者相似度大于设定相似度阈值区域;
在所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域内,创建候选剪辑区域。
2.根据权利要求1所述的方法,其特征在于,确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域,包括:
确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大公共版图图案;
根据所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域。
3.根据权利要求2所述的方法,其特征在于,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,包括:
确定所述第一剪辑寻找区域对应的第一矩形列表和所述第二剪辑寻找区域对应的第二矩形列表,所述矩形列表通过对剪辑寻找区域所包含的直线多边形版图图案进行矩形分割及排列而确定;
确定所述第一矩形列表和所述第二矩形列表之间的公共矩形子列表;
根据所述公共矩形子列表,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案。
4.根据权利要求3所述的方法,其特征在于,确定所述第一矩形列表和所述第二矩形列表之间的公共矩形子列表,包括:
根据所述第一矩形列表中的各个矩形的尺寸、相对位置和排列顺序,以及所述第二矩形列表中的各个矩形的尺寸、相对位置和排列顺序,从所述第一矩形列表和所述第二矩形列表中,筛选出所包含的各个矩形的排列顺序、所包含的各个矩形的尺寸,以及所包含的各个矩形的相对位置均相同,并且具有最大公共面积的矩形子列表,作为所述第一矩形列表和所述第二矩形列表之间的公共矩形子列表。
5.根据权利要求2所述的方法,其特征在于,根据所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,确定所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域,包括:
基于所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大公共版图图案,将所述第一剪辑寻找区域和所述第二剪辑寻找区域对齐;
确定将所述第一剪辑寻找区域和所述第二剪辑寻找区域对齐后,所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的重合区域;
从所述重合区域中,确定出所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域。
6.根据权利要求5所述的方法,其特征在于,从所述重合区域中,确定出所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域,包括:
从所述第一剪辑寻找区域中的所述重合区域,以及所述第二剪辑寻找区域中的所述重合区域中,确定出图案一致的最大矩形区域,作为所述第一剪辑寻找区域和所述第二剪辑寻找区域之间的最大匹配区域。
7.根据权利要求6所述的方法,其特征在于,从所述第一剪辑寻找区域中的所述重合区域,以及所述第二剪辑寻找区域中的所述重合区域中,确定出图案一致的最大矩形区域,包括:
对所述第一剪辑寻找区域和所述第二剪辑寻找区域中的所述重合区域分别进行矩形区域分割,并对分割得到的各个矩形区域进行赋值,其中,包含版图图案的矩形区域的值为第一值,不包含版图图案的矩形区域的值为第二值;
对赋值后的所述第一剪辑寻找区域的所述重合区域,与赋值后的所述第二剪辑寻找区域的所述重合区域进行异或运算;
从所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述重合区域的异或运算结果中,确定出异或运算结果为0的矩形区域所构成的最大矩形区域,作为所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述重合区域中图案一致的最大矩形区域。
8.根据权利要求1所述的方法,其特征在于,在所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域内,创建候选剪辑区域,包括:
从所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域的横坐标上选取第一数量的候选横坐标点,以及,从所述最大匹配区域的纵坐标上选取第二数量的候选纵坐标点;
根据所述第一数量的候选横坐标点以及所述第二数量的候选纵坐标点,组合确定候选剪辑区域中心点位置;
在各个候选剪辑区域中心点位置处,分别创建对应的候选剪辑区域。
9.一种创建候选剪辑区域的装置,其特征在于,包括:
第一处理单元,用于根据集成电路版图的标记区域,以及标记区域对应的剪辑区域的尺寸,确定各个标记区域各自对应的剪辑寻找区域;其中,所述标记区域为潜在热点位置所在的版图区域,所述标记区域对应的剪辑区域为中心点位于所述标记区域内、并且包含所述标记区域的版图区域;
第二处理单元,用于确定各个剪辑寻找区域中的第一剪辑寻找区域和第二剪辑寻找区域之间的最大匹配区域;
第三处理单元,用于在所述第一剪辑寻找区域和所述第二剪辑寻找区域的所述最大匹配区域内,创建候选剪辑区域。
10.一种电子设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器连接,用于存储程序;
所述处理器用于通过运行所述存储器中的程序,实现如权利要求1至8中任意一项所述的创建候选剪辑区域的方法。
11.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如权利要求1至8中任意一项所述的创建候选剪辑区域的方法。
CN202311181981.XA 2023-09-14 2023-09-14 创建候选剪辑区域的方法、装置、电子设备及存储介质 Active CN116912272B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311181981.XA CN116912272B (zh) 2023-09-14 2023-09-14 创建候选剪辑区域的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311181981.XA CN116912272B (zh) 2023-09-14 2023-09-14 创建候选剪辑区域的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116912272A true CN116912272A (zh) 2023-10-20
CN116912272B CN116912272B (zh) 2023-11-21

Family

ID=88363346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311181981.XA Active CN116912272B (zh) 2023-09-14 2023-09-14 创建候选剪辑区域的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116912272B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101071272A (zh) * 2006-05-10 2007-11-14 中芯国际集成电路制造(上海)有限公司 一种寻找集成电路布图设计中目标区域的方法
CN101689217A (zh) * 2008-04-24 2010-03-31 新思科技有限公司 用于自动处理基于图案剪辑的制造热点的两用扰动引擎
CN109783834A (zh) * 2017-11-14 2019-05-21 台湾积体电路制造股份有限公司 集成电路制造方法
WO2020048366A1 (en) * 2018-09-03 2020-03-12 Huawei Technologies Co., Ltd. Coding method, device, system with merge mode
US20200133959A1 (en) * 2018-10-31 2020-04-30 Taiwan Semiconductor Manufacturing Co., Ltd. Systems and methods for systematic physical failure analysis (pfa) fault localization
CN111488721A (zh) * 2020-04-08 2020-08-04 湖南大学 一种版图热点聚类方法、装置及设备
CN113301713A (zh) * 2021-06-23 2021-08-24 合肥京东方显示技术有限公司 印制电路板、柔性电路板、显示面板以及制作方法
CN113508338A (zh) * 2019-02-20 2021-10-15 Asml荷兰有限公司 用于表征半导体器件的制造工艺的方法
CN113822006A (zh) * 2021-09-24 2021-12-21 全芯智造技术有限公司 分析集成电路版图的方法、设备和计算机可读存储介质
CN114357941A (zh) * 2022-02-22 2022-04-15 北京智芯仿真科技有限公司 一种集成电路版图电流密度超标区域优化方法及系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101071272A (zh) * 2006-05-10 2007-11-14 中芯国际集成电路制造(上海)有限公司 一种寻找集成电路布图设计中目标区域的方法
CN101689217A (zh) * 2008-04-24 2010-03-31 新思科技有限公司 用于自动处理基于图案剪辑的制造热点的两用扰动引擎
CN109783834A (zh) * 2017-11-14 2019-05-21 台湾积体电路制造股份有限公司 集成电路制造方法
WO2020048366A1 (en) * 2018-09-03 2020-03-12 Huawei Technologies Co., Ltd. Coding method, device, system with merge mode
US20200133959A1 (en) * 2018-10-31 2020-04-30 Taiwan Semiconductor Manufacturing Co., Ltd. Systems and methods for systematic physical failure analysis (pfa) fault localization
CN111125985A (zh) * 2018-10-31 2020-05-08 台湾积体电路制造股份有限公司 系统故障定位系统和方法
CN113508338A (zh) * 2019-02-20 2021-10-15 Asml荷兰有限公司 用于表征半导体器件的制造工艺的方法
CN111488721A (zh) * 2020-04-08 2020-08-04 湖南大学 一种版图热点聚类方法、装置及设备
CN113301713A (zh) * 2021-06-23 2021-08-24 合肥京东方显示技术有限公司 印制电路板、柔性电路板、显示面板以及制作方法
CN113822006A (zh) * 2021-09-24 2021-12-21 全芯智造技术有限公司 分析集成电路版图的方法、设备和计算机可读存储介质
CN114357941A (zh) * 2022-02-22 2022-04-15 北京智芯仿真科技有限公司 一种集成电路版图电流密度超标区域优化方法及系统

Also Published As

Publication number Publication date
CN116912272B (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
CN111325110B (zh) 基于ocr的表格版式恢复方法、装置及存储介质
Lin et al. POLAR: Placement based on novel rough legalization and refinement
US8572540B2 (en) Method and system for approximate placement in electronic designs
US20070157146A1 (en) Method of packing-based macro placement and semiconductor chip using the same
JP5665125B2 (ja) 画像処理方法、及び、画像処理システム
CN106157341A (zh) 生成合成图片的方法及装置
WO1995008811A1 (en) Data reduction in a system for analyzing geometric databases
Hsu et al. Routability-driven placement for hierarchical mixed-size circuit designs
CN111310426A (zh) 基于ocr的表格版式恢复方法、装置及存储介质
CN111428700B (zh) 表格识别方法、装置、电子设备、存储介质
Huang et al. Detailed-routability-driven analytical placement for mixed-size designs with technology and region constraints
CN116912272B (zh) 创建候选剪辑区域的方法、装置、电子设备及存储介质
JP5935501B2 (ja) プログラム、画像処理装置及び画像処理方法
US8132141B2 (en) Method and apparatus for generating a centerline connectivity representation
Mikhailov et al. Page layout analysis for refining table extraction from PDF documents
Chen et al. An integrated-spreading-based macro-refining algorithm for large-scale mixed-size circuit designs
Wu et al. A machine-learning approach for analyzing document layout structures with two reading orders
US20110041111A1 (en) Method and apparatus for generating a memory-efficient representation of routing data
JP2007034613A (ja) 画像処理装置及びその方法
Chu Placement
Hong et al. CASH: A novel quadratic placement algorithm for very large standard cell layout design based on clustering
JP2644735B2 (ja) 図面情報管理方法
Chu ABOUT THIS CHAPTER
US7120887B2 (en) Cloned and original circuit shape merging
Oliveira et al. Clip Clustering for Early Lithographic Hotspot Classification

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
GR01 Patent grant
GR01 Patent grant