CN114186526A - 一种基于r树mbr算法的集成电路自动打孔方法及装置 - Google Patents
一种基于r树mbr算法的集成电路自动打孔方法及装置 Download PDFInfo
- Publication number
- CN114186526A CN114186526A CN202111512370.XA CN202111512370A CN114186526A CN 114186526 A CN114186526 A CN 114186526A CN 202111512370 A CN202111512370 A CN 202111512370A CN 114186526 A CN114186526 A CN 114186526A
- Authority
- CN
- China
- Prior art keywords
- distance
- determining
- integrated circuit
- overlapping
- overlapping area
- 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
Images
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/394—Routing
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/06—Structured ASICs
Abstract
本申请涉及集成电路技术领域,尤其涉及一种基于R树MBR算法的集成电路自动打孔方法及装置。其中,一种基于R树MBR算法的集成电路自动打孔方法,包括:对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域;保证所有重叠区域通过DRC规则检查;根据通过DRC规则检查的重叠区域,对集成电路进行自动打孔。采用上述方案的本申请通过空间索引,能够自动检索满足条件的重合区域,再根据DRC规则,对重合区域进行自动打孔,从而提高电路设计效率,缩短电路产品的上市时间。
Description
技术领域
本申请涉及集成电路技术领域,尤其涉及一种基于R树MBR算法的集成电路自动打孔方法及装置。
背景技术
集成电路设计成本高,周期长。一款芯片的研发,往往需要几百名专业的集成电路工程师一年甚至更长的时间才能完成。其原因在于现有的集成电路设计流程冗长,例如对于数字集成电路,需要经过RTL设计,RTL综合,布局时钟树综合,布线等过程。每个环节都需要专业的工程师参与。比如,当前业界采用的过孔方式,都是从业人员手动添加,自动化程度低,效率不高。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种基于R树MBR算法的集成电路自动打孔方法,以解决目前对集成电路进行打孔时,需要手动打孔,自动化程度低,效率低的技术问题。
本申请的第二个目的在于提出一种基于R树MBR算法的集成电路自动打孔装置。
本申请的第三个目的在于提出一种终端。
本申请的第四个目的在于提出一种非临时性计算机可读存储介质。
本申请的第五个目的在于提出一种计算机程序产品。
为达到上述目的,本申请第一方面实施例提出的一种基于R树MBR算法的集成电路自动打孔方法,包括:
对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域;
保证所有重叠区域通过DRC规则检查;
根据所述通过DRC规则检查的重叠区域,对集成电路进行自动打孔。
可选地,在本申请的一个实施例中,所述保证所有重叠区域通过DRC规则检查,包括:
将重合、包含和相邻的重叠区域进行融合;
确定所述重叠区域的数量不大于预设最小通孔数量,若大于预设最小通孔数量,则报错并重新确定重叠区域;
确定所述重叠区域之间的间距不小于预设第一间距,若小于预设第一间距,则报错并重新确定重叠区域;
确定所述重叠区域与金属层之间的间距不小于预设第二间距,若小于预设第二间距,则报错并重新确定重叠区域。
可选地,在本申请的一个实施例中,所述确定所述重叠区域之间的间距不小于预设第一间距,若小于预设第一间距,则报错并重新确定重叠区域,包括:
当进行集成电路布线时,若所述重叠区域之间的间距小于预设第一间距,且所述重叠区域属于同一条布线,则将所述重叠区域进行最小外接矩形的融合;
若所述重叠区域不属于同一条布线或者重叠区域进行最小外接矩形的融合时融合失败,则报错并重新确定重叠区域。
可选地,在本申请的一个实施例中,所述确定所述重叠区域与金属层之间的间距不小于预设第二间距,若小于预设第二间距,则报错并重新确定重叠区域,包括:
当进行集成电路布线时,若所述重叠区域与金属层之间的间距小于预设第二间距,则对所述重叠区域进行扩展,直至所述重叠区域与金属层之间的间距不小于预设第二间距;
若扩展失败,则报错并重新确定重叠区域。
可选地,在本申请的一个实施例中,在所述对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域之前,还包括:
保存每一个生成的金属矩形,并将所述金属矩形添加入R树的空间索引中。
可选地,在本申请的一个实施例中,所述重叠区域,包括:
进行集成电路布图时,器件形成的金属矩形与相邻层的器件形成的金属矩形的重叠区域;以及,
进行集成电路布线时,布线过程中形成的金属矩形与相邻层的器件形成的金属矩形,或者与相邻层的布线过程中形成的金属矩形的重叠区域。
综上,本申请第一方面实施例提出的方法,通过对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域;保证所有重叠区域通过DRC规则检查;根据所述通过DRC规则检查的重叠区域,对集成电路进行自动打孔。本申请通过空间索引,能够自动检索满足条件的重合区域,再根据DRC规则,对重合区域进行自动打孔,从而提高电路设计效率,缩短电路产品的上市时间。
为达到上述目的,本申请第二方面实施例提出的一种基于R树MBR算法的集成电路自动打孔装置,包括:
确定模块,用于对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域;
检查模块,用于保证所有重叠区域通过DRC规则检查;
打孔模块,用于根据所述通过DRC规则检查的重叠区域,对集成电路进行自动打孔。
综上,本申请第二方面实施例提出的装置,通过确定模块对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域;检查模块保证所有重叠区域通过DRC规则检查;打孔模块根据所述通过DRC规则检查的重叠区域,对集成电路进行自动打孔。本申请通过空间索引,能够自动检索满足条件的重合区域,再根据DRC规则,对重合区域进行自动打孔,从而提高电路设计效率,缩短电路产品的上市时间。
为达到上述目的,本申请第三方面实施例提出了一种终端,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述一方面中任一项所述的方法。
为达到上述目的,本申请第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述一方面中任一项所述的方法。
为达到上述目的,本申请第五方面实施例提出了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述一方面中任一项所述的方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例所提供的一种基于R树MBR算法的集成电路自动打孔方法的流程图;
图2为本申请实施例所提供的在满足DRC规则要求下自动打孔的流程示意图;
图3为本申请实施例所提供的MOS管全自动打孔的版图示意图;
图4为本申请实施例所提供的VCO全自动打孔的版图示意图;
图5为本申请实施例所提供的PLL全自动打孔的版图示意图;
图6为本申请实施例所提供的ADC全自动打孔的版图示意图;
图7为本申请实施例所提供的一种基于R树MBR算法的集成电路自动打孔装置的结构示意图。
图8是本申请实施例提供的一种终端的结构示意图;
图9是本申请实施例提供的操作系统和用户空间的结构示意图;
图10是图9中安卓操作系统的架构图;
图11是图9中IOS操作系统的架构图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
下面结合具体的实施例对本申请进行详细说明。
图1为本申请实施例所提供的一种基于R树MBR算法的集成电路自动打孔方法的流程图。
如图1所示,本申请实施例提供的一种基于R树MBR算法的集成电路自动打孔方法,包括以下步骤:
步骤101,对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域;
步骤102,保证所有重叠区域通过DRC规则检查;
步骤103,根据通过DRC规则检查的重叠区域,对集成电路进行自动打孔。
具体的,当每一个金属矩形被生成时,在空间索引中检索与生成的金属矩形相碰撞的相邻层的金属矩形。生成的金属矩形与相邻层的金属矩形的重叠区域就是需要打孔的区域。
具体的,收集重叠区域,将重叠区域指向其对应的金属层指向的电路节点,并将重叠区域添加到空间索引中存储起来。
进一步的,被碰撞到的金属矩形的电路节点与生成的金属矩形的电路节点相同。
具体的,当电路模块被构建完成时,通孔的R树也创建完成,即获取到所有需要打孔的重叠区域的数据。此时,对所有重叠区域进行DRC规则检查,在保证电路连接性的同时,满足DRC规则的要求。
具体的,若重叠区域没有通过DRC规则检查,则排除或者移动不符合DRC规则的重叠区域。
在本申请实施例中,保证所有重叠区域通过DRC规则检查,包括:
将重合、包含和相邻的重叠区域进行融合;
确定重叠区域的数量不大于预设最小通孔数量,若大于预设最小通孔数量,则报错并重新确定重叠区域;
确定重叠区域之间的间距不小于预设第一间距,若小于预设第一间距,则报错并重新确定重叠区域;
确定重叠区域与金属层之间的间距不小于预设第二间距,若小于预设第二间距,则报错并重新确定重叠区域。
在本申请实施例中,确定重叠区域之间的间距不小于预设第一间距,若小于预设第一间距,则报错并重新确定重叠区域,包括:
当进行集成电路布线时,若重叠区域之间的间距小于预设第一间距,且重叠区域属于同一条布线,则将重叠区域进行最小外接矩形的融合;
若重叠区域不属于同一条布线或者重叠区域进行最小外接矩形的融合时融合失败,则报错并重新确定重叠区域。
在本申请实施例中,确定重叠区域与金属层之间的间距不小于预设第二间距,若小于预设第二间距,则报错并重新确定重叠区域,包括:
当进行集成电路布线时,若重叠区域与金属层之间的间距小于预设第二间距,则对重叠区域进行扩展,直至重叠区域与金属层之间的间距不小于预设第二间距;
若扩展失败,则报错并重新确定重叠区域。
在本申请实施例中,在对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域之前,还包括:
保存每一个生成的金属矩形,并将金属矩形添加入R树的空间索引中。
具体的,对每一个电路模块来说,其电路走线可以看成许多矩形拼接起来的结果。同时,每一个电路走线可以看成是连接器件对外的电学接口,将每一个电路走线当作是一个电路节点(node)。因此,当一个电路模块的金属层的电路走线(以下简称矩形)生成的时候,可以将其添加到R树的空间索引中。
在本申请实施例中,重叠区域,包括:
进行集成电路布图时,器件形成的金属矩形与相邻层的器件形成的金属矩形的重叠区域;以及,
进行集成电路布线时,布线过程中形成的金属矩形与相邻层的器件形成的金属矩形,或者与相邻层的布线过程中形成的金属矩形的重叠区域。
以一种场景举例,本申请实施例提供的在满足DRC规则要求下自动打孔的流程如图2所示,其中,具体包括以下步骤:
步骤201,获取前端电路的拓扑结构,根据前端电路的拓扑结构确定后端版图的几何结构;
步骤202,进行集成电路布图,获取金属矩形数据库,根据金属矩形数据库确定重叠区域数据库;
步骤203,检查任一重叠区域,将重合、包含和相邻的重叠区域进行融合;
步骤204,判断是否存在via(S),即是否所有重叠区域之间的间距均不小于预设最小间距;若存在via(S),则报错并重新进行集成电路布图;若不存在via(S),则进入步骤205;
步骤205,判断是否存在mix(EN),即是否所有重叠区域在不小于最小通孔数量的同时,与金属层之间的间距小于预设间距;若存在mix(EN),则报错并重新进行集成电路布图;若不存在mix(EN),则重复进行步骤203-步骤205,直至检查完所有重叠区域;
步骤206,进行集成电路布线,确定进行集成电路布线过程中产生的重叠区域;
步骤207,检查任一重叠区域,将重合、包含和相邻的重叠区域进行融合;
步骤208,判断是否存在via(S)和mix(EN),若不存在则进入步骤207;若存在则进入步骤209;
步骤209,判断能否进行修补,若不能进行修补,则报错并重新进行集成电路布线;若能进行修补,则重复步骤207-步骤209,直至检查完所有重叠区域;
步骤210,模块结束构建,根据通过DRC规则检查的重叠区域,对模块结束构建的集成电路进行自动打孔。
具体的,本申请实施例提供的MOS管全自动打孔的版图如图3所示;VCO全自动打孔的版图如图4所示;PLL全自动打孔的版图如图5所示;ADC全自动打孔的版图如图6所示。说明本申请实施例所提供的方法可以应用于多种集成电路场景,并且取得不错的效果。
综上,本申请实施例提出的方法,通过对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域;保证所有重叠区域通过DRC规则检查;根据通过DRC规则检查的重叠区域,对集成电路进行自动打孔。本申请通过R树的空间索引,能够自动检索满足条件的重合区域,再根据DRC规则,对重合区域进行自动打孔,避免了电路设计者手动进行挨个打孔,从而提高电路设计效率,缩短电路产品的上市时间;同时,由于全自动打孔时,严格按照DRC规则进行,不用进行重复检查,进一步提高电路设计效率。
为了实现上述实施例,本申请还提出一种基于R树MBR算法的集成电路自动打孔装置。
图7为本申请实施例提供的一种基于R树MBR算法的集成电路自动打孔装置的结构示意图。
如图7所示,一种基于R树MBR算法的集成电路自动打孔装置,包括:
确定模块701,用于对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域;
检查模块702,用于保证所有重叠区域通过DRC规则检查;
打孔模块703,用于根据通过DRC规则检查的重叠区域,对集成电路进行自动打孔。
综上,本申请实施例提出的装置,通过确定模块对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域;检查模块保证所有重叠区域通过DRC规则检查;打孔模块根据通过DRC规则检查的重叠区域,对集成电路进行自动打孔。本申请通过空间索引,能够自动检索满足条件的重合区域,再根据DRC规则,对重合区域进行自动打孔,从而提高电路设计效率,缩短电路产品的上市时间。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图6所示实施例的所述基于R树MBR算法的集成电路自动打孔方法,具体执行过程可以参见图1-图6所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行如上述图1-图6所示实施例的所述基于R树MBR算法的集成电路自动打孔方法,具体执行过程可以参见图1-图6所示实施例的具体说明,在此不进行赘述。
请参考图8,其示出了本申请一个示例性实施例提供的终端的结构方框图。本申请中的终端可以包括一个或多个如下部件:处理器110、存储器120、输入装置130、输出装置140和总线150。处理器110、存储器120、输入装置130和输出装置140之间可以通过总线150连接。所述处理器加载并执行如上述图3-图9所示实施例的所述网络连接方法,具体执行过程可以参见图3-图9所示实施例的具体说明,在此不进行赘述。
处理器110可以包括一个或者多个处理核心。处理器110利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read-only memory,ROM)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、苹果公司开发的IOS系统,包括基于IOS系统深度开发的系统或其它系统。存储数据区还可以存储终端在使用中所创建的数据比如电话本、音视频数据、聊天记录数据,等。
参见图9所示,存储器120可分为操作系统空间和用户空间,操作系统即运行于操作系统空间,原生及第三方应用程序即运行于用户空间。为了保证不同第三方应用程序均能够达到较好的运行效果,操作系统针对不同第三方应用程序为其分配相应的系统资源。然而,同一第三方应用程序中不同应用场景对系统资源的需求也存在差异,比如,在本地资源加载场景下,第三方应用程序对磁盘读取速度的要求较高;在动画渲染场景下,第三方应用程序则对GPU性能的要求较高。而操作系统与第三方应用程序之间相互独立,操作系统往往不能及时感知第三方应用程序当前的应用场景,导致操作系统无法根据第三方应用程序的具体应用场景进行针对性的系统资源适配。
为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
以操作系统为Android系统为例,存储器120中存储的程序和数据如图10所示,存储器120中可存储有Linux内核层320、系统运行时库层340、应用框架层360和应用层380,其中,Linux内核层320、系统运行库层340和应用框架层360属于操作系统空间,应用层380属于用户空间。Linux内核层320为终端的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。系统运行库层340通过一些C/C++库来为Android系统提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在系统运行时库层340中还提供有安卓运行时库(Android runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层360提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层380中运行有至少一个应用程序,这些应用程序可以是操作系统自带的原生应用程序,比如联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的第三方应用程序,比如游戏类应用程序、即时通信程序、相片美化程序、网络连接程序等。
以操作系统为IOS系统为例,存储器120中存储的程序和数据如图11所示,IOS系统包括:核心操作系统层420(Core OS layer)、核心服务层440(Core Services layer)、媒体层460(Media layer)、可触摸层480(Cocoa Touch Layer)。核心操作系统层420包括了操作系统内核、驱动程序以及底层程序框架,这些底层程序框架提供更接近硬件的功能,以供位于核心服务层440的程序框架所使用。核心服务层440提供给应用程序所需要的系统服务和/或程序框架,比如基础(Foundation)框架、账户框架、广告框架、数据存储框架、网络连接框架、地理位置框架、运动框架等等。媒体层460为应用程序提供有关视听方面的接口,如图形图像相关的接口、音频技术相关的接口、视频技术相关的接口、音视频传输技术的无线播放(AirPlay)接口等。可触摸层480为应用程序开发提供了各种常用的界面相关的框架,可触摸层480负责用户在终端上的触摸交互操作。比如本地通知服务、远程推送服务、广告框架、游戏工具框架、消息用户界面接口(User Interface,UI)框架、用户界面UIKit框架、地图框架等等。
在图11所示出的框架中,与大部分应用程序有关的框架包括但不限于:核心服务层440中的基础框架和可触摸层480中的UIKit框架。基础框架提供许多基本的对象类和数据类型,为所有应用程序提供最基本的系统服务,和UI无关。而UIKit框架提供的类是基础的UI类库,用于创建基于触摸的用户界面,iOS应用程序可以基于UIKit框架来提供UI,所以它提供了应用程序的基础架构,用于构建用户界面,绘图、处理和用户交互事件,响应手势等等。
其中,在IOS系统中实现第三方应用程序与操作系统数据通信的方式以及原理可参考Android系统,本申请在此不再赘述。
其中,输入装置130用于接收输入的指令或数据,输入装置130包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置140用于输出指令或数据,输出装置140包括但不限于显示设备和扬声器等。在一个示例中,输入装置130和输出装置140可以合设,输入装置130和输出装置140为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在终端的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本申请实施例对此不加以限定。
除此之外,本领域技术人员可以理解,上述附图所示出的终端的结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、无线保真(wirelessfidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
在本申请实施例中,各步骤的执行主体可以是上文介绍的终端。可选地,各步骤的执行主体为终端的操作系统。操作系统可以是安卓系统,也可以是IOS系统,或者其它操作系统,本申请实施例对此不作限定。
本申请实施例的终端,其上还可以安装有显示设备,显示设备可以是各种能实现显示功能的设备,例如:阴极射线管显示器(cathode ray tubedisplay,简称CR)、发光二极管显示器(light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(liquidcrystal display,简称LCD)、等离子显示面板(plasma display panel,简称PDP)等。用户可以利用终端100上的显示设备,来查看显示的文字、图像、视频等信息。所述终端可以是智能手机、平板电脑、游戏设备、AR(Augmented Reality,增强现实)设备、汽车、数据存储装置、音频播放装置、视频播放装置、笔记本、桌面计算设备、可穿戴设备诸如电子手表、电子眼镜、电子头盔、电子手链、电子项链、电子衣物等设备。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
Claims (10)
1.一种基于R树MBR算法的集成电路自动打孔方法,其特征在于,所述方法包括:
对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域;
保证所有重叠区域通过DRC规则检查;
根据所述通过DRC规则检查的重叠区域,对集成电路进行自动打孔。
2.如权利要求1所述的方法,其特征在于,所述保证所有重叠区域通过DRC规则检查,包括:
将重合、包含和相邻的重叠区域进行融合;
确定所述重叠区域的数量不大于预设最小通孔数量,若大于预设最小通孔数量,则报错并重新确定重叠区域;
确定所述重叠区域之间的间距不小于预设第一间距,若小于预设第一间距,则报错并重新确定重叠区域;
确定所述重叠区域与金属层之间的间距不小于预设第二间距,若小于预设第二间距,则报错并重新确定重叠区域。
3.如权利要求2所述的方法,其特征在于,所述确定所述重叠区域之间的间距不小于预设第一间距,若小于预设第一间距,则报错并重新确定重叠区域,包括:
当进行集成电路布线时,若所述重叠区域之间的间距小于预设第一间距,且所述重叠区域属于同一条布线,则将所述重叠区域进行最小外接矩形的融合;
若所述重叠区域不属于同一条布线或者重叠区域进行最小外接矩形的融合时融合失败,则报错并重新确定重叠区域。
4.如权利要求2所述的方法,其特征在于,所述确定所述重叠区域与金属层之间的间距不小于预设第二间距,若小于预设第二间距,则报错并重新确定重叠区域,包括:
当进行集成电路布线时,若所述重叠区域与金属层之间的间距小于预设第二间距,则对所述重叠区域进行扩展,直至所述重叠区域与金属层之间的间距不小于预设第二间距;
若扩展失败,则报错并重新确定重叠区域。
5.如权利要求1所述的方法,其特征在于,在所述对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域之前,还包括:
保存每一个生成的金属矩形,并将所述金属矩形添加入R树的空间索引中。
6.如权利要求1所述的方法,其特征在于,所述重叠区域,包括:
进行集成电路布图时,器件形成的金属矩形与相邻层的器件形成的金属矩形的重叠区域;以及,
进行集成电路布线时,布线过程中形成的金属矩形与相邻层的器件形成的金属矩形,或者与相邻层的布线过程中形成的金属矩形的重叠区域。
7.一种基于R树MBR算法的集成电路自动打孔装置,其特征在于,所述装置包括:
确定模块,用于对每一个生成的金属矩形进行空间索引,确定生成的金属矩形与相邻层的金属矩形的重叠区域;
检查模块,用于保证所有重叠区域通过DRC规则检查;
打孔模块,用于根据所述通过DRC规则检查的重叠区域,对集成电路进行自动打孔。
8.一种终端,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其特征在于,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
9.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111512370.XA CN114186526A (zh) | 2021-12-08 | 2021-12-08 | 一种基于r树mbr算法的集成电路自动打孔方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111512370.XA CN114186526A (zh) | 2021-12-08 | 2021-12-08 | 一种基于r树mbr算法的集成电路自动打孔方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114186526A true CN114186526A (zh) | 2022-03-15 |
Family
ID=80543292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111512370.XA Pending CN114186526A (zh) | 2021-12-08 | 2021-12-08 | 一种基于r树mbr算法的集成电路自动打孔方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114186526A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115221835A (zh) * | 2022-07-27 | 2022-10-21 | 清华大学 | 一种芯片设计的物理验证方法及装置 |
-
2021
- 2021-12-08 CN CN202111512370.XA patent/CN114186526A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115221835A (zh) * | 2022-07-27 | 2022-10-21 | 清华大学 | 一种芯片设计的物理验证方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107889070B (zh) | 图片处理方法、装置、终端及计算机可读存储介质 | |
CN111459586B (zh) | 远程协助方法、装置、存储介质及终端 | |
CN110413347A (zh) | 应用程序中广告的处理方法、装置、存储介质及终端 | |
CN114186527A (zh) | 一种不依赖于网格点实现集成电路自动布线的方法及装置 | |
CN111796820A (zh) | 基于集成化组件构建前端页面的方法、装置及电子设备 | |
CN110702346B (zh) | 一种振动测试方法、装置、存储介质及终端 | |
CN111427576A (zh) | 配置应用程序接口的方法、装置、存储介质及终端 | |
CN114186526A (zh) | 一种基于r树mbr算法的集成电路自动打孔方法及装置 | |
CN107562324B (zh) | 数据显示控制的方法和终端 | |
CN111913614B (zh) | 多画面显示控制方法、装置、存储介质及显示器 | |
CN117555459A (zh) | 一种应用组处理方法、装置、存储介质及电子设备 | |
CN113342330A (zh) | 前端工程生成方法及装置 | |
CN111857480A (zh) | 图标对齐方法、装置、存储介质及电子设备 | |
CN113282237B (zh) | 分区创建方法、装置、存储介质及计算机设备 | |
CN112068895B (zh) | 代码配置方法、装置、视频播放设备及存储介质 | |
CN113972989B (zh) | 数据校验方法及存储介质、电子设备 | |
CN113268221A (zh) | 文件匹配方法、装置、存储介质及计算机设备 | |
CN112612633A (zh) | 进程间通信方法、装置、存储介质以及终端 | |
CN113490028A (zh) | 视频处理方法、装置、存储介质以及终端 | |
CN111859999A (zh) | 消息翻译方法、装置、存储介质及电子设备 | |
CN113114849A (zh) | 闹钟提醒方法、装置、存储介质以及终端 | |
CN113312257B (zh) | 版本识别方法、装置、存储介质及计算机设备 | |
CN113692026B (zh) | 网络连接方法、装置、终端及存储介质 | |
CN113778386A (zh) | 组件生成方法、装置、存储介质及电子设备 | |
CN113450762B (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 |