版图验证测试向量的伪错自动构造方法技术

技术编号:14967671 阅读:66 留言:0更新日期:2017-04-02 22:04
本发明专利技术涉及集成电路辅助设计软件工具中版图验证领域。在开发集成电路版图验证规则的过程中,测试向量的数量巨大,特别是对于伪错。例如,对于宽金属的间距检查,如果金属的宽度达不到宽金属的标准,即使间距违反最小间距,也是允许的。针对一条设计规则,伪错条件可能不止一个,这种情况下,伪错测例会很多,如果完全靠手工绘制版图,这工作量巨大,并且在处理组合条件时也很容易出错。本发明专利技术提出了版图验证测试向量的伪错自动构造方法,通过定义伪错约束,使用软件自动产生完整的测试向量。方法中只需要输入一个拓扑结构正确的版图,就可以自动构造出各种伪错组合的测试用例,大大降低了人工成本。

【技术实现步骤摘要】

本专利技术涉及集成电路辅助设计软件工具中版图验证领域。
技术介绍
每款集成电路芯片在批量制造前,都需要对版图进行设计规则检查(DesignRuleCheck),只有通过设计规则的验证才能保证流片的成功,这一步叫做版图验证(LayoutVerification)。版图验证工具,例如Calibre工具,会按一定的算法对版图进行几何约束检查,具有通用性,其一个输入是设计规则定义文件(DRCRuleFile),它描述了该工艺下具体的几何约束。不同的集成电路制造工艺会有不同的设计规则定义文件,随着新工艺的不断研制,工艺设计人员也需要开发相应的设计规则文件。设计规则文件类似于软件编程语言,例如将一个图形与另一个图形进行“或”运算再计算与其它图形的间距。所以,其开发过程与开发一个软件产品类似,都需要一个验证测试过程,即,对于正确的版图,设计规则检查应该通过;反之,对于错误的版图,设计规则检查应该报错。测试规则检查应该通过的用例叫正例,测试规则检查不通过的用例叫反例,正例和反例共同组成了版图验证测试向量(TestPatternVector)。这里的问题是,测试向量的数量很大,特别是要测试伪错(FalseError)的情况,例如,对于宽金属的间距检查,如果金属的宽度达不到宽金属的标准,即使间距违反最小间距,也是允许的。再例如,对于高压区内有源区间距的检查,如果两个有源区之一不在高压区内,即不在指定的标记层内,即使违反间距值也不应报错。上述两种情况,本应是正例,但如果设计规则检查报错了,说明设计规则文件编写有问题。这也是伪错测例的含义。针对一条设计规则,伪错条件可能不止一个,这种情况下,伪错测例会很多,如果完全靠手工绘制版图,这工作量巨大,并且在处理多个条件的组合时也很容易出错。本专利技术提出了一种版图验证测试向量的伪错自动构造方法,通过定义伪错约束,使用软件自动产生完整的测试向量。方法中只需要输入一个拓扑结构正确的版图,就可以自动构造出各种伪错组合的测试用例,大大降低了人工成本。本专利技术提出的自动构造方法,已经通过软件程序实现,经过实践,可以将原来1个人月的测试向量开发任务缩短到3人天,大大缩短了测试周期。
技术实现思路
本专利技术要解决的技术问题是自动构造版图测试向量,特别是伪错测试向量。以附图1为例,要测试的物理约束规则是M1层和M2层的间距要大于等于0.8um,同时要求M1层的宽度要大于等于1um,M2层的宽度要大于等于2um(宽金属检查规则),并且M1层和M2层要同时被AA层和DNW层所包含,但不能处于PW层和MIM层所在的区域内(非高压区)。据此,对应的测试向量有:1)正例:包含M1层,M2层,AA层和DNW层。DNW层包含AA层,M1层和M2层位于AA层内。M1的高度是1um,M2的高度是1.5um。M1和M2的间距是最小值0.8um。2)反例:包含M1层,M2层,AA层和DNW层。DNW层包含AA层,M1层和M2层位于AA层内。M1的高度是1um,M2的高度是1.5um。M1和M2的间距是0.799um,比最小值0.8um刚好小一个步长0.001。3)伪错1(M1高度不满足):包含M1层,M2层,AA层和DNW层。DNW层包含AA层,M1层和M2层位于AA层内。M1的高度是0.999um,比最小值刚好小0.001um,M2的高度是1.5um。M1和M2的间距是0.799um,比最小值0.8um刚好小一个步长0.001。4)伪错2(M2高度不满足):包含M1层,M2层,AA层和DNW层。DNW层包含AA层,M1层和M2层位于AA层内。M1的高度是1um,M2的高度是1.499um,比最小值刚好小0.001um。M1和M2的间距是0.799um,比最小值0.8um刚好小一个步长0.001。5)伪错3(不存在AA):包含M1层,M2层,DNW层。M1层和M2层位于DNW层内。M1的高度是1um,M2的高度是1.5um。M1和M2的间距是最小值0.799um,比最小值0.8um刚好小一个步长0.001。6)伪错4(不存在DNW):包含M1层,M2层,AA层。M1层和M2层位于AA层内。M1的高度是1um,M2的高度是1.5um。M1和M2的间距是最小值0.799um,比最小值0.8um刚好小一个步长0.001。7)伪错5(存在PW):包含M1层,M2层,AA层和DNW层,以及PW层。DNW层包含AA层,M1层和M2层位于AA层内,PW是最外层。M1的高度是1um,M2的高度是1.5um。M1和M2的间距是0.799um,比最小值0.8um刚好小一个步长0.001。8)伪错6(存在MIM):包含M1层,M2层,AA层和DNW层,以及MIM层。DNW层包含AA层,M1层和M2层位于AA层内,MIM是最外层。M1的高度是1um,M2的高度是1.5um。M1和M2的间距是0.799um,比最小值0.8um刚好小一个步长0.001。为了自动构造上述测试向量,首先需要给出一个包含全部图形层的版图单元(采用GDS格式文件),即要包括M1层,M2层,AA层,DNW层,PW层和MIM层。它们的具体大小尺寸不用关心,但保证它们间的拓扑结构是正确。这个模板版图是手工完成的。再者,要定义好约束条件,包括检测条件和伪错条件。这是个文本文件。针对附图1的例子,约束条件有:GDS文件和约束定义文件是伪错构造和测试向量生成引擎的输入。伪错构造和测试向量生成引擎首先读入版图GDS文件,构造各图形层间的拓扑结构关系。方法是采用基于边的扫描线算法,分别建立X方向上和Y方向上各边的关系。注意这里只需要考虑面对边的关系,即只有两条边在垂直方向上的投影有交叉时才建立它们间的关系。这样,大致有3种边到边的关系,分别是宽度,间距,和包含,如附图3所示。两边距离的缺省就使用GDS文件中画出的距离值,除非约束文件中有明确定义,例如上面给出的M1和M2的两个FIX值,即M1在X方向的宽度要为3um,M2在X方向的宽度要为4um。扫描后建立的关系集合具有正交性,即没有多余和重复的关系,仍两条边的距离都可以通过该关系集合计算出来。接下来,伪错构造和测试向量生成引擎根据约束文件的定义来构造测试向量:1)对于正例,调整CHECK指定的间距到最小值(或最大值),其它FALSE_ERROR的间距到最小值(或最大值),保留EXIST图形层,移除NON-EXIST的图形层,并保持其它图形层对边间距离不变。2)对于反例,调整CHECK指定的间距到比最小值小一个步长(或比最大本文档来自技高网
...

【技术保护点】
一种版图验证测试向量的伪错自动构造方法,其输入是拓扑结构正确的版图单元和定义伪错约束的文件。伪错构造程序使用扫描线算法从版图中提取边对边的拓扑关系,并遍历伪错约束,调整边对边的距离值,输出不同条件下包含正例、反例、及伪错用例的完整测试向量。本方法避免了完全依靠手工的测试向量开发过程。具体步骤如下:第一步:手工输入一个包含完整的图形层GDS版图单元。第二步:手工编写约束文件,定义测试条件及伪错条件。第三步:由测试向量生成程序自动构造正例、反例、和伪错例的版图测试向量。第四步:对每一测试用例及代测规则文件调用版图设计规则验证程序进行测试。第五步:分析测试结果,正例和伪错例应全部通过,反例则应全部报错。

【技术特征摘要】
1.一种版图验证测试向量的伪错自动构造方法,其输入是拓扑结构正确的版图单元和定义伪
错约束的文件。伪错构造程序使用扫描线算法从版图中提取边对边的拓扑关系,并遍历伪
错约束,调整边对边的距离值,输出不同条件下包含正例、反例、及伪错用例的完整测试
向量。本方法避免了完全依靠手工的测试向量开发过程。
具体步骤如下:
第...

【专利技术属性】
技术研发人员:王勇张萍侯劲松李宁
申请(专利权)人:天津蓝海微科技有限公司
类型:发明
国别省市:天津;12

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

1