一种超大规模集成电路版图数据的管理方法技术

技术编号:4170388 阅读:426 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种超大规模集成电路版图数据的管理方法,特别是针对版图交互编辑中的显示、局部数据修改。本方法根据物体大小分层;在每层上采用空间填充曲线为每个物体计算一个值作为标签;针对每一个层,以该层上物体的标签排序,并构建成B+树,数据存放在以页面为单位的数据文件中;在需要取得或修改某一个区域的物体集合时,首先读入索引文件,使用B+树作为索引,把相应的数据调入主存进行处理或在对数据修改之后将之重新写出到文件中;页面读入、写出通过特定的缓存进行。

Method for managing layout data of very large scale integrated circuit

The invention discloses a method for managing the layout data of an ultra large scale integrated circuit, especially for displaying and modifying local data in the interactive editing of the layout. The method according to the size of objects in each layer by layer; space on computing a value as a label for each object filling curve; for each layer, the object layer to sort the label, and to build a B + tree, data stored in the page as the unit of data files in need or modify; one region of the object set, first read the index file, as indexed using binary tree, the corresponding data into memory for processing or after the modification will re write data to a file; the page read, write through cache for specific.

【技术实现步骤摘要】

本专利技术涉及,特别是针对版图交互编辑中的 显示、局部数据修改,属于计算机辅助设计中的数据库管理领域。 背彔技术随着设计尺寸的减小和设计规模的增大,版图所需要处理的数据越来越大,无论是查看、 编辑、检查还是使用这些数据都会受到硬件系统处理上限的限制。因此,设计一个新的数据 管理系统处理这些需求,使建立在这个系统之上的应用程序能够自由的访问,使用这些数据 而不被系统所能够提供的环境限制成为了一个必然的需要。通过分析,对数据的应用(主要是编辑器的查看,修改以及其他类型应用程序对数据的 需求)很多时候都是具有区域性和层次性的。B卩,在应用的某一个时刻并不是所有的数据都 需要被读入到内存中,只有一部分会被应用程序所访问到,并且这些数据往往具有几何位置 上的局部性(由版图数据是几何图形的几何这一特性所决定的)。例如,对于一个版图的显示 应用来说,显然1. 不需要的区域可以暂不读入内存;2. 对于当前的显示范围来说过于微小的物体不需要被读入内存;3. 当内存达到系统所能够提供的上限的时候能够将那些当前不需要的区域和尺寸层次 上的物体所占用的区域交换到文件中去;4. 保存在当前内存中的数据只是为了满足当前的显示需求,只有当确实需要读取某一 区域的确切内容的时候该区域才会被读入内存中。对于一般应用来说,即使需要把数据处理成其内部的表示形式,也需要从数据系统中取 得相应的数据部分供其使用。其要求往往会表现为1. 对某一个范围的査询(region query,或在一维上range query);2. 针对某一个特征值的查询(exact query);3. 对某一个区域周围情况的査询(neighboring query);4. 针对某一个范围中的每一个数据做某种操作(对数据子集的遍历处理,cursor); 因此,从一个存在的标准数据流格式(stream format),例如,GDSII, OASIS等业界所采用标准格式来说,读入并重新组织这些数据,以自己定义的格式存储,作为数据管理的桥 梁提供给后端的应用程序使用是一个有意义的工作。
技术实现思路
在当前情况下,几十G、乃至上百G的GDSII已经是当前实际设计中出现的规模。根据 不同的应用目的,对数据査询的种类也不同例如,设计规则检查DRC等多会是局部细节的 数据要求;而版图编辑器则主要是做显示用,可以只知道一个概略的情况,然后根据使用者 的要求按需到要求的处理级别上;其他的例如光学接近校正0PC应用可能会更强调数据的局 部修改,要求能在短时间内处理小规模的数据插入、删除操作。本专利技术公开的集成电路版图数据的管理方法提供给使用者可选择的处理物体本身的大小 范围、要处理的物体所在的区域的大小、在指定可使用的内存大小下配置,调节数据库的表 现,满足要求。这是一个external memory system (model)。数据的存储和程序代码的存储 空间是分开的,管理的是数据从文件空间到内部内存空间(进程空间)的映射。本专利技术使用带有区域查询特征的B+树形式索引组织、査找、管理数据,依靠空间填充曲 线保持从二维平面位置到一维曲线上时数据存储的空间局部特性。B+树把一维的线性空间分成不交叠的区间,并把这些区间封成一个个的节点。B+树针对 每一个物体计算出它的大小和它所在大小所对应的层上的空间填充曲线的索引;然后把这些物体连同它们的索引排序,并把排好序的这个相对于整个图形空间的序列压倒一个个的数据 页面、索引页面中就可以构建出一个具有所给定的空间利用率的B+树索引文件和数据文件。 可供选用的空间填充曲线很多,诸如Hilbert曲线,Z曲线,U曲线。在实现的时候可以根据 需要进行选择。但无论采用那种曲线,都是要保持二维平面的图形局部特性。 下面是数据重组和使用的具体流程-1) 从诸如GDSII等流数据文件中读入每一个图形,根据图形的最小外框BBox的最大尺 寸,取两个方向上跨度的最大者分层,每个分层称为一个mesh层;同时根据所采用的空间填 充曲线,对每个按照近似大小分层上图形的位置编码;取物体的左下坐标计算出该物体在其 所在层上的索引值;处理好之后的物体连同它们的索引值,按照所在的不同mesh层分别写到 临时文件中。2) 对每一个大小的mesh层所对应的临时文件中的图形索引排序,在排序之后使用批处 理的方式构建一棵B+树,并按照预先确定的页面大小写入到最终的索引文件和数据文件中, 完成数据的组织。3) 根据所要求的访问的尺寸,确定raesh上需要被访问的数据,并根据需要访问的2维 区域(一般是个矩形区域),确定对应空间填充曲线上的曲线段;把所需的索引页面和数据页 面读入到特定的缓冲区策略所控制的内存区域中,提供指针供应用程序使用。4) 应用程序使用数据的时候,直接使用映射到主存中的文件镜像,并在镜像上做修改,然后将修改后的页面写出到原来文件中的页面上;如果有页面上的数据被全部删除或者剩下 的数据很少以至于可以把它分布到其周围的页面中时,把这个页面标记为空页面,交给一个 基于文件的空页面链表处理;反之,当需要一个新的页面的时候,首先使用空页面链表中页 面,如果没有,则直接在文件的末尾增加所需的页面。这样,小规模的修改只需影响到有限 的几个页面。当修改较多的时候,文件中数据存放的局部性会被破坏,这时只要将文件从头 到尾按照其在B+树中的排序顺序重新写出到一个新的文件中就可以恢复数据局部性。 附图说明图1为版图数据的管理方法的构建和使用流程。 图2为版图数据的管理方法中mesh分层的示意图。 图3为使用Z编码时的编码、查询过程。 具体实施例方式下面结合附图和实施例对本专利技术进一步说明。实现本专利技术的步骤如下1) 数据的分层(mesh plane)如图2所示,mesh-plane实际上是一个类似于从上到下一个个网眼大小固定的筛子,当 一个object进入时,大的物体留在上层,而小的物体会掉落在下层。这些以物体的max-size 为判断标准形成的层构成了版图数据的管理方法系统中的一个个mesh-plane。对于32位的 坐标表示空间来说,在2x2倍大小的相邻plane尺寸要求下,只能存在32个plane。例如, l号plane的大小是32-bit数据的最高位,32号plane的网眼大小是size的最低位。并且 任何一个物体一定也只能存在于一个mesh-plane中。图2中有3层mesh-plane。2) 以Z编码为例的索引(key)生成版图数据一般是大量大小差距不大的图形所组成,而且趋于均匀分布,特别大和特别少 的物体,以及某一个大小的物体在某个区域上大量堆积的情况比较少。因此,在确定了一个 图形应该属于那个mesh-plane以后,由于图形所在的raesh是根据其大小而确定的,bin的 大小和这层上的物体的大小是相当的。图形会落到该层mesh所划分的某一个bin当中(这里 取其左下角坐标,作为一个点必然回落到某一个bin中)。然后,取其所在的bin的位置作为 这个object的位置描述是恰当的。下一个步骤就是对每一个mesh-plane上的bin给与一个值来描述它在这个plane中的位 置,这里采用的是位交错的方法将每一个bin编码,并构成了一个从左下角到右上角整个排 序的序列,即,所本文档来自技高网
...

【技术保护点】
一种超大规模集成电路版图数据的管理方法,Abyss,特别针对版图交互编辑中的显示、局部修改对二维的图形数据进行了组织,其构造和使用的步骤如下: 1)使用分层管理,从流数据文件中读入每一个图形,根据图形的最小外框的最大尺寸,取两个方向上 跨度的最大者进行分层;根据图形的大小把图形分布到不同的层上,以便根据读取尺寸的需要选择不同的层、区域上的物体集合; 2)根据所采用的空间填充曲线,对每个按照近似大小分层上图形的位置编码,取物体的左下坐标计算出该物体在其所在层上的索引值 ,处理好之后的物体连同它们的索引值,按照所在的不同分层分别写到临时文件中; 3)针对每一个分层所对应的临时文件中的图形索引排序,以便用批处理的方式构建一棵B+树,并按照事先选定的页面大小输出到最终的索引文件和数据文件中,完成数据的组织 ,对每一个层上的数据页面,把页面中数据的索引最小值和页面的偏移量插入到B+树的叶节点中;叶节点中同时使用两个位表示所指向的页面中的物体集合是否覆盖到了其上面和右面的相邻区域; 4)数据访问时,根据访问的尺寸范围,确定涉及的分层;根据需 要访问的矩形区域,确定在对应空间填充曲线上切割形成的索引范围;根据B+树的结构,把所需的索引页面和数据页面读入到特定的缓冲区策略所控制的内存区域中,提供指针供应用程序使用; 5)应用程序使用数据的时候,通过缓存使用映射到主存中的文件镜 像,并在镜像上做修改,然后由缓冲区将修改后的页面写出到原来文件中的页面上;如果有页面被清空时,把这个页面标记为空页面,交给一个基于文件的空页面链表处理;反之,当需要一个新的页面的时候,首先使用空页面链表中页面,如果没有,则直接在文件的末尾增加所需的页面。...

【技术特征摘要】

【专利技术属性】
技术研发人员:苏毅
申请(专利权)人:北京华大九天软件有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1