CN111444667A - 一种快速删除gdsii文件中晶体管数据的方法 - Google Patents
一种快速删除gdsii文件中晶体管数据的方法 Download PDFInfo
- Publication number
- CN111444667A CN111444667A CN201811637947.8A CN201811637947A CN111444667A CN 111444667 A CN111444667 A CN 111444667A CN 201811637947 A CN201811637947 A CN 201811637947A CN 111444667 A CN111444667 A CN 111444667A
- Authority
- CN
- China
- Prior art keywords
- cell
- tmpcell
- deleting
- path set
- cells
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供一种快速删除GDSII文件中晶体管数据的方法,在删除Cell之前,构建双向图,基于拓扑排序算法,先删除Cell的相关路径,同时收集需要删除的Cell集合,最后再删除这个Cell集合,从而提升效率。
Description
技术领域
本发明是关于集成电路版图设计领域,特别涉及一种快速删除GDSII文件中晶体管数据的方法。
背景技术
随着工艺节点的不断发展,集成电路设计的复杂度不断提升,现有EDA软件在处理GDSII文件的也面临越来越大的挑战。GDSII是一个二进制文件,其中含有集成电路版图中的平面的几何形状,文本或标签,以及其他有关信息,并可以由层次结构组成。
当EDA软件读入该文件时候,先构建相应的数据结构,命名为Cell;Cell中包括一个晶体管的几何形状等数据集合,和该Cell一条或多条指向另一个Cell的指向路径。然后将GDSII文件中的信息读入后转换为一系列的Cell数据,存储在以Cell名为Key的HashMap或Map的容器中,成为一个有向图,可参考图1。Map和HashMap的特点就是Key的唯一性,用户可以通过Key,直接找到容器中所存储的数据对象。
集成电路的设计人员在设计版图的过程中,经常会进行删除操作。但由于数据量庞大,现有方案一般是在数据结构上存储当前Cell的数据和向下的指向路径,这就导致执行删除某个晶体管的操作,耗时很长,给版图设计人员带来困扰,其删除操作具体见流程图a。因此,需要一种快速删除GDSII文件中某一个cell的方法,以提高提升效率。
发明内容
本发明的主要目的在于克服现有技术中的不足,提供一种利用拓扑排序的特点,搜集并快速删除目标晶体管的方法。为实现上述技术目的,本发明的技术方案是:
提供一种快速删除GDSII文件中晶体管数据的方法,具体包括下述步骤:
步骤(1):读入GDSII文件,构建数据结构Cell,获得所有Cell形成的单向数据图;
每个Cell中包括Cell名、一个晶体管的信息数据和该Cell的向下路径集合;其中,Cell名是能唯一指向该Cell的Cell标识,向下路径集合中的元素是该Cell指向的Cell名;
步骤(2):获取需要删除的若干个目标Cell;
步骤(3):取一个待删除的目标Cell,设为Cell T;
步骤(4):判断Cell T的向下路径集合是否为空集:
若是空集,则遍历所有Cell并删除所有Cell的向下路径集合中的Cell T元素,然后删除Cell T,即完成该目标Cell的删除操作,再至步骤(5)执行;
若不是空集,则通过下述方法完成Cell T的删除操作:
根据双向数据图,通过Cell名,确定Cell T对应的TmpCell,设为TmpCell T;
所述双向数据图是基于临时数据结构TmpCell建立的有向图;每个TmpCell中包括Cell名、一个晶体管的信息数据和该Cell的向上路径集合和向下路径集合;其中,向上路径集合中的元素是指向该Cell的Cell名,向下路径集合中的元素是该Cell指向的Cell名;
利用双向数据图,收集TmpCell T逐层指向的所有需删除的TmpCell的Cell名;所述需删除的TmpCell是指删除TmpCell T后,不存在完整的向上路径的TmpCell;
根据收集的Cell名,删除每个Cell名对应的数据结构Cell,然后删除Cell T,即完成该目标Cell T的删除操作;
步骤(5):判断是否还有未删除的目标Cell:
若有,则至步骤(3)执行;
若没有,则删除所有临时数据结构TmpCell和双向数据图,完成对所有目标Cell的删除。
作为进一步的改进,所述双向数据图通过下述方式建立:遍历所有Cell,构建临时数据结构TmpCell,获得所有TmpCell形成的双向数据图。
作为进一步的改进,所述步骤(4)中,对于向下路径集合不是空集的Cell T,CellT的删除操作具体包括下述步骤:
步骤a:根据双向数据图,通过Cell名,确定Cell T对应的TmpCell,设为TmpCellT;
步骤b:遍历TmpCell T的向上路径集合中的元素,并删除每个元素的向下路径集合中的TmpCell T元素,然后删除TmpCell T的向上路径集合;
步骤c:设置用于存放TmpCell的队列容器C和用于存放Cell名的容器V;往队列容器C中推入TmpCell T,作为队列的头部;
步骤d:获取队列容器C中队列的头部设为TmpCell X,获取TmpCell X的向下路径集合并设为数据集S,然后在队列容器C中删除该TmpCell X;
逐个遍历数据集S中的元素,分别对当前元素进行下述操作:删除该TmpCell的向上路径集合中的TmpCell X元素,然后判断此时该TmpCell的向上路径集合是否为空集,若是空集,则将该TmpCell的Cell名加入容器V,并将该TmpCell推入队列容器C,否则,不对该TmpCell进行处理;
步骤e:判断当前队列容器C中是否有元素:
若有,则至步骤d执行;
若无,则说明容器V中已收集了TmpCell T逐层指向的所有Cell名,然后继续执行步骤f;
步骤f:根据容器V中收集的Cell名,删除每个Cell名对应的数据结构Cell,然后删除Cell T,即完成该目标Cell T的删除操作。
作为进一步的改进,所述快速删除GDSII文件中晶体管数据的方法,完成对所有目标Cell的删除后,再遍历所有Cell并删除所有Cell的向下路径集合中指向空Cell的元素。
与现有技术相比,本发明的有益效果是:
本发明在删除Cell之前,构建双向图,基于拓扑排序算法,先删除Cell的相关路径,同时收集需要删除的Cell集合,最后再删除这个Cell集合,从而提升效率。
在EDA软件处理GDSII文件的时候,通过数据模型的转换和算法的应用,快速删除目标晶体管的数据,特别是当批量删除时,只需建立一次双向图,删除效率比较高。
附图说明
图1为基于数据结构Cell建立的单向数据图示意图。
图2为临时数据结构TmpCell示意图。
图3为现有技术删除GDSII文件中某一个Cell的流程图。
图4为本发明快速删除GDSII文件中晶体管数据的方法流程图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
如图4所示的一种快速删除GDSII文件中晶体管数据的方法,具体包括下述步骤:
步骤(1):读入GDSII文件,构建数据结构Cell,获得所有Cell形成的单向数据图,单向数据图可参考图1。每个Cell中包括Cell名、一个晶体管的信息数据和该Cell的向下路径集合;其中,Cell名是能唯一指向该Cell的Cell标识,向下路径集合中的元素是该Cell指向的Cell名。
步骤(2):获取需要删除的若干个目标Cell。
步骤(3):取一个待删除的目标Cell,设为Cell T。
步骤(4):判断Cell T的向下路径集合是否为空集:
若是空集,则遍历所有Cell并删除所有Cell的向下路径集合中的Cell T元素,然后删除Cell T,即完成该目标Cell的删除操作,再至步骤(5)执行;
若不是空集,则通过下述步骤完成Cell T的删除操作:
步骤a:根据双向数据图,通过Cell名,确定Cell T对应的TmpCell,设为TmpCellT。
所述双向数据图是基于临时数据结构TmpCell建立的有向图。每个TmpCell中包括Cell名、一个晶体管的信息数据和该Cell的向上路径集合和向下路径集合;其中,向上路径集合中的元素是指向该Cell的Cell名,向下路径集合中的元素是该Cell指向的Cell名,具体可参考图2,路径①、②是向上路径,路径③、④、⑤是向下路径。
需要特别指出的是,当步骤(2)中获取的需要删除的目标Cell不只1个的时候,即进行批量删除时,只需在删除第一个目标Cell的过程中,遍历一次建立双向数据图,遍历建立方式为:遍历所有Cell,构建临时数据结构TmpCell,获得所有TmpCell形成的双向数据图。
步骤b:遍历TmpCell T的向上路径集合中的元素,并删除每个元素的向下路径集合中的TmpCell T元素,然后删除TmpCell T的向上路径集合。
步骤c:参照拓扑排序算法原理,设置用于存放TmpCell的队列容器C和用于存放Cell名的容器V,往队列容器C中推入TmpCell T,作为队列的头部。
步骤d:获取队列容器C中队列的头部设为TmpCell X,获取TmpCell X的向下路径集合并设为数据集S,然后在队列容器C中删除该TmpCell X。
逐个遍历数据集S中的元素,分别对当前元素进行下述操作:删除该TmpCell的向上路径集合中的TmpCell X元素,然后判断此时该TmpCell的向上路径集合是否为空集,若是空集,则将该TmpCell的Cell名加入容器V,并将该TmpCell推入队列容器C,否则,不对该TmpCell进行处理。
步骤e:判断当前队列容器C中是否有元素:若有,则至步骤d执行;若无,则说明容器V中已收集了TmpCell T逐层指向的所有Cell名,然后继续执行步骤f。
步骤f:根据容器V中收集的Cell名,删除每个Cell名对应的数据结构Cell,然后删除Cell T,即完成该目标Cell T的删除操作。
步骤(5):判断是否还有未删除的目标Cell:若有,则至步骤(3)执行;若没有,则删除所有临时数据结构TmpCell和双向数据图,完成对所有目标Cell的删除。
针对上述快速删除GDSII文件中晶体管数据的方法需要说明的是,在完成对所有目标Cell的删除后,可选择进行下述操作:再遍历所有Cell并删除所有Cell的向下路径集合中指向空Cell的元素。若不进行该操作,会在Cell数据结构中存在指向空Cell的路径,但对于整个GDSII中的有效版图信息是没影响的;若进行该操作,可消除Cell数据结构中指向空Cell的路径,但需要再遍历一次Cell,删除效率降低。故,这里可根据实际应用需求,选择是否进行遍历删除操作。
下面的实施例可以使本专业的专业技术人员更全面地理解本发明,但不以任何方式限制本发明。
当设计人员需要删除某个Cell X的时候,该Cell X所处的数据关系图如图1所示。使用本发明快速删除GDSII文件中晶体管数据的方法,其删除步骤如下:
第1步:建立基于TmpCell双向数据图,删除Cell3和Cell4指向CellX的路径;
第2步:基于双向数据图,利用拓扑排序算法,收集需要删除的Cell7和Cell8,同时删除CellX中指向Cell6的路径。
第3步:删除实体的数据结构Cell7、Cell8和CellX,删除双向数据图。
实验数据证明,EDA软件在处理GDSII文件时,采用本发明的方法执行删除某个晶体管的操作,相比较图3所示的现有技术,效率提升40%-50%。
另通过对比实验得出:删除30个复杂晶体管,采用现有技术执行删除需耗时1.007s,而采用本发明的方法执行删除仅需耗时0.426s;删除60个复杂晶体管,采用现有技术执行删除需耗时3.176s,而采用本发明的方法执行删除仅需耗时0.531。证明当批量删除时,采用本发明的方法删除效率会更高,且需要删除的晶体管数据越多,效率提升越多。
最后,需要注意的是,以上列举的仅是本发明的具体实施例。显然,本发明不限于以上实施例,还可以有很多变形。本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应认为是本发明的保护范围。
Claims (4)
1.一种快速删除GDSII文件中晶体管数据的方法,其特征在于,具体包括下述步骤:
步骤(1):读入GDSII文件,构建数据结构Cell,获得所有Cell形成的单向数据图;
每个Cell中包括Cell名、一个晶体管的信息数据和该Cell的向下路径集合;其中,Cell名是能唯一指向该Cell的Cell标识,向下路径集合中的元素是该Cell指向的Cell名;
步骤(2):获取需要删除的若干个目标Cell;
步骤(3):取一个待删除的目标Cell,设为Cell T;
步骤(4):判断Cell T的向下路径集合是否为空集:
若是空集,则遍历所有Cell并删除所有Cell的向下路径集合中的Cell T元素,然后删除Cell T,即完成该目标Cell的删除操作,再至步骤(5)执行;
若不是空集,则通过下述方法完成Cell T的删除操作:
根据双向数据图,通过Cell名,确定Cell T对应的TmpCell,设为TmpCell T;
所述双向数据图是基于临时数据结构TmpCell建立的有向图;每个TmpCell中包括Cell名、一个晶体管的信息数据和该Cell的向上路径集合和向下路径集合;其中,向上路径集合中的元素是指向该Cell的Cell名,向下路径集合中的元素是该Cell指向的Cell名;
利用双向数据图,收集TmpCell T逐层指向的所有需删除的TmpCell的Cell名;所述需删除的TmpCell是指删除TmpCell T后,不存在完整的向上路径的TmpCell;
根据收集的Cell名,删除每个Cell名对应的数据结构Cell,然后删除Cell T,即完成该目标Cell T的删除操作;
步骤(5):判断是否还有未删除的目标Cell:
若有,则至步骤(3)执行;
若没有,则删除所有临时数据结构TmpCell和双向数据图,完成对所有目标Cell的删除。
2.根据权利要求1所述的一种快速删除GDSII文件中晶体管数据的方法,其特征在于,所述双向数据图通过下述方式建立:遍历所有Cell,构建临时数据结构TmpCell,获得所有TmpCell形成的双向数据图。
3.根据权利要求1所述的一种快速删除GDSII文件中晶体管数据的方法,其特征在于,所述步骤(4)中,对于向下路径集合不是空集的Cell T,Cell T的删除操作具体包括下述步骤:
步骤a:根据双向数据图,通过Cell名,确定Cell T对应的TmpCell,设为TmpCell T;
步骤b:遍历TmpCell T的向上路径集合中的元素,并删除每个元素的向下路径集合中的TmpCell T元素,然后删除TmpCell T的向上路径集合;
步骤c:设置用于存放TmpCell的队列容器C和用于存放Cell名的容器V;往队列容器C中推入TmpCell T,作为队列的头部;
步骤d:获取队列容器C中队列的头部设为TmpCell X,获取TmpCell X的向下路径集合并设为数据集S,然后在队列容器C中删除该TmpCell X;
逐个遍历数据集S中的元素,分别对当前元素进行下述操作:删除该TmpCell的向上路径集合中的TmpCell X元素,然后判断此时该TmpCell的向上路径集合是否为空集,若是空集,则将该TmpCell的Cell名加入容器V,并将该TmpCell推入队列容器C,否则,不对该TmpCell进行处理;
步骤e:判断当前队列容器C中是否有元素:
若有,则至步骤d执行;
若无,则说明容器V中已收集了TmpCell T逐层指向的所有Cell名,然后继续执行步骤f;
步骤f:根据容器V中收集的Cell名,删除每个Cell名对应的数据结构Cell,然后删除Cell T,即完成该目标Cell T的删除操作。
4.根据权利要求1所述的一种快速删除GDSII文件中晶体管数据的方法,其特征在于,完成对所有目标Cell的删除后,再遍历所有Cell并删除所有Cell的向下路径集合中指向空Cell的元素。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811637947.8A CN111444667B (zh) | 2018-12-29 | 2018-12-29 | 一种快速删除gdsii文件中晶体管数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811637947.8A CN111444667B (zh) | 2018-12-29 | 2018-12-29 | 一种快速删除gdsii文件中晶体管数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111444667A true CN111444667A (zh) | 2020-07-24 |
CN111444667B CN111444667B (zh) | 2023-03-21 |
Family
ID=71648483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811637947.8A Active CN111444667B (zh) | 2018-12-29 | 2018-12-29 | 一种快速删除gdsii文件中晶体管数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111444667B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001306355A (ja) * | 2000-04-18 | 2001-11-02 | Ando Electric Co Ltd | Icテストシステムおよびそのファイル削除方法 |
JP2001309735A (ja) * | 2000-04-28 | 2001-11-06 | Japan Science & Technology Corp | SmgGDS遺伝子欠損動物 |
US20060041849A1 (en) * | 2004-08-23 | 2006-02-23 | Semiconductor Insights Inc. | Method and apparatus for reducing redundant data in a layout data structure |
CN106844796A (zh) * | 2015-12-03 | 2017-06-13 | 北京华大九天软件有限公司 | 一种版图数据中层次物体删除的方法 |
CN106912040A (zh) * | 2017-01-24 | 2017-06-30 | 中国人民解放军电子工程学院 | 一种融合删除法的AdHoc网络关键节点识别方法 |
CN107247805A (zh) * | 2014-12-02 | 2017-10-13 | 厦门飞游信息科技有限公司 | 一种基于a*算法的路径搜索方法、设备及计算终端 |
US20180218005A1 (en) * | 2017-01-28 | 2018-08-02 | Microsoft Technology Licensing, Llc | Chunk storage deduplication using graph structures |
-
2018
- 2018-12-29 CN CN201811637947.8A patent/CN111444667B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001306355A (ja) * | 2000-04-18 | 2001-11-02 | Ando Electric Co Ltd | Icテストシステムおよびそのファイル削除方法 |
JP2001309735A (ja) * | 2000-04-28 | 2001-11-06 | Japan Science & Technology Corp | SmgGDS遺伝子欠損動物 |
US20060041849A1 (en) * | 2004-08-23 | 2006-02-23 | Semiconductor Insights Inc. | Method and apparatus for reducing redundant data in a layout data structure |
CN107247805A (zh) * | 2014-12-02 | 2017-10-13 | 厦门飞游信息科技有限公司 | 一种基于a*算法的路径搜索方法、设备及计算终端 |
CN106844796A (zh) * | 2015-12-03 | 2017-06-13 | 北京华大九天软件有限公司 | 一种版图数据中层次物体删除的方法 |
CN106912040A (zh) * | 2017-01-24 | 2017-06-30 | 中国人民解放军电子工程学院 | 一种融合删除法的AdHoc网络关键节点识别方法 |
US20180218005A1 (en) * | 2017-01-28 | 2018-08-02 | Microsoft Technology Licensing, Llc | Chunk storage deduplication using graph structures |
Non-Patent Citations (1)
Title |
---|
陈小春: "基于指纹和冗余布线的版图数字水印方法研究与实现" * |
Also Published As
Publication number | Publication date |
---|---|
CN111444667B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038206B (zh) | Lsm树的建立方法、lsm树的数据读取方法和服务器 | |
CN102799679B (zh) | 基于Hadoop的海量空间数据索引更新系统及方法 | |
WO2019075849A1 (zh) | 数据的分区存储方法、装置、计算机设备及存储介质 | |
CN107229414B (zh) | 存储空间回收方法及装置 | |
CN103150079A (zh) | 一种基于Firefox OS平台的应用图标管理方法及装置 | |
US11055463B1 (en) | Systems and methods for gate array with partial common inputs | |
CN103150398A (zh) | 一种基于国家基础地理信息数据的增量式地图更新方法 | |
WO2020082597A1 (zh) | 一种b+树节点的批量插入和删除方法及装置 | |
CN102831231B (zh) | 移动终端和文件管理方法 | |
CN109284152A (zh) | 一种菜单可视化配置方法、设备及计算机可读存储介质 | |
CN113282799B (zh) | 节点的操作方法、装置、计算机设备和存储介质 | |
CN111444667B (zh) | 一种快速删除gdsii文件中晶体管数据的方法 | |
CN104636401A (zh) | 一种scada系统数据回滚的方法及装置 | |
CN103455964B (zh) | 一种基于案件信息的案件线索分析系统及方法 | |
CN103699653A (zh) | 数据聚类方法和装置 | |
CN101882078B (zh) | 基于内存数据架构的模块间实时同步方法 | |
CN104794567A (zh) | 一种基于HBase的传染病数据管理方法 | |
CN104714956A (zh) | 一种异构记录集对比方法及装置 | |
CN109543300B (zh) | 一种提取版图中的像素器件的方法 | |
CN103631839A (zh) | 一种页面地域权重模型实现方法 | |
CN111984680B (zh) | 基于Hive分区表实现物化视图性能优化的方法及系统 | |
CN115759028A (zh) | 自由报表的模型设置方法及系统、可读存储介质 | |
CN109101191A (zh) | 数据存储方法、装置和存储介质以及电子设备 | |
CN107844639B (zh) | 一种项目标准结构自动生成方法及系统 | |
CN103699593A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room A407, Neusoft venture building, 99 Huaxing Road, Xihu District, Hangzhou City, Zhejiang Province, 310012 Applicant after: Hangzhou Guangli Microelectronics Co.,Ltd. Address before: Room A407, Neusoft venture building, 99 Huaxing Road, Xihu District, Hangzhou City, Zhejiang Province, 310012 Applicant before: Semitronix Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |