集成电路版图验证图形拓扑命令并发计算方法

文档序号:6353899阅读:396来源:国知局
专利名称:集成电路版图验证图形拓扑命令并发计算方法
技术领域
本发明是一种使用于集成电路版图验证工具中的图形拓扑命令计算方法,所属的技术领域是集成电路计算机辅助设计领域,尤其是涉及集成电路版图的设计规则检查(DRC)和版图与原理图的一致性检查(LVS)领域。
背景技术
近30年来,集成电路技术一直按照“摩尔定律”向前发展。芯片的特征尺寸越来越小,单个芯片的集成度也越来越高。随着芯片规模的扩大,在集成电路设计的各个阶段所需验证的设计规则也在不断增多。其中集成电路版图的设计规则检查(DRC)以及集成电路版图与原理图的一致性检查(LVS)变得越来越重要,它们对于消除错误、降低设计成本和减少设计失败的风险具有重要作用。扫描线方法最初是为解决线段相交问题而提出的。因为其高效率而在图形运算中得到广泛应用,是目前已知的最有效的版图运算方法。其基本思想为(I)扫描线停顿点为线段的左、右端点及线段间的交点。(2)垂直扫描线从左向右运动,在每一个停顿点处停留。起始于当前扫描线的所有线段进入当前工作表,终止于当前扫描线的所有线段从工作表中删去,跨越当前扫描线的线段仍然保留。(3)在当前扫描线状态下,活跃边都在当前链表中。扫描线方法被广泛应用于线段求交和图形的逻辑、拓扑运算。在DRC中,图形拓扑命令是基础命令,它主要用于计算版形之间的各种关系。DRC图形拓扑命令主要包换以下6类命令(I) INSIDE。命令格式为INSIDE layerl layer2。选择出所有位于layer2图层内部的Iayerl层图形。(2) OUTSIDE。命令格式为 OUTSIDE layerl layer2。选择出所有的位于 layer2 图层外部的layerl层图形。(3)ENCLOSE。命令格式为 ENCLOSE layerl layer2。选择出所有的包含了 layer2层图形的layerl层图形。(4) CUT。命令格式为CUT layerl layer2。选择出与layer2层图形有部分面积重叠的layerl层图形。如果某一 layerl层的图形是ENCLOSE结果,但不是INSIDE结果,那这个图形也是⑶T的结果。(5) TOUCH0命令格式为TOUCH layerl layer2。选择出所有位于layer2层图形外部的,并且与layer2层图形有部分或者全部边重合的layerl层图形。(6) INTERACT。命令格式为 INTERACT layerl layer2。INTERACT 是 INSIDE,ENCLOSE,⑶T,TOUCH关系的合集。任一 layerl图形,只要符合上述四种关系之一,那它就是INTERACT命令的结果。以上6种命令的输出结果在附图I中有说明。
图形拓扑 命令是DRC核心命令。它的执行时间直接影响版图验证工具的验证效率。本发明所要展示的是一种高效的基于扫描线方法的并发图形拓扑命令计算方法。

发明内容
本发明针对甚大规模集成电路版图验证工具中所面临的运行速度慢,运行时间长,导致版图验证最终不可解的问题,提出了一种并发的命令执行方法。此方法能够使六类图形拓扑命令并发执行,缩短命令执行时间,进而加快版图验证工具的运行速度,提高可验证版图规模。本发明的主要技术方案包括以下五个步骤第一,观测当前边,生成观测图形状态。在当前扫描线上,首先将边按照KEY值(边与扫描线交点的Y坐标)与斜率排序。KEY值越小的边排序位置越靠下。相同KEY值的边,斜率越小的边,排序位置越靠下。如果KEY值和斜率相同,排序不分上下。边排好序后,从下到上,依次遍历当前扫描线上所有的边。 如果当前边是layerl层的边。有以下三种判断状态(I)如果上一条已遍历的layer2层边为空,那当前边所在的layerl图形的观测状态是 OUTSIDE。(2)如果上一条已遍历的layer2层边非空,且该边为负向边。如果该边与当前边重合,返回TOUCH状态,否则当前边所在的layerl图形的观测状态是OUTSIDE。(3)如果上一条已遍历的layer2层边非空,且该边为正向边。那当前边所在的layerl图形的观测状态是INSIDE。 如果当前边是layer2层的边。有以下两种判断状态(I)如果上一条已遍历的layerl层边为空,没有layerl的图形有状态转换。(2)如果上一条已遍历的layerl层边非空。如果该边为正向边,那该边所在的图形状态是ENCLOSE,否则状态是OUTSIDE。第二,访问状态转移矩阵,根据观测状态和历史状态生成新状态。状态转移矩阵定义如下
INSIDE OUTSIDE ENCLOSE CUT TOUCH INIT [INSIDE OUTSIDE ENCLOSE CUT TOUCH _
INSIDE INSIDE CUTCUT CUT CUT
OUTSIDE CUT OUTSIDE CUT CUT TOUCH
ENCLOSE CUT ENCLOSE ENCLOSE CUT ENCLOSE
CUT CUT CUTCUT CUT CUT
TOUCH L CUT TOUCH ENCLOSE CUT TOUCH _矩阵的横坐标表示历史状态,INIT表示初始状态。矩阵纵坐标表示观测状态,而矩阵值表示新状态。第三,边匹配器生成垂直边,并生成新状态。在当前扫描线上,仅有离开边和新进边才能匹配生成垂直边。离开边是指边的右端点X坐标等于当前扫描线的边;而新进边是指边的左端点等于当前扫描线的边。离开边和新进边统称为变动边。变动边按照其排序位置先后进入匹配器。匹配器发生匹配的触发条件是读入边KEY值不等于待匹配边KEY值。当发生匹配时,匹配器中的边按照逆时针排好序,先离开边,后新进边,离开边按照斜率递减、新进边按照斜率递增排序。从匹配器的第一条变动边开始,向后找到第一条相同图形号,并且方向匹配的边(同侧逆向,异侧同向)既是匹配边。将“匹配边对”从匹配器中移除掉。匹配对中KEY小的边称为LowEdge,KEY值大的边称为UpEdge。如果匹配对的KEY值不同,恢复并记录垂直边,垂直边的左右端点X坐标等于当前扫描线,左端点Y坐标等于LowEdge的Y坐标,右端点Y坐标等于UpEdge的Y坐标。下面开始遍历,从LowEdge到UpEdge。如果LowEdge到UpEdge存在非变动边,那说明当前的观测状态是CUT(匹配对和非变动边来自不同输入层,因为同一输入层图形不可能自相交)。查找状态转移矩阵,生成新状态。然后判断另一输入层的是否有生成垂直边,如果存在,有重合且垂直边方向不同,那说明存在TOUCH的观测状态,同样需要生成新状态。 边匹配对处理结束。此时判断匹配器是否为空,否则生成下一匹配对做以上相同操作。第四,调整斜边位置。为了提高本发明的执行效率,扫描线仅在边端点处停留,两条边的交点处是不停的。这样的处理方法对于水平边不会产生任何问题(因为水平边的不同扫描线KEY值不变,因此排序位置就不会变),但斜边就不正确了。在当前扫描线即将结束,下一条扫描线没有开始之前,必须调整斜边位置。对于每一条扫描线,如果其斜率k >0,那该斜边需要向上调整位置,反之向下。如果一条斜边调整了其所在位置,那说明该斜边和调整边发生了相交。观测状态就为⑶T,这时查找状态转移矩阵,生成新状态。第五,重复以上四个步骤,直到所有扫描线都执行完毕。


图I六种命令的输出结果;图2图形拓扑命令并发执行计算流程图;图3版图文件示例。
具体实施例方式在附图3中,实线代表图形(边框除外),虚线表示扫描线,虚线下的数字表示扫描线的顺序。layerl层图形共有6个,编号I到6 ;layer2层图形有5个。I.在第一条扫描线上,读入3号图形的下侧边。上一条已遍历的layer2边为空,3号图形的观测状态是OUTSIDE。2. 3号图形的历史状态是INIT,根据观测状态OUTSIDE访问状态转移矩阵得到新状态OUTSIDE。然后将3号边的下侧边加入边匹配器,设置匹配器KEY值。3.读入3号图形的上侧边。这时发现匹配器的KEY值不等于当前边KEY值,匹配生成垂直边(垂直边的左端点X坐标为当前扫描线值,左端点Y坐标为3号边下侧边KEY值。右端点X坐标为当前扫描线,右端点Y坐标为无穷大)。当前layer2层不存在垂直边,不需要判断TOUCH状态。这时判断3号图形的上侧边可知,上一条已遍历的layer2边还是为空,那么3号图形的新状态仍然是OUTSIDE。将3号图形的上侧边加入匹配器。4.读入2号图形的下侧边。匹配生成3号图形的左侧垂直边,由于当前layer2层不存在垂直边,不需要判断TOUCH状态。5.在当前扫描线上,继续读入I号和2号图形。这两个图形的新状态都是OUTSIDE。6.在第二条扫描线上3号图形的OUTSIDE状态不变。当读入第一条layer2层的边时,判断上一条已遍历layerl的边为正向边,这时3号图形观测状态是ENCLOSE。新状态也是 ENCLOSE。7.读入下一条边,即2号图形的上侧边,此时的观测状态是INSIDE,查询状态转移表,新状态为CUT状态。8.下面依次读入I号图形和I号图形内部的layer2图形的边,I号图形仍然为ENCLOSE 状态。9.第5条扫描线上没有layerl的边,不会产生状态转换。10.第6条扫描线4号图形的新状态为OUTSIDE。11.第7条扫描线。第一条边是5号图形的下侧边,5号图形的新状态是OUTSIDE。5号图形下侧边放入匹配器中。读入下一条边,一条layer2图形的下侧边。这时匹配生成5号图形的左侧垂直边。再读入一条边,一条layer2图形的上侧边,匹配生成layer2图形的垂直边。此时有layerl的垂直边存在,这时可以判断出5号图形的新状态是TOUCH。继续读4号图形的两条边,4号图形的新状态还是OUTSIDE。12.第8条扫描线,5号图形为TOUCH,4号图形为ENCLOSE。13.在第9条扫描线开始之前,判断上一条扫描 线中存在斜边。需要调整斜边位置。该斜边与4号图形相交,那4号图形为⑶T关系。14 第10,11,12,13,14和15条扫描线依次执行完毕。最终结果I号图形是ENCLOSE命令结果,2号图形是⑶T命令结果,3号图形是OUTSIDE的,4号图形是⑶T的,5号图形是TOUCH的,6号图形是INSIDE的。除了 3号图形,其他的5个图形都是INTERACT关系。
权利要求
1.一种集成电路版图验证并发图形拓扑命令计算方法,其技术特征在于包含以下几个步骤①观测当前边,生成观测图形状态。②访问状态转移矩阵,根据观测状态和历史状态生成新状态。③边匹配器生成垂直边,并生成新状态。④调整斜边位置。根据斜率,向上或者下遍历邻近边。如果斜边与邻近边有交点,则更新状态,调整斜边位置。⑤以上步骤重复若干次,直到所有扫描线结束则停止。
2.根据权利要求I所述的方法,“观测状态”计算方法的特征在于①提出了图形拓扑“状态转换矩阵”。②将图形拓扑状态转换总结为根据“历史状态”和“观测状态”查询“状态转移矩阵”而得新状态的过程。
3.根据权利要求I所述的计算方法,其特征在于①并发图形拓扑命令计算方法以扫描线方法为基础。②并发图形拓扑命令计算方法同时执行6类命令,具有很高的执行效率。
全文摘要
本发明公布了一种使用于集成电路版图验证工具中的图形拓扑命令计算方法,所属的技术领域是集成电路计算机辅助设计领域,尤其是涉及集成电路版图的设计规则检查(DRC)和版图与原理图的一致性检查(LVS)领域。本发明创造性地提出了并发的图形拓扑命令计算方法,用于解决甚大规模集成电路版图验证过程中所面临的运行时间过长,验证效率低,进而导致版图无法验证的问题。图形拓扑命令并发计算方法基于扫描线局部性原理,通过查询状态转移矩阵的方式来完成图形拓扑关系计算,在一次扫描线的执行中完成所有6种图形拓扑命令的计算。实验结果表明,图形拓扑命令并发计算方法减少了命令执行时间,极大地提高了版图验证效率。
文档编号G06F17/50GK102622456SQ20111003058
公开日2012年8月1日 申请日期2011年1月28日 优先权日2011年1月28日
发明者宋德强, 马海南 申请人:北京华大九天软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1