CN101751494A - 一种基于倒序树扫描线算法的边投影优化方法 - Google Patents
一种基于倒序树扫描线算法的边投影优化方法 Download PDFInfo
- Publication number
- CN101751494A CN101751494A CN200810227988A CN200810227988A CN101751494A CN 101751494 A CN101751494 A CN 101751494A CN 200810227988 A CN200810227988 A CN 200810227988A CN 200810227988 A CN200810227988 A CN 200810227988A CN 101751494 A CN101751494 A CN 101751494A
- Authority
- CN
- China
- Prior art keywords
- limit
- projection
- output
- state value
- existence
- 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
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明属于集成电路计算机辅助设计领域,尤其涉及版图验证领域。在HDRC中,对版图数据进行投影是一个重要的操作,由于原始版图中图形之间的层次关系并非严格一致,以及由于提升策略的因素,一些下层单元的边会提升到上层单元中,从而导致层次关系发生错位。通过对提升的layer进行投影,才能保证连续命令之间图形之间的拓扑关系的正确性。本文针对投影算法提出了一种优化方法。在DRC中,投影实质处理的是边,而不是多边形。基于上述思想新的投影方法减少了计算复杂度,解决了HDRC中的边层投影问题。
Description
技术领域
投影操作是IC CAD工具中层次版图验证中设计规则检查(DRC)中的一种基本操作。本发明属于IC CAD工具中层次版图验证领域。
背景技术
集成电路(IC)设计的后期包括版图设计和版图验证,而这两项功能是EDA工具中的重要环节;版图验证是根据版图设计规则,电学规则和原始输入的逻辑关系对版图设计进行正确性的验证并且可以通过对电路和参数的提取,产生电路模拟的输入文件进行后模拟,以进一部检查电学性能。
在设计规则检查(DRC)中,需要对多边形或者孤立的边进行处理,其中多边形又分为需要了解图形全局的信息与只需了解图形局部信息两类。而相对于多边形来说,边是孤立的,没有图形的概念。因此,边层命令计算过程中,无须保持基于图形封闭性的概念。
在目前的HDRC层次处理中,对于具体命令来说,输入数据分为两种:一种中间命令的输出结果作为后续命令的输入,称之为中间输入数据;一种是对原始版图中的数据进行投影与逻辑或运算后的结果,称之为原始输入数据。对于中间输入数据,在计算过程中进行了大量的提升操作,这就使得这些数据的层次与原始输入数据层次结构不一致。因此要保持两个输入层的数据层次一致,就需要对经过提升的输入层进行投影操作(判断一个中间输入数据层是否需要投影在具体的命令中进行),对于多边形来说,投影具有封闭性概念,多边形投影考虑了这个因素,使用组合器进行投影,同时投影的复杂度不仅仅由多边形中边的数目决定,也要受到多边形所有单元被调用次数的制约。因此多边形投影复杂度为n*m,其中n是单元中边的数目,m是单元被调用次数。而新型边投影算法无须考虑封闭性概念,只需要关心边是否投影到一个单元中,连续投影过程中也不需要关心边是Primitiver边还是Halo边,只须在结果输出的时候拷贝原来边的ILT数据即可。复杂度仅与边的数目有关,因此复杂度为线形的。本发明根据一条边要么是投影到一个单元中,要么是不能投影到一个单元中,它原有的ILT数据是不会拆分的,因而设计了一种新的投影方法,且使用该方法大大降低了复杂度,从而提高效率。
发明内容
本发明所提出的基于倒序树扫描线算法的边投影优化方法把输入层作为是Layer1,输入层的instance边框作为layer2,在一次处理过程中同时处理not inside edge+inside edge操作,not inside edge的结果保留存到本层单元中,inside edge的结果投影到下层单元中去。操作投影过程中状态值的计算无须关心边是Primitive边,还是Halo边,只需要知道当前边的单状态值,而不需要计算出边的每一个分支的状态值,因为对于一条Halo边,投影的固有特性决定了,一条边要么投影到下层单元中,要么保留在上层单元中,使得它不需要分离ILT,节省了ILT分离过程,同时也不需要记录不存在的ILT,以及其状态,大大节省了过程,从而有效提高效率。
在原有系统多边形投影算法中:状态值计算方法如下:
a)通过前一条边存在状态和不存在状态的ILT与当前边的halo做逻辑“与”运算得到当前边的存在状态;
当前边存在状态的ILT=
1)前一条边的存在状态“逻辑与”本边的halo element;
2)前一条边的不存在状态“逻辑与”本边的halo element;
当前边存在状态的数值=前一条边的状态数值+/-1
b)通过前一条边存在状态和不存在状态的ILT与当前边ILT做逻辑“减”运算得到当前边不存在的状态;
当前边不存在状态的ILT=
1)前一条边的ILT存在状态“逻辑非”当前边的halo element;
2)前一条边的非ILT存在状态“逻辑非”当前边的halo element;
当前边不存在状态的数值=前一条边的状态数值
在本发明所公开的新的投影方法中,考虑到投影时状态值计算的特殊性,针对状态值计算方式发生了根本性改变,其实现方法如下:
边数据中Halo信息由倒序树结构来记录,只是变化了状态值计算的方式。在计算过程中,不需要区分前向边与当前边是否存在,这是因为在计算过程中,前向边只取属于instance边框的边,这个边是primitive边,而当前边(可以是截断后生成的边,也可以是完整的边)要么都是投影到一个单元中,要么不会投影到单元中,不会存在拆分ILT的情况,因此在计算过程中都可以看成是primitive边,只是在输出过程中拷贝ILT数据即可。因此计算方式如下:
当前边存在状态的数值=前一条边的状态数值+/-1
附图说明
图1命令序列图
图2Halo边连续投影图
图3扫描线算法状态值计算部分处理流程图
具体实施方式:
如图1所示,描述了规则文件中的用户命令序列与HDC系统对命令调度展开后的序列,对于用户来说,只需要编写两条命令,即可求出LL1中的与LL2接触,且在LL3里面的边。根据TOUCH EDGE命令的功能描述,输出LL1中与LL2接触的边是一条完整边,此时在计算过程中需要对LL1,LL2的边进行大量的提升操作,才能得到完整的LL1满足条件的边。结果层Tmp再与LL3计算内部边时,由于Tmp是经过大量提升的边,层次结构已经与原来的层次不一样了,而LL3的层次是保持良好的,因此需要对Tmp进行投影,所以在调度序列中需要加上一条命令Edge Project命令。
结合一个具体的实例说明基于倒序树扫描线算法的边投影优化方法的计算过程,操作步骤可以参见图3:
第一步,选择输入层作为layer1,所有单元被调用的instance的边框作为layer2。
第二步,采用扫描线算法,选择当前扫描线;
第三步,对当前扫描线上的所有边进行排序,边排序策略是按照先Y大小,后斜率大小方式进行;
第四步,对排序后的边计算状态值,自底向上逐个计算每条边的状态值,计算过程中,
1)前向边只取instance边框,这些边为primitive边;当前边可能为instance边框,也可能为实际输入边数据。
2)如果当前边是instance边框,那么状态值为1;如果当前边是实际输入边,那么前向边为primitive,当前边状态值在前向边状态值的基础上+/-1。
当前边方向为正:当前边存在状态的数值=前一条边的状态数值+1,
当前边方向为负:当前边存在状态的数值=前一条边的状态数值-1;
第五步,重复第四步直到所有当前扫描线上所有边计算完毕,则处理当前扫描线上的离开边:
1)正向边状态值2,负向边状态值为1,则输出到子单元中。输出过程中Halo信息也需要同时拷贝输出。
2)正向边状态值1,负向边状态值为0,则输出到本单元中。输出过程中Halo信息也需要同时拷贝输出;与Layer2中边重合的边输出时,则输出到本单元中。
第六步,选择下一条扫描线,如果存在则重复(2),(3),(4),(5)与(6)操作;否则投影操作结束。
如图2描述了Halo边连续投影。图中边1是Halo边,只投影到A1单元中,边2投影到A2单元中,边3投影后是满树,因此规约为primitive边。边1在A单元中继续投影时,它投影到A中的所有的B单元,因此它的ILT没有发生变化,只须要简单拷贝依次即可。
本发明完善了层次设计规则检查工具(HDRC)的系统结构,使得原来存在的系统性问题得到修复的同时,在原有的多边形投影算法基础上进行方法改进,使得新的投影方法的复杂度从原来的Q(n*m)下降到Q(n)(其中n为单元中的边数目,m为单元被调用次数),从而提高效率。
Claims (2)
1.一种基于倒序树扫描线算法的边投影优化方法,用于边层与图形层之间存在上下层逻辑关系不一致时进行投影操作,具体步骤如下:
(1)抽取输出层Layer1的instance边框作为输入层Layer2;
(2)采用扫描线算法,选择当前扫描线;
(3)对当前扫描线上的所有边进行排序,边排序策略是按照先Y大小,后斜率大小方式进行排序;
(4)扫描线上自底向上逐个计算每条边的状态值,计算过程中,无须存储当前边存在状态与不存在的状态信息,其状态信息在输出边数据时由其自身的halo信息决定;
(5)每条边的状态值仅取决于它的直接前驱边,与其它边的状态无关,
当前边方向为正:当前边存在状态的数值=前一条边的状态数值+1,
当前边方向为负:当前边存在状态的数值=前一条边的状态数值-1;
(6)重复(4)与(5)直到所有当前扫描线上所有边状态计算完毕,则处理当前扫描线上的离开边:
正向边状态值2,负向边状态值为1,则输出到子单元中。输出过程中Halo信息也需要同时拷贝输出;
正向边状态值1,负向边状态值为0,则输出到本单元中。输出过程中Halo信息也需要同时拷贝输出;
与Layer2中边重合的边输出时,则把输出到本层单元中,输出过程中Halo信息也需要同时拷贝输出。
(7)选择下一条扫描线,如果存在则重复(2),(3),(4),(5)与(6)操作;否则投影操作结束。
2.根据权利1所述的基于倒序树扫描线算法的边投影优化方法,其特征在于通过对边投影的特征进行分析,无须计算当前边的存在和不存在的状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810227988A CN101751494A (zh) | 2008-12-04 | 2008-12-04 | 一种基于倒序树扫描线算法的边投影优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810227988A CN101751494A (zh) | 2008-12-04 | 2008-12-04 | 一种基于倒序树扫描线算法的边投影优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101751494A true CN101751494A (zh) | 2010-06-23 |
Family
ID=42478473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810227988A Pending CN101751494A (zh) | 2008-12-04 | 2008-12-04 | 一种基于倒序树扫描线算法的边投影优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101751494A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890730A (zh) * | 2011-07-20 | 2013-01-23 | 北京华大九天软件有限公司 | 一种集成电路版图验证中矩形包含规则的验证方法 |
CN103838897A (zh) * | 2012-11-26 | 2014-06-04 | 北京华大九天软件有限公司 | 一种集成电路版图验证的层次化天线检查方法 |
CN104573149A (zh) * | 2013-10-17 | 2015-04-29 | 北京华大九天软件有限公司 | 一种平板显示版图设计规则检查的去除重复报错方法 |
-
2008
- 2008-12-04 CN CN200810227988A patent/CN101751494A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102890730A (zh) * | 2011-07-20 | 2013-01-23 | 北京华大九天软件有限公司 | 一种集成电路版图验证中矩形包含规则的验证方法 |
CN102890730B (zh) * | 2011-07-20 | 2016-08-10 | 清华大学 | 一种集成电路版图验证中矩形包含规则的验证方法 |
CN103838897A (zh) * | 2012-11-26 | 2014-06-04 | 北京华大九天软件有限公司 | 一种集成电路版图验证的层次化天线检查方法 |
CN103838897B (zh) * | 2012-11-26 | 2017-08-29 | 北京华大九天软件有限公司 | 一种集成电路版图验证的层次化天线检查方法 |
CN104573149A (zh) * | 2013-10-17 | 2015-04-29 | 北京华大九天软件有限公司 | 一种平板显示版图设计规则检查的去除重复报错方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6026228A (en) | Integrated circuit design method, database apparatus for designing integrated circuit and integrated circuit design support apparatus | |
CN108596184A (zh) | 图像语义分割模型的训练方法、可读存储介质及电子设备 | |
US5281558A (en) | Cloning method and system for hierarchical compaction | |
US20020053063A1 (en) | Process for automated generation of design-specific complex functional blocks to improve quality of synthesized digital integrated circuits in CMOS | |
US10558780B1 (en) | Methods, systems, and computer program product for implementing schematic driven extracted views for an electronic design | |
US8219959B2 (en) | Generating integrated circuit floorplan layouts | |
US8713506B2 (en) | System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce dynamic power in an electronic circuit and an apparatus incorporating the same | |
CN109359355B (zh) | 一种标准结构模块的设计实现方法 | |
Bamji et al. | Leaf Cell and Hierarchical Compaction Techniques | |
US7373618B1 (en) | Method and system for selection and replacement of subcircuits in equivalence checking | |
CN112800716B (zh) | 一种集成电路版图布线中线网开路检测方法 | |
KR20180127141A (ko) | 집적 회로를 설계하기 위한 컴퓨터 구현 방법, 컴퓨팅 시스템, 및 집적 회로의 제조 방법 | |
CN101751494A (zh) | 一种基于倒序树扫描线算法的边投影优化方法 | |
CN112232016A (zh) | Ssd主控芯片高效总线设计迭代方法、系统以及平台 | |
CN104965938B (zh) | 通过使用由几何约束连接的几何形状来设计工业产品 | |
CN111325810B (zh) | 配色方法、装置及电子设备 | |
CN109635955A (zh) | 一种特征组合方法、装置及设备 | |
CN101369294A (zh) | SoC布局的平面布图规划方法 | |
US7131085B2 (en) | Distributed BDD reordering | |
US8302049B2 (en) | Method for enabling multiple incompatible or costly timing environment for efficient timing closure | |
CN115167868B (zh) | 代码编译方法、装置、设备及计算机存储介质 | |
CN110489814B (zh) | 一种通过在代码中提取数据流辅助芯片布局规划的方法 | |
US20070011636A1 (en) | Method and system for performing non-local geometric operations for the layout design of a semiconductor device | |
US7073152B2 (en) | System and method for determining a highest level signal name in a hierarchical VLSI design | |
US20040250225A1 (en) | Intelligent crosstalk delay estimator for integrated circuit design flow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100623 |