[发明专利]快速读写海量数据文件的方法有效
申请号: | 201010118129.4 | 申请日: | 2010-03-04 |
公开(公告)号: | CN102193873A | 公开(公告)日: | 2011-09-21 |
发明(设计)人: | 吴玉平;陈岚;叶甜春 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 北京市德权律师事务所 11302 | 代理人: | 王建国 |
地址: | 100029 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 快速 读写 海量 数据文件 方法 | ||
技术领域
本发明涉及电子设计自动化(EDA)领域,特别是一种快速读写海量数据文件的方法。
背景技术
物理版图数据文件是系统集成电路芯片(SOC)设计中数据量最大的文件,目前已有的SOC电路的物理版图数据文件的大小规模在几个GB到几十个GB量级,随着集成电路工艺的不断发展和设计技术的不断进步,SOC电路的物理版图数据规模将达到几百个GB的量级。
在SOC设计流程中,对物理版图数据的读写较为频繁:物理综合需要写出物理版图数据;物理版图优化需要读取和写出物理版图数据;几何设计规则检查需要读取物理版图数据;寄生参数提取需要读取物理版图数据;电路图和物理版图一致性检查(LVS)需要读取物理版图数据;可制造性设计优化(DFM)需要读取物理版图数据。
传统的数据输入输出方式是基于最小基本数据单位进行的,需要在计算机内存中逐一构造每一基本数据单位。以传统的数据输入输出方式读写物理版图数据文件规模的数据,一次就需要几十分钟甚至几十个小时,而在设计流程中,尤其是在设计流程的后端,需要频繁地读取如此规模的数据,这使得海量规模的物理版图数据输入输出成为了集成电路设计过程中的一个重要瓶颈。
发明内容
本发明的目的之一在于提供一种快速读写海量数据文件的方法,用于在集成电路设计过程中,提高海量规模的物理版图数据输入输出的效率。
本发明的实施例提供了一种快速读写海量数据文件的方法,包括:
对海量数据文件的数据类型进行分类,为不同数据类型的数据申请存储页面,将相同类型的数据存储到内存中的同一存储页面,利用存储页面到硬盘的快速写入,将存储页面内的全部数据一次性地写入硬盘。
本发明通过将相同类型的物理版图数据存储到内存中的同一存储页面,而所有物理版图数据存储页面的大小是相同的,能够简化和加速存储页面的创建、导入和导出,并且存储页面的大小为计算机内存页面大小,这样能够减小内存碎片,提高内存使用效率。在将存储页面的内容写到硬盘时,忽略内存中具体存储位置上的数据属于哪一个具体的数据类型和占据多少数据单位,而是将该存储页面的镜像数据写入硬盘的相应文件;在将硬盘中的物理版图数据读入内存时,内存存储页面的数据镜像在硬盘数据文件中得到了保留,重新读回到内存存储页面的数据保留了各自原先在存储页面内的位置。从而无需关注具体的数据类型和具体的数据单位以及具体数据单位的重构,避免了全部数据的逐一重构,提高了读写速度,实现了计算机存储器和硬盘之间快速读写海量集成电路物理版图数据。
附图说明
图1是本发明实施例提供的快速读写海量数据文件的方法流程图;
图2是本发明实施例中物理版图数据存储页面的结构图;
图3是本发明实施例中为物理版图数据申请存储页面的示意图;
图4是本发明实施例中将物理版图数据存储页面写入硬盘的示意图;
图5是本发明实施例中从硬盘数据文件向内存存储页面读入存储页面镜像的示意图。
具体实施方式
本发明的技术方案可应用于物理综合、物理验证、寄生参数提取等集成电路设计的自动化软件中,在计算机存储器和硬盘之间快速读写集成电路设计中产生的海物理版图数据文件,可有效地回避集成电路设计过程中的海量物理版图数据输入输出所带来的设计瓶颈。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
图1是本实施例提供的快速读写海量数据文件的方法流程图,包括以下步骤:
步骤101、对物理版图数据的数据类型进行分类。物理版图数据分类的依据是物理版图数据的内容,同一类型的物理版图数据其存储空间的字节数相同,根据类型分类的目的是将不同存储长度的物理版图数据分开存储。
举例说明,数据类型可以分为LibHeaderRecord,CellNameRecord,LibCatalogRecord,ChangeNameRecord,CellHeaderRecord,PropertySetRecord,DisplayPropRecord,PropertyRecord,RectangleRecord,GdsRectRecord,ValueRectangleRecord,ViaRecord,ViaArrayRecord,OffsetViaArrayRecord,PolyRecord,PathRecord,WireRecord等,但不仅限于这些,根据实际应用可以进一步增加。下面是对Poly、Path、Wire类型数据的定义:
struct PolyRecord{
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010118129.4/2.html,转载请声明来源钻瓜专利网。