CN113361226B - 一种减小版图文件大小的方法及电子设备 - Google Patents
一种减小版图文件大小的方法及电子设备 Download PDFInfo
- Publication number
- CN113361226B CN113361226B CN202110711155.6A CN202110711155A CN113361226B CN 113361226 B CN113361226 B CN 113361226B CN 202110711155 A CN202110711155 A CN 202110711155A CN 113361226 B CN113361226 B CN 113361226B
- Authority
- CN
- China
- Prior art keywords
- polygon
- polygons
- similar
- group
- same
- 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.)
- Active
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/392—Floor-planning or layout, e.g. partitioning or placement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Architecture (AREA)
- Geometry (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请提供一种减小版图文件大小的方法,基于对大规模版图文件中的多边形进行筛选和相似性匹配,提出了一种用参考单元带相似比的引用替换版图中存在的多个相似多边形,以减少版图文件需存储的顶点坐标数目,从而减小超大规模集成电路设计版图文件的大小。本申请提供的方法能够减少版图文件占有的存储资源以及版图设计工具在读入版图文件时占有的计算机内存,提高计算机运行速度和版图设计工具的使用效率,提高集成电路设计制造的数据传输效率,特别适合用于超大规模集成电路设计中。
Description
技术领域
本申请涉及集成电路设计制造领域,尤其涉及一种减小版图文件大小的方法及电子设备。
背景技术
版图文件(也叫GDSII文件,GDS=GraphicDatabaseSystem)是用来描述掩模几何图形的事实标准,是二进制格式,内容包括层和几何图形的基本组成。GDSII是一种时序提供格式,对分布于每一个制作层的电路单元进行全面描述,用于设计工具、计算机和掩膜制造商之间进行半导体物理制板的数据传输。
随着集成电路设计和制造工艺的发展,集成电路的复杂度越来越高,芯片上能够集成的晶体管的数目甚至达到了千万门级。芯片的复杂度和集成度越高,半导体物理制板所要求的版图文件的大小也在不断增大,有的版图文件到达了GB甚至十GB的级别。
发明内容
本申请提供了一种减小版图文件的方法及电子设备,能够极大地减少版图文件占有的存储资源,以及版图设计工具在读入版图文件时占有的计算机内存,提高计算机运行速度和版图设计工具的使用效率。
第一方面,本申请提供一种减小版图文件大小的方法,包括以下步骤:
读入原始版图文件;
遍历版图层次,根据版图的层次进行分组,将属于相同层次的多边形全部归为同一个同层多边形组;
遍历同层多边形组,根据同层多边形的边数进行分组,将具有相同边数的多边形全部归为同一个同边数多边形组;
遍历同边数多边形组,根据所述同边数多边形组内的多边形是否相似进行分组,将匹配为相似的多边形全部归为同一个相似多边形组,所述相似多边形组包括至少两个相似多边形;
遍历相似多边形组,为每一个相似多边形组创建一个参考单元,将相似多边形组内的每一个多边形替换为该组对应的参考单元的引用;
当所述原始版图文件中的相似多边形均替换为对应的参考单元的引用之后,存储新的版图文件。
一种可行的方式中,判断所述同边数多边形组内的多边形是否相似具体包括:若两个多边形所有对应向量的斜率相等,且所述两个多边形所有对应向量的长度比为同一个值,确定所述两个多边形相似,所述两个多边形的长度比为所述两个多边形的相似比;否则,确定所述两个多边形不相似。
一种可行的方式中,确实所述多边形的向量具体包括:将所述多边形的方形边框左下角顶点作为所述多边形的向量起点,所述多边形的方形边框指能够包围所述多边形的最小矩形方框;以所述向量起点为准,逆时针方向沿着所述多边形的边,将依次遍历到的所述多边形的顶点作为所述多边形的向量终点;根据所述多边形的向量起点和所述多边形的向量终点确定所述多边形的全部向量。
一种可行的方式中,将依次遍历到的所述多边形的顶点作为所述多边形的向量终点,具体包括:若所述多边形的向量起点与所述多边形的某一个顶点重合,则以所述向量起点为准,逆时针方向沿着所述多边形的边,将依次遍历到的所述多边形的其他全部顶点作为所述多边形的向量终点,所述其他全部顶点指所述多边形除与所述向量起点重合的顶点之外剩余的全部顶点;若所述多边形的向量起点与所述多边形的某一个顶点不重合,则以所述向量起点为准,逆时针方向沿着所述多边形的边,将依次遍历到的所述多边形的全部顶点作为所述多边形的向量终点。
一种可行的方式中,在创建相似多边形组时,选择该组内的一个多边形作为该组的基准多边形,所述基准多边形用于与所在的同边数多边形组内未划分到相似多边形组的多边形进行相似性匹配,若有与所述基准多边形相似的多边形,将该多边形归到所述基准多边形所在的相似多边形组内。
一种可行的方式中,为每一个相似多边形组创建一个参考单元具体包括:以相似多边形组对应的基准多边形为准,创建与该基准多边形形状大小完全一致的单元作为该相似多边形组的参考单元,并将所创建的参考单元的方形边框左下角顶点设置在所述原始版图文件的坐标原点处,所述参考单元的方形边框指能够包围所述参考单元的最小矩形方框。
一种可行的方式中,所述参考单元的引用包括偏移坐标和相似比,所述偏移坐标为所述多边形的方形边框左下角顶点坐标相较于对应参考单元的方形边框左下角顶点坐标的偏移量,所述相似比为所述多边形相较于对应参考单元的相似比。
本申请提供一种减小版图文件大小的方法,基于对大规模版图文件中的多边形的筛选和相似性匹配,提出了一种用参考单元的带相似比的引用替换版图中存在的多个相似多边形,以减少版图文件所需存储的坐标数目,从而减小超大规模集成电路设计版图文件的大小,该方法能够极大地减少版图文件占有的存储资源以及版图设计工具在读入版图文件时占有的计算机内存,提高计算机运行速度和版图设计工具的使用效率,提高集成电路设计制造的数据传输效率,特别适合用于超大规模集成电路设计中。
第二方面,本申请提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信。其中,存储器用于存放计算机程序,处理器用于执行存储器上所存放的程序时,实现上述第一方面中任一项所述的方法。
第三方面,本申请还提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够其上存储有计算机程序,该程序被处理单元执行时实现第一方面中任一项所述的方法。
第四方面,本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
本申请提供的第二方面、第三方面以及第四方面中任一种实现方式所带来的技术效果可参见前文第一方面中不同实现方式所带来的技术效果,此处不再赘述。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术,描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1本申请提供的一种减小版图文件大小的方法示意图;
图2本申请提供的一种原始版图文件的基本构成的示意图;
图3本申请提供的图2中L2层多边形组的示意图;
图4本申请提供的图3中六边形组的示意图;
图5本申请提供的一种判断两个多边形是否相似的流程图;
图6本申请提供的一种确定多边形向量的流程图之一;
图7本申请提供的一种确定多边形向量的示意图;
图8本申请提供的一种确定多边形向量的流程图之二;
图9本申请提供的一种确定L2层两个六边形A和B的向量示意图;
图10本申请提供的一种L2层中第一相似多边形组的示意图;
图11本申请提供的一种版图文件改进记录方式前后压缩比例示意图;
图12本申请提供的一种电子设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护范围。
集成电路设计和制造过程中的物理版图文件(即GDSII格式文件)作为计算机、电子设计自动化辅助设计工具、掩模版制造商、半导体电路生产制造企业之间的数据传输文件,随着半导体工艺的不断演进,工艺复杂度和芯片设计规模的不断增加,其文件大小呈几何级数增长。
例如,一颗普通的先进工艺制程的通用芯片,其版图文件大小已经达到数十GB甚至数百GB,对于数据的交互传输、辅助设计工具的读写、存储、运算与修改等操作都造成了严重的困扰,工具的读写时间、计算机运算的内存和时间消耗量也十分巨大。
GDSII格式的版图文件所存储的内容包括物理图层和几何图形组成,而其中几何图形中绝大多数是多边形,几何图形在版图文件中记录的是点的坐标。版图文件对于每一个多边形都必须记录其所有顶点的坐标,多边形越多,多边形的顶点数(或者边数)越多,版图文件必须记录的顶点坐标就越多,文件大小就越大。而复杂工艺制成的集成电路制造所涉及的物理图层数目和几何图形数目都不断增加,这就导致版图文件越来越大,处理越来越难。
目前,在大规模集成电路的版图文件中,版图的同层中存在许多相对位置不同的相似多边形,对于超大规模集成电路的版图文件,更是容易产生同层相似但相对位置不同的多边形。这源自于设计电路规模非常大、复杂度非常高的版图文件时,通常需要多个部门分工协作,部门人员之间分模块设计,而这种设计方式缺乏沟通、有效组织和规划。
现有技术中会对每个多边形的全部顶点坐标进行存储,这将耗费很多的存储空间,极大地增大了版图文件的大小。版图文件变大将占有更多的存储资源,同时使得版图设计工具在读入版图文件时占有更多的计算机内存,影响计算机运行速度和设计工具的使用效率。
需要说明的是,当两个多边形的相似比为1时表示这两个多边形不仅相似且相同,相同是指两个多边形的形状大小完全一致,本文旨在改进同层相似多边形存储方式,不再将相似多边形中的相同多边形单独列出进行说明。
针对现有技术存在的问题,图1为本申请提供的一种减小版图文件大小的方法示意图,本申请提供的方法旨在减少版图文件中同层相似多边形所需存储的坐标数目,以减少版图文件占有的计算机内存,该方法包括如下步骤:
步骤S101:读入原始版图文件;
步骤S102:遍历版图层次,根据版图的层次进行分组,将属于相同层次的多边形全部归为同一个同层多边形组;
步骤S103:遍历同层多边形组,根据同层多边形的边数进行分组,将具有相同边数的多边形全部归为同一个同边数多边形组;
步骤S104:遍历同边数多边形组,根据所述同边数多边形组内的多边形是否相似进行分组,将匹配为相似的多边形全部归为同一个相似多边形组;
步骤S105:遍历相似多边形组,为每一个相似多边形组创建一个参考单元,将相似多边形组内的每一个多边形替换为该组对应的参考单元的引用;
步骤S106:当所述原始版图文件中的相似多边形均替换为对应的参考单元的引用之后,存储新的版图文件。
下面对上面所述的步骤S101—步骤S106依次进行详细的介绍。
步骤S101中,原始版图文件中存储着该版图所有相关的几何图形的层和几何图形的基本组成,读入版图文件将获取所有几何图形的层次和基本组成信息。通常情况下,原始版图文件中存储有若干层,每个层上均有若干个多边形,每个多边形包括该多边形所属的层以及多边形所有顶点的坐标。
图2为本申请提供的一种原始版图文件的基本构成的示意图,从图2中可知,该原始版图文件包括有L1(例如L1层属性为Active)和L2(例如L2层属性为Poly)两个层次,每个层次都包含有多个多边形,同时也可以看出原始版图文件中的每个多边形的顶点坐标都不相同。需要说明的是,在创建该版图文件时坐标原点就已经确定,进而多边形的顶点坐标也随之确定。
为方便理解本申请的发明内容,下面将以图2给出的原始版图文件为例,进一步详细阐述步骤S102—步骤S106。
步骤S102:遍历版图的层次,对版图的层次进行分组归类,将属于同一层次的多边形全部归为一个同层多边形组。请参阅图2,从图2中可以看出该原始版图文件具有L1层和L2层两个层次,执行步骤S102是指将属于L1层的多边形全部归到同一个多边形组中,例如L1层多边形组,同理,将属于L2层的多边形全部归到同一个多边形组中,例如L2层多边形组。
步骤S103:遍历同层多边形组,根据同层多边形的边数进行分组,将具有相同边数的多边形全部归为同一个同边数多边形组。
图3为本申请提供的图2中L2层多边形组的示意图,从图3中可以得知,L2层多边形组中包含有6个多边形。以图3所示的L2层多边形组为例,执行步骤S103表示将全部的六边形归为同一个多边形组内,例如L2层六边形组,同理,将全部的四边形归为同一个多边形组内,例如L2层四边形组。
需要说明的是,是否可以将同层多边形组再进一步划分为同边数多边形组,取决于该同层多边形组内是否具有边数相同的多边形,实际中,可能存在无法将某一个同层多边形组再进一步划分为同边数多边形组的情形,此时表明这个同层多边形组内的多边形的边数都不相同。本申请提供的方法针对的对象是同层相似多边形,其他情况的多边形与现有的存储方式一样,本申请不再赘述。
图4为本申请提供的图3中六边形组的示意图,从图4中可知,所述的六边形组内含有4个六边形A、B、C和D。
再参阅图3可知,L2层四边形组内含有2个四边形E和F。
再参阅图2可知,若对L1层按照步骤S102和步骤S103处理,可以得到L1层六边形组和L1层四边形组,从图2中可知,L1层六边形组内有2个六边形,L1层四边形组内有4个四边形。
再次参阅图1,步骤S104:遍历同边数多边形组,根据所述同边数多边形组内的多边形是否相似进行分组,将匹配为相似的多边形全部归为同一个相似多边形组。
需要说明的是,该步骤需要遍历该同边数多边形组的全部多边形,将匹配为相似的多边形均归到对应的相似多边形组中,一个相似多边形组包括至少两个相似多边形。本申请提供的方法主要是改进同层相似多边形组内多边形的存储方式,针对该同边数多边形组内无法划分到相似多边形组内的多边形,其存储方式与现有技术一样,本文不再赘述。
下面详细的说明步骤S104中如何判断两个多边形是否相似,如图5所示,图5为本申请提供的判断两个多边形是否相似的流程图,具体包括如下步骤:
步骤S501:判断两个多边形所有对应向量的斜率是否相等,若否,执行步骤S504,若是,执行步骤S502;
步骤S502:判断两个多边形所有对应向量的长度比是否为同一个值,若否,执行步骤S504,若是,执行步骤S503;
步骤S503:确定所述两个多边形相似;
步骤S504:确定所述两个多边形不相似。
其中,当确定两个多边形相似时,两个多边形的长度比即为这两个多边形的相似比,当两个多边形的形状大小完全相同时,相似比为1,此时两个多边形不仅相似还相同,相同是相似中的特殊情形。
需要说明的是,上面步骤S501和步骤S502之间没有必然的先后之分,图5作为一种可行的示例给出,实际执行时,还可以先执行步骤S502,再执行步骤S501,也可以同时执行,本文不做具体限制。
在执行步骤S501之前,需要先确定多边形的向量,如图6所示的本申请提供的一种确定多边形向量的流程图之一,包括如下步骤:
步骤S601:将所述多边形的方形边框左下角顶点作为所述多边形的向量起点;
步骤S602:以所述向量起点为准,逆时针方向沿着所述多边形的边,将依次遍历到的所述多边形的顶点作为所述多边形的向量终点;
步骤S603:根据所述多边形的向量起点和所述多边形的向量终点得到所述多边形的全部向量。
步骤S601中的多边形的方形边框指能够包围所述多边形的最小矩形方框,图7为本申请提供的一种确定多边形向量的示意图,如图7所示,图中的虚线框即为多边形的方形边框。
步骤S602中所述多边形的向量起点可能与所述多边形的顶点重合,也可能不重合,因此,再根据所述多边形的向量起点与所述多边形的顶点是否重合进一步判断,如图8所示的本申请提供的一种确定多边形向量的流程图之二,与图6所示的流程图相比,主要是进一步细化了步骤S602,步骤S602具体包括如下步骤:
步骤S6021:判断所示向量起点与所述多边形的某一个顶点是否重合,若是,执行步骤S6022,若否,执行步骤S6023;
步骤S6022:以所述向量起点为准,逆时针方向沿着所述多边形的边,将依次遍历到的所述多边形的其他全部顶点作为所述多边形的向量终点;
步骤S6023:以所述向量起点为准,逆时针方向沿着所述多边形的边,将依次遍历到的所述多边形的全部顶点作为所述多边形的向量终点。
在步骤S6022中,其他全部顶点指多边形除与向量起点重合的顶点之外剩余的全部顶点。
请再次参阅图7,下面以图7所示的两个多边形举例具体说明步骤S602的含义。
例如图7中所示的四边形,先将四边形的方形边框左下角顶点M0确定为该四边形的向量起点,从图中可见,其向量起点M0与四边形的M1点重合,因此,以向量起点M0为准,逆时针方向沿着四边形的边,将依次遍历到的四边形的其他全部顶点作为该四边形的向量终点,其中,其他全部顶点指该四边形除与向量起点M0重合的顶点M1之外剩余的全部顶点,即为顶点M2、顶点M3和顶点M4。
例如图7中所示的五边形,先将五边形的方形边框左下角顶点N0确定为该五边形的向量起点,从图中可见,其向量起点N0与五边形的任意顶点都不存在重合,因此,以向量起点N0为准,逆时针方向沿着五边形的边,将依次遍历到的五边形的全部顶点作为该五边形的向量终点,即为顶点N1、顶点N2、顶点N3、顶点N4和顶点N5。
图9为本申请提供的一种确定L2层两个六边形A和B的向量示意图,应当理解的是,本申请在创建版图文件之时多边形的顶点坐标就已经确定。从图9中可知,L2层六边形A的全部顶点坐标如下:A1(Xa1,Ya1)、A2(Xa2,Ya2)、A3(Xa3,Ya3)、A4(Xa4,Ya4)、A5(Xa5,Ya5)、A6(Xa6,Ya6),根据前文所述的确定多边形向量的方法确定L2层六边形A的全部向量为 和同理,L2层六边形B的全部顶点坐标如下:B1(Xb1,Yb1)、B2(Xb2,Yb2)、B3(Xb3,Yb3)、B4(Xb4,Yb4)、B5(Xb5,Yb5)、B6(Xb6,Yb6),确定L2层六边形B的全部向量为和
再次参阅图5,以确定的L2层的六边形A的向量和六边形B的向量为例,下面具体说明图5中步骤S501至S504的实现过程。
步骤S501判断两个多边形所有对应向量的斜率是否相等的方法为:计算每组对应向量的斜率,若满足每组对应向量的斜率均相等,即和的斜率相等、和的斜率相等、和的斜率相等、和的斜率相等、和的斜率相等,则认为两个六边形所有对应向量的斜率相等,执行步骤S502;否则,执行步骤S504,即确定六边形A和六边形B不相似。本申请中以和为例,如果判断和的斜率相等,以此类推,判断其他对应向量的斜率是否相等。
根据步骤S501的判断,当确定两个六边形A和B所有对应向量的斜率相等时,再执行步骤S502,即判断两个多边形所有对应向量的长度比是否为同一个值,其方法为:计算每组对应向量的长度比,若满足和的长度比S12、和的长度比S13、和的长度比S14、和的长度比S15、和的长度比S16均为同一个值,假设该值为H,即S12=S13=S14=S15=S16=H,执行步骤S503,即确定六边形A和六边形B相似;否则,执行步骤S504,即确定六边形A和六边形B不相似。本申请中以和为例,长度比以此类推,计算其他对应向量的长度比。
需要说明的是,若确定两个多边形相似,那么这两个多边形的长度比即为两个多边形的相似比,其中,相似比为1时表示两个多边形的形状大小完全一致。
本实施例中,根据图5所示的流程图判断可知,L2层六边形组内的六边形A和六边形B相似,因此,将六边形A和六边形B归为同一个相似多边形组中,例如可将该相似多边形组记为第一相似多边形组。此时,L2层六边形组内没有被划分到第一相似多边形组的多边形包括六边形C和六边形D。
进一步的,在创建上述第一相似多边形组时,选择该组内的任意一个多边形作为第一相似多边形组的基准多边形。例如,选择该组内的六边形A作为该组的基准多边形L2sCell,该基准多边形L2sCell的作用是用于与L2层六边形组内未划分到第一相似多边形组内的六边形C和六边形D进行相似性匹配。重复图5所示的两个多边形相似性判断的步骤,可知六边形C与基准多边形L2sCell相似,因此,将六边形C也归到第一相似多边形组中;而六边形D与基准多边形L2sCell不相似,因此,不对六边形D做进一步的处理。
至此,已完全遍历了L2层六边形组内的全部多边形,将该L2层六边形组进一步的划分为第一相似多边形组和六边形D,其中,如图10所示的L2层第一相似多边形组可知,完全遍历过L2层六边形组内的四个六边形之后,得到的第一相似多边形组包括3个六边形A、B和C。
同理,根据图5所示的多边形相似性判断的流程,对图3示出的L2层四边形组内的多边形进行相似性判断,可知在本申请实施例中,L2层四边形组内的四边形E和四边形F相似,将四边形E和四边形F归到同一个相似多边形组内,例如可将该相似多边形组记为第二相似多边形组。下面可以选择该组内任意一个多边形作为该组的基准多边形,例如,选择四边形E作为第二相似多边形组的基准多边形。也可以因考虑到该L2层四边形组除已经被划分到第二相似多边形组内的四边形E和四边形F之外,已经没有其他的四边形需要再进一步分析是否要归到第二相似多边形组内,而不再确定该第二相似多边形组的基准多边形。
至此,图3所示的L2层多边形组内的全部多边形最终分为两个相似多边形组和六边形D,其中,第一相似多边形组包括3个六边形A、B和C,第二相似多边形组包括2个四边形E和F。本申请提供的方法主要是改进同层相似多边形组内多边形的存储方式,针对该同边数多边形组内无法划分到相似多边形组内的多边形,其存储方式与现有技术一样,本文不再赘述。
需要说明的是,同边数多边形组能否再划分为相似多边形组是依据组内多边是否相似而定的,实际中,可能存在一个同边数多边形组内的多边形均不相似,无法再进一步划分成相似多边形组的情况,此时多边形的存储方式与现有技术中一样,本文不再赘述。
请再次参阅图1,步骤S105:遍历相似多边形组,为每一个相似多边形组创建一个参考单元,将相似多边形组内的每一个多边形替换为该组对应的参考单元的引用。下面以图10所示的第一相似多边形组为例,进一步说明步骤S105的含义,具体如下:
首先,以第一相似多边形组对应的基准多边形L2sCell为准,创建与基准多边形L2sCell形状大小完全一致的单元作为第一相似多边形组的参考单元L2NewCell,并将所创建的参考单元L2NewCell的方形边框左下角顶点设置在该原始版图文件本层的坐标原点处,其中,参考单元L2NewCell的方形边框指能够包围参考单元L2NewCell的最小矩形方框。
然后,将第一相似多边形组内的3个六边形替换为带参考单元L2NewCell的引用,参考单元L2NewCell的引用包括偏移坐标和相似比,偏移坐标为多边形的方形边框左下角顶点坐标相较于参考单元L2NewCell的方形边框左下角顶点坐标的偏移量,相似比为多边形相较于参考单元L2NewCell的相似比。
下面以第一相似多边形组内的六边形A为例,偏移坐标指六边形A的方形边框左下角顶点坐标(Xa1,Ya1)相较于参考单元L2NewCell的方形边框左下角顶点坐标(0,0)的偏移量,可知偏移坐标为(Xa1,Ya1);相似比为六边形A相较于参考单元L2NewCell的相似比Pa。根据前文示例可知,该组内的六边形A是基准多边形L2sCell,而参考单元L2NewCell是按照与基准多边形L2sCell的形状大小完全一致设定的,因此相似比Pa为1。
下面再以第一相似多边形组内的六边形B为例,与确定该组内六边形A的偏移坐标过程类似,可得偏移坐标为(Xb1,Yb1);因为参考单元L2NewCell是按照与基准多边形L2sCell的形状大小完全一致创建的,且基准多边形L2sCell就是该组内的六边形A,因此,六边形B相对于参考单元L2NewCell的相似比Pb,即为六边形B相对于六边形A的相似比。
同样的,可以得到第一相似多边形组内的六边形C替换为带参考单元L2NewCell的引用,其偏移坐标和相似比的确定过程可以参见六边形B替换为带参考单元L2NewCell引用的过程,本文不再赘述。
再次参阅图1,步骤S106:当所述原始版图文件中的相似多边形均替换为对应的参考单元的引用之后,存储新的版图文件。
现有技术中,针对同层相似的多边形,需要存储每个多边形的全部顶点坐标。以图10所示的第一相似多边形组为例,现有技术中需要存储18(3*6)个坐标点,其中3表示该组内包含3个六边形,6表示一个六边形有6个顶点坐标。
本申请中,针对同层相似的多边形,在将相似多边形替换为对应的参考单元的引用之后,只需存储参考单元的全部顶点坐标,和组内多边形相对于该参考单元的偏移坐标和相似比即可。以图10所示的第一相似多边形组为例,本申请提供的方法需要存储12(6+2*3)个坐标点,其中6表示参考单元的全部顶点坐标数,2表示一个六边形的偏移坐标和相似比占用的空间(相似比占用的空间与偏移坐标一样),3表示该组内包含3个六边形。与现有技术相比,可以减少6(18-12)个坐标点的存储空间。
如图11所示的版图文件改进记录方式前后压缩比例示意图,从图中可以看出,相对于现有技术的方法,本申请提供的方法使得压缩效率有明显提高。
因此,与现有技术相比,采用本申请的方法记录同层相似的多边形,一定程度上减少了需要记录的坐标点,从而减小版图文件的大小,能够极大地减少版图文件占有的存储资源以及版图设计工具在读入版图文件时占有的计算机内存,提高计算机运行速度和版图设计工具的使用效率,提高集成电路设计和制造的数据传输效率。
基于相同的技术构思,如图12所示,本申请还提供一种电子设备,包括:包括处理器1402、通信接口1404、存储器1401和通信总线1403,其中,处理器1402,通信接口1404,存储器1401通过通信总线1403完成相互间的通信;
存储器1401,用于存放计算机程序;
处理器1402,用于执行存储器1401上所存放的程序时,实现上述任一方式所列的减小版图文件大小的方法。
基于相同的技术构思,本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行程序,计算机可执行程序用于使计算机执行上述任一方式所列的减小版图文件大小的方法。
基于相同的技术构思,本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一方式所列的减小版图文件大小的方法
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种减小版图文件大小的方法,其特征在于,包括以下步骤:
读入原始版图文件;
遍历版图层次,根据版图的层次进行分组,将属于相同层次的多边形全部归为同一个同层多边形组;
遍历同层多边形组,根据同层多边形的边数进行分组,将具有相同边数的多边形全部归为同一个同边数多边形组;
遍历同边数多边形组,根据所述同边数多边形组内的多边形是否相似进行分组,将匹配为相似的多边形全部归为同一个相似多边形组,所述相似多边形组包括至少两个相似多边形;
遍历相似多边形组,为每一个相似多边形组创建一个参考单元,将相似多边形组内的每一个多边形替换为该组对应的参考单元的引用,所述参考单元的引用包括偏移坐标和相似比,所述偏移坐标为所述多边形的方形边框左下角顶点坐标相较于对应参考单元的方形边框左下角顶点坐标的偏移量,所述相似比为所述多边形相较于对应参考单元的相似比;
当所述原始版图文件中的相似多边形均替换为对应的参考单元的引用之后,存储新的版图文件。
2.根据权利要求1所述的方法,其特征在于,判断所述同边数多边形组内的多边形是否相似具体包括:
若两个多边形所有对应向量的斜率相等,且所述两个多边形所有对应向量的长度比为同一个值,确定所述两个多边形相似,所述两个多边形的长度比为所述两个多边形的相似比;否则,确定所述两个多边形不相似。
3.根据权利要求2所述的方法,其特征在于,确实所述多边形的向量具体包括:
将所述多边形的方形边框左下角顶点作为所述多边形的向量起点,所述多边形的方形边框指能够包围所述多边形的最小矩形方框;
以所述向量起点为准,逆时针方向沿着所述多边形的边,将依次遍历到的所述多边形的顶点作为所述多边形的向量终点;
根据所述多边形的向量起点和所述多边形的向量终点确定所述多边形的全部向量。
4.根据权利要求3所述的方法,其特征在于,将依次遍历到的所述多边形的顶点作为所述多边形的向量终点,具体包括:
若所述多边形的向量起点与所述多边形的某一个顶点重合,则以所述向量起点为准,逆时针方向沿着所述多边形的边,将依次遍历到的所述多边形的其他全部顶点作为所述多边形的向量终点,所述其他全部顶点指所述多边形除与所述向量起点重合的顶点之外剩余的全部顶点;
若所述多边形的向量起点与所述多边形的某一个顶点不重合,则以所述向量起点为准,逆时针方向沿着所述多边形的边,将依次遍历到的所述多边形的全部顶点作为所述多边形的向量终点。
5.根据权利要求1所述的方法,其特征在于,创建相似多边形组时,选择该组内的一个多边形作为该组的基准多边形,所述基准多边形用于与所在的同边数多边形组内未划分到相似多边形组的多边形进行相似性匹配,若有与所述基准多边形相似的多边形,将该多边形归到所述基准多边形所在的相似多边形组内。
6.根据权利要求5所述的方法,其特征在于,为每一个相似多边形组创建一个参考单元具体包括:
以相似多边形组对应的基准多边形为准,创建与该基准多边形形状大小完全一致的单元作为该相似多边形组的参考单元,并将所创建的参考单元的方形边框左下角顶点设置在所述原始版图文件的坐标原点处,所述参考单元的方形边框指能够包围所述参考单元的最小矩形方框。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一项所述的方法步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110711155.6A CN113361226B (zh) | 2021-06-25 | 2021-06-25 | 一种减小版图文件大小的方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110711155.6A CN113361226B (zh) | 2021-06-25 | 2021-06-25 | 一种减小版图文件大小的方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113361226A CN113361226A (zh) | 2021-09-07 |
CN113361226B true CN113361226B (zh) | 2022-11-11 |
Family
ID=77536498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110711155.6A Active CN113361226B (zh) | 2021-06-25 | 2021-06-25 | 一种减小版图文件大小的方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113361226B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043884A (zh) * | 2010-12-29 | 2011-05-04 | 杭州广立微电子有限公司 | 一种减小版图文件大小的方法 |
CN105354866A (zh) * | 2015-10-21 | 2016-02-24 | 郑州航空工业管理学院 | 一种多边形轮廓相似度检测方法 |
CN111723847A (zh) * | 2020-05-21 | 2020-09-29 | 深圳市和美长丰科技有限公司 | 图形间相似度计算方法、系统、终端设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101211376A (zh) * | 2006-12-26 | 2008-07-02 | 北京中电华大电子设计有限责任公司 | 一种寄生参数提取工具专用的版图数据格式 |
CN104700435B (zh) * | 2013-12-09 | 2017-12-05 | 上海华虹宏力半导体制造有限公司 | 一种利用oasis图形阵列压缩版图数据的方法 |
-
2021
- 2021-06-25 CN CN202110711155.6A patent/CN113361226B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043884A (zh) * | 2010-12-29 | 2011-05-04 | 杭州广立微电子有限公司 | 一种减小版图文件大小的方法 |
CN105354866A (zh) * | 2015-10-21 | 2016-02-24 | 郑州航空工业管理学院 | 一种多边形轮廓相似度检测方法 |
CN111723847A (zh) * | 2020-05-21 | 2020-09-29 | 深圳市和美长丰科技有限公司 | 图形间相似度计算方法、系统、终端设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113361226A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7065731B2 (en) | Removal of acute angles in a design layout | |
Peng et al. | Connectivity editing for quadrilateral meshes | |
JP2000114379A (ja) | 集積回路設計方法及び集積回路設計装置 | |
JP2007188488A (ja) | パッキングベースのマクロ配置方法とそれを用いた半導体チップ | |
CN114004939B (zh) | 一种基于建模软件脚本的三维模型优化方法及系统 | |
US6553553B2 (en) | Method of designing layout of semiconductor device | |
CN113947654A (zh) | 在图形处理系统中对基元分块 | |
CN112668289A (zh) | 一种嵌套表格的提取方法及装置、存储介质 | |
CN116861840A (zh) | 一种基于二进制网格索引结构的填充方法及填充框架 | |
CN106570922A (zh) | 一种提高三维模型渲染性能的方法 | |
US8539416B1 (en) | Methods, systems, and articles of manufacture for creating a hierarchical output for an operation in an electronic design | |
CN116227209A (zh) | 一种点云数据多维线性差值方法、终端设备及存储介质 | |
EP3550523B1 (en) | Ordering in tessellation operations | |
CN117391011B (zh) | 层次版图验证中实现图形布尔处理的方法及装置 | |
CN108880872B (zh) | 一种互联网测试床拓扑结构分解方法及装置 | |
CN113361226B (zh) | 一种减小版图文件大小的方法及电子设备 | |
US8510685B1 (en) | Methods, systems, and articles of manufacture for creating a hierarchical output for an operation in an electronic design | |
US8390620B1 (en) | Technique for converting non-conforming hexahedral-to-hexahedral interfaces into conforming interfaces | |
CN107315863B (zh) | 布局优化方法及装置、终端及存储介质 | |
US20050229124A1 (en) | Distributed BDD reordering | |
US11416660B1 (en) | Automatic placement of analog design components with virtual grouping | |
CN104517273A (zh) | 一种图像超分辨率处理方法及装置 | |
US20210264081A1 (en) | Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same | |
JP4930025B2 (ja) | 積込順序決定装置、積込順序決定方法、及び積込順序決定プログラム | |
US7080339B2 (en) | Plane representation of wiring in a design layout |
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 |