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

技术编号:7627615 阅读:189 留言:0更新日期:2012-08-01 20:53
本发明专利技术公布了一种使用于集成电路版图验证工具中的图形拓扑命令计算方法,所属的技术领域是集成电路计算机辅助设计领域,尤其是涉及集成电路版图的设计规则检查(DRC)和版图与原理图的一致性检查(LVS)领域。本发明专利技术创造性地提出了并发的图形拓扑命令计算方法,用于解决甚大规模集成电路版图验证过程中所面临的运行时间过长,验证效率低,进而导致版图无法验证的问题。图形拓扑命令并发计算方法基于扫描线局部性原理,通过查询状态转移矩阵的方式来完成图形拓扑关系计算,在一次扫描线的执行中完成所有6种图形拓扑命令的计算。实验结果表明,图形拓扑命令并发计算方法减少了命令执行时间,极大地提高了版图验证效率。

【技术实现步骤摘要】

本专利技术是一种使用于集成电路版图验证工具中的图形拓扑命令计算方法,所属的
是集成电路计算机辅助设计领域,尤其是涉及集成电路版图的设计规则检查(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 CUTOUTSIDE CUT OUTSIDE CUT CUT TOUCHENCLOSE CUT ENCLOSE ENCLOSE CUT ENCLOSECUT CUT CUTCUT CUT CUTTOUCH 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,这时查找状态转移矩阵,生成新状态。第五,重复以上四个步骤,直到所有扫描线都执行本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:宋德强马海南
申请(专利权)人:北京华大九天软件有限公司
类型:发明
国别省市:

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

1
相关领域技术