公开/公告号CN102890730A
专利类型发明专利
公开/公告日2013-01-23
原文格式PDF
申请/专利权人 北京华大九天软件有限公司;
申请/专利号CN201110202790.8
申请日2011-07-20
分类号G06F17/50;
代理机构
代理人
地址 100102 北京市朝阳区利泽中二路2号A座二层
入库时间 2024-02-19 16:49:45
法律状态公告日
法律状态信息
法律状态
2016-08-10
授权
授权
2016-08-03
著录事项变更 IPC(主分类):G06F17/50 变更前: 变更后: 申请日:20110720
著录事项变更
2016-08-03
专利申请权的转移 IPC(主分类):G06F17/50 登记生效日:20160714 变更前: 变更后: 申请日:20110720
专利申请权、专利权的转移
2013-03-06
实质审查的生效 IPC(主分类):G06F17/50 申请日:20110720
实质审查的生效
2013-01-23
公开
公开
技术领域
本发明是一种用于集成电路版图验证工具中矩形包含规则的验证方法,所属的技术领域 是集成电路计算机辅助设计领域,尤其是涉及集成电路版图的设计规则检查(DRC)和版图与 原理图的一致性检查(LVS)领域。
背景技术
在过去的30年里,集成电路技术得到了巨大的发展。芯片的特征尺寸越来越小,单个芯 片的集成度也越来越高。随着芯片规模的扩大,在集成电路设计的各个阶段所需验证的设计 规则也在不断增多。其中集成电路版图的设计规则检查(DRC)以及集成电路版图与原理图的 一致性检查(LVS)变得越来越重要,它们对于消除错误、降低设计成本和减少设计失败的风 险具有重要作用。在超大规模集成电路的设计中,版图规模急剧膨胀,后端版图物理验证成 为集成电路设计的一项瓶颈。
1.扫描线在集成电路版图验证中的应用
扫描线方法最初是为解决线段相交问题而提出的。由于其快速、有效的优点而在图形运 算中得到广泛应用,是目前已知的最有效的版图运算方法。其基本思想为:
(1)扫描线停顿点为线段的左、右端点及线段间的交点。
(2)垂直扫描线从左向右运动,在每一个停顿点处停留。起始于当前扫描线的所有线段 进入当前工作表,终止于当前扫描线的所有线段从工作表中删去,跨越当前扫描线的线段仍 然保留。
(3)在当前扫描线状态下,工作对象都在当前工作表中。
DRC不同于线段求交和图形的逻辑、拓扑运算,其任务是几何图形的尺寸检查。扫描线方 法对于图形检查具有独特的优势,当图形中没有斜边时,扫描线方法可以大大简化,效率也 有较大提升。在本发明中对于有斜边和无斜边的图形,采用了不同的扫描线方法,大幅提升 了矩形包含规则的验证效率。
2.集成电路版图DRC验证中的矩形包含规则简介
在集成电路版图的DRC验证中,矩形包含规则是指对于版图中某个图层的图形,验证其 是否可以包含给定长宽的矩形,其中矩形包含的方式限定为水平包含、斜45度包含或者斜 135度包含三种,也可以指定矩形只能以水平方式包含。
针对甚大规模集成电路版图验证中的矩形包含规则验证,目前还没有一个快速有效的方 法,当集成电路版图规模很大时,面临验证时间过长,甚至导致版图验证最终不可解的问题。
发明内容
本发明针对集成电路版图验证中矩形包含规则验证所面临的问题,提出了“边对区间” 的概念,首先将图形切分为多个边对区间,利用边对区间限定矩形包含的位置范围;然后利 用边对区间的位置关系,不断地更新和调整已有边对区间矩形包含的位置范围,如果找到一 个边对区间满足矩形包含规则,则该图形满足矩形包含规则。在集成电路版图验证中利用本 方法,大幅地改善了矩形包含规则验证的效率,扩大了可验证版图的规模。
主要技术方案包括以下两个方面:
第一,边对区间的概念。首先,边对的概念是指扫描线上顺序的两条边,在这两条边中 间的区域为图形内部,依据边的类型,边对分为水平和非水平两种。边对区间是指一个二维 区域,在x轴方向上的部分为两条边在x轴上的公共部分,在y轴方向指位于两条边所夹的 部分。
根据边对区间的定义,一个图形所包含的矩形必定在这个图形的一个或多个边对区间内。 所以验证矩形包含规则的基本思想是:依次找出图形的所有边对区间,每一个边对区间对应 三种矩形包含的位置范围,分别为水平包含范围、斜45度包含范围和斜135度包含范围;利 用边对区间的位置关系,新生成的边对区间对已有边对区间矩形包含的位置范围进行更新和 调整,直到找到一个满足矩形包含规则的边对区间,或者图形结束。
第二,对图形进行分类,不同类图形采用不同的方法验证矩形包含规则。将图形分为以 下三类:矩形图形,利用判断条件直接验证矩形包含规则;除矩形之外的无斜边图形,采用 水平边对区间验证图形的矩形包含规则;有斜边图形,则采用非水平边对区间验证。
附图说明
图1 无斜边图形及水平边对区间示意图;
图2 有斜边图形及非水平边对区间示意图;
图3 矩形的位置点更新示意图
图4 方法总流程图;
图5 扫描线方法流程图。
具体实施方式
本方法针对不同的图形分类处理,对应于无斜边图形和有斜边图形,边对区间分为以下 两种:
(1)水平边对区间,指两条边都为水平边的边对。一个边对区间对应矩形包含的三种位 置范围,如图1中的(b)、(c)和(d)所示大括号对应的范围,即为边对(b1,b2)的三种矩 形包含的位置范围。位置范围的变化沿y轴方向,如果其下界y1小于等于上界y2,则位置 范围有效,否则为无效。
(2)非水平边对区间,指边对的两条边中至少有一条是非水平边。如图2中(b)、(c) 和(d)所示,图中大括号指定的范围为非水平边对区间(a1,a2)对应的三种矩形包含的位置 范围,位置范围的变化包括沿y轴方向和沿斜边方向的变化。如果位置范围的变化沿着y轴 方向,则当其下界y1小于等于上界y2时,位置范围有效;如果位置范围的变化沿斜边方向, 当矩形在斜边上的顶点x坐标位于边对两条边在x轴方向的公共范围内时,位置范围有效。
边对区间的有效性判断如下:边对区间的三种矩形包含的位置范围只要有一个有效,则 边对区间有效,只有当三种位置范围都无效时,边对区间才无效。边对区间的范围与所要包 含矩形的左下角顶点位置相对应,在斜45度或者斜135度包含的情况下,当扫描线从边对区 间的开始位置在x轴方向经过的距离大于等于sqrt(2)*L时,如果位置范围有效,则边对 区间可以包含一个倾斜的矩形,否则,边对区间不能包含一个倾斜的矩形;在矩形水平包含 的情况下,当扫描线从边对区间的开始位置在x轴方向经过的距离大于等于L时,如果位置 范围有效,则边对区间可以包含一个水平的矩形,否则,边对区间不能包含一个水平的矩形。 当指定矩形只能以水平方式包含时,边对区间只验证是否可以包含一个水平的矩形。
边对区间的矩形包含范围被新生成的边对区间不断更新和调整,具体地更新和调整方式 如下:用新生成边对的两条边来限定和更新在y轴方向有重叠部分的已生成的边对区间,更 新矩形包含范围的上边界或下边界,从而推算出矩形包含的位置点坐标,再以位置点坐标更 新矩形包含位置范围的上下界。以水平边对区间为例,当矩形是水平包含方式时,假定新生 成边对中一条边的一个顶点为(Xn,Yn),已有边对区间矩形包含的位置范围为[y1,y2],如果 对矩形包含范围的上界更新,则更新后的位置范围为[y1,MIN(y2,Yn-W)];如果对矩形包含 范围的下界进行更新,则更新后的位置范围为[MAX(y1,Yn),y2]。当矩形包含方式是斜45度 或者斜135度时,如图3中(a)和(b)所示,将包含矩形的位置沿x轴方向分为三段,利 用简单的几何知识,不难得到一个与之对应的分段函数来计算包含矩形的位置点坐标。在更 新矩形包含范围时,首先判断新生成边对中边的顶点位于哪一段,然后再推算出包含矩形的 位置点坐标,最后对矩形位置范围的上界或下界进行更新。
本方案的总流程图如图4所示,对于不同的图形,采用以下的方法分别处理:
(1)矩形的验证方法。当要验证的图形为矩形时,假定其长为nLength,宽为nWidth(要 求nLength>=nWidth),所要包含的矩形长度为L,宽度为W(要求L>=W),那么有如下两 个判断条件:
条件一:(L<=nLength && W<=nWidth)||(L<=nWidth && W<=nLength)
条件二:sqrt(2) * nWidth-W>=L
条件一用来判断是否可以水平包含长度为L、宽度为W的矩形,若为真,说明可以水平包 含,否则,不能包含;条件二用来判断是否能斜45度或斜135度包含长度为L、宽度为W的 矩形,若为真,说明可以包含,否则,不能包含。
(2)无斜边图形的验证方法。采用“水平边对区间判断方法”来判断,参考图5所示, “水平边对区间判断方法”的实现主要包括以下几个步骤:
a)读入新进边。读入当前扫描线上的所有新进边,并加入新进边链表;
b)归并扫描线,生成新的边对区间,同时判断是否有满足矩形包含规则的边对区间。对 于一个完整的图形,在同一条扫描线上一定是一条正向边,一条负向边成对地交替出 现,在归并的过程中,如果读到的边对中至少有一条是新进边,则生成一个新的边对, 同时用新生成的边对检查和更新边对区间链表中的在y方向上有重叠部分的边对区 间,如果有无效的边对区间,则从链表中直接删除;如果有满足矩形包含规则的边对 区间,则程序结束,返回图形是结果的标记,否则将新生成的边对区间加入边对区间 链表。
c)计算下一条扫描线的位置,扫描线停的位置为边的左端点和右端点处。扫描线沿x轴 方向从左到右依次对输入图形所有边的左右端点进行扫描,如果扫描结束,则将扫描 线位置置于无穷远处;
d)判断扫描线是否结束,如果扫描线位置位于无穷远处,则扫描线结束,否则进入a) 步骤继续执行。
(3)有斜边图形的验证方法,采用“非水平边对区间判断方法”来判断。“非水平边对 区间判断方法”实现的主要步骤与“水平边对区间判断方法”一致,参考图5所示,两者的 主要的差别在于:采用的边对区间类型不同;边对区间的生成、更新和调整方式不同;边对 区间的有效性判断不同。在这一步的验证方法中,由于要处理的边集合属于同一个图形,不 存在斜边相交的情况,所以在扫描线方法中,不需要调整斜边位置。
机译: 设计电路系统,扩展现有方法以评估电路设计的可行性,执行电路设计的可行性评估,完善电路设计的第一决策规则,形成电路设计的第二决策规则的方法电路设计,用于为多个预先设计的电路块组织设计者的经验数据,提高胶粘逻辑分配效率,并在设计块之间分配胶粘的多个逻辑元素,并分配胶粘逻辑以在集成电路设备设计中执行方案,转换特定于电路块的接口,选择电路收集器,设计一种包含使能设备测试以验证a正确操作的设备,并开发行为测试台,项圈接口和接口系统
机译: 设计数据或掩模数据的校正方法和校正系统,设计数据或掩模数据的验证方法和验证系统,半导体集成电路的成品率估计方法,改进设计规则的方法,掩模生产方法和半导体集成电路生产方法
机译: 设计数据或掩模数据的校正方法和校正系统,设计数据或掩模数据的验证方法和验证系统,半导体集成电路的成品率估计方法,设计规则的改进方法,掩模生产方法和半导体集成电路生产方法