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

文档序号:9887843阅读:387来源:国知局
版图验证测试向量的伪错自动构造方法
【技术领域】
[0001] 本发明涉及集成电路辅助设计软件工具中版图验证领域。
【背景技术】
[0002] 每款集成电路芯片在批量制造前,都需要对版图进行设计规则检查(Design Rule Check),只有通过设计规则的验证才能保证流片的成功,这一步叫做版图验证(Layout Verification)。版图验证工具,例如Calibre工具,会按一定的算法对版图进行几何约束检 查,具有通用性,其一个输入是设计规则定义文件(DRC Rule File),它描述了该工艺下具 体的几何约束。不同的集成电路制造工艺会有不同的设计规则定义文件,随着新工艺的不 断研制,工艺设计人员也需要开发相应的设计规则文件。
[0003] 设计规则文件类似于软件编程语言,例如将一个图形与另一个图形进行"或"运算 再计算与其它图形的间距。所以,其开发过程与开发一个软件产品类似,都需要一个验证测 试过程,即,对于正确的版图,设计规则检查应该通过;反之,对于错误的版图,设计规则检 查应该报错。测试规则检查应该通过的用例叫正例,测试规则检查不通过的用例叫反例,正 例和反例共同组成了版图验证测试向量(Test Pattern Vector)。
[0004] 这里的问题是,测试向量的数量很大,特别是要测试伪错(False Error)的情况, 例如,对于宽金属的间距检查,如果金属的宽度达不到宽金属的标准,即使间距违反最小间 距,也是允许的。再例如,对于高压区内有源区间距的检查,如果两个有源区之一不在高压 区内,即不在指定的标记层内,即使违反间距值也不应报错。上述两种情况,本应是正例,但 如果设计规则检查报错了,说明设计规则文件编写有问题。这也是伪错测例的含义。针对 一条设计规则,伪错条件可能不止一个,这种情况下,伪错测例会很多,如果完全靠手工绘 制版图,这工作量巨大,并且在处理多个条件的组合时也很容易出错。
[0005] 本发明提出了一种版图验证测试向量的伪错自动构造方法,通过定义伪错约束, 使用软件自动产生完整的测试向量。方法中只需要输入一个拓扑结构正确的版图,就可以 自动构造出各种伪错组合的测试用例,大大降低了人工成本。
[0006] 本发明提出的自动构造方法,已经通过软件程序实现,经过实践,可以将原来1个 人月的测试向量开发任务缩短到3人天,大大缩短了测试周期。

【发明内容】

[0007] 本发明要解决的技术问题是自动构造版图测试向量,特别是伪错测试向量。
[0008] 以附图1为例,要测试的物理约束规则是Ml层和M2层的间距要大于等于0. 8um, 同时要求Ml层的宽度要大于等于lum,M2层的宽度要大于等于2um(宽金属检查规则),并 且Ml层和M2层要同时被AA层和DNW层所包含,但不能处于PW层和Μ頂层所在的区域内 (非高压区)。据此,对应的测试向量有:
[0009] 1)正例:包含Ml层,M2层,ΑΑ层和DNW层。DNW层包含ΑΑ层,Ml层和M2层位于 AA层内。Ml的高度是lum,M2的高度是1. 5um。Ml和M2的间距是最小值0· 8um。
[0010] 2)反例:包含Ml层,M2层,AA层和DNW层。DNW层包含AA层,Ml层和M2层位于 AA层内。Ml的高度是lum,M2的高度是1. 5um。Ml和M2的间距是0. 799um,比最小值0. 8um 刚好小一个步长0.001。
[0011] 3)伪错1(M1高度不满足):包含Ml层,M2层,AA层和DNW层。DNW层包含AA层, Ml层和M2层位于AA层内。Ml的高度是0· 999um,比最小值刚好小0· OOlum,M2的高度是 1. 5um。Ml和M2的间距是0. 799um,比最小值0. 8um刚好小一个步长0. 001。
[0012] 4)伪错2(12高度不满足):包含11层,12层,44层和0丽层。0丽层包含4六层』1 层和M2层位于AA层内。Ml的高度是lum,M2的高度是1. 499um,比最小值刚好小0· OOlum。 Ml和M2的间距是0· 799um,比最小值0· 8um刚好小一个步长0· 001。
[0013] 5)伪错3 (不存在AA):包含Ml层,M2层,DNW层。Ml层和M2层位于DNW层内。 Ml的高度是lum,M2的高度是1. 5um。Ml和M2的间距是最小值0· 799um,比最小值0· 8um 刚好小一个步长0.001。
[0014] 6)伪错4 (不存在DNW):包含Ml层,M2层,AA层。Ml层和M2层位于AA层内。Ml 的高度是lum,M2的高度是1. 5um。Ml和M2的间距是最小值0· 799um,比最小值0· 8um刚 好小一个步长〇. 〇〇1。
[0015] 7)伪错5(存在PW):包含Ml层,M2层,AA层和DNW层,以及PW层。DNW层包含AA 层,Ml层和M2层位于AA层内,PW是最外层。Ml的高度是lum,M2的高度是1. 5um。Ml和 M2的间距是0· 799um,比最小值0· 8um刚好小一个步长0· 001。
[0016] 8)伪错6(存在Μ頂):包含Ml层,M2层,AA层和DNW层,以及Μ頂层。DNW层包含 ΑΑ层,Ml层和M2层彳λα于ΑΑ层内,ΜΙΜ是取外层。Ml的闻度是lum,M2的!1?度是1.5um。Ml 和M2的间距是0· 799um,比最小值0· 8um刚好小一个步长0· 001。
[0017] 为了自动构造上述测试向量,首先需要给出一个包含全部图形层的版图单元(采 用⑶S格式文件),即要包括Ml层,M2层,AA层,DNW层,PW层和Μ頂层。它们的具体大小 尺寸不用关心,但保证它们间的拓扑结构是正确。这个模板版图是手工完成的。
[0018] 再者,要定义好约束条件,包括检测条件和伪错条件。这是个文本文件。针对附图 1的例子,约束条件有:
[0019]
[0020] ⑶S文件和约束定义文件是伪错构造和测试向量生成引擎的输入。伪错构造和测 试向量生成引擎首先读入版图GDS文件,构造各图形层间的拓扑结构关系。方法是采用基 于边的扫描线算法,分别建立X方向上和Y方向上各边的关系。注意这里只需要考虑面对边 的关系,即只有两条边在垂直方向上的投影有交叉时才建立它们间的关系。这样,大致有3 种边到边的关系,分别是宽度,间距,和包含,如附图3所示。两边距离的缺省就使用GDS文 件中画出的距离值,除非约束文件中有明确定义,例如上面给出的Ml和M2的两个FIX值, 即Ml在X方向的宽度要为3um,M2在X方向的宽度要为4um。扫描后建立的关系集合具有 正交性,即没有多余和重复的关系,仍两条边的距离都可以通过该关系集合计算出来。
[0021] 接下来,伪错构造和测试向量生成引擎根据约束文件的定义来构造测试向量:
[0022] 1)对于正例,调整CHECK指定的间距到最小值(或最大值),其它FALSE_ERR0R的 间距到最小值(或最大值),保留EXIST图形层,移除ΝΟΝ-EXIST的图形层,并保持其它图形 层对边间距离不变。
[0023] 2)对于反例,调整CHECK指定的间距到比最小值小一个步长(或比最大值大一个 步长),其它FALSE_ERR0R的间距到最小值(或最大值),保留EXIST图形层,移除N0N-EXIST 的图形层,并保持其它图形层对边间距离不变。
[0024] 3)对于伪错测例,首先调整CHECK指定的间距到比最小值小一个步长(或比最大 值大一个步长),即让CHECK值违反约束,然后按4)或5)处理。
[0025] 4)对于违反值的伪错,调整FALSE_ERR0R的距离值比规定的最小值小一个步长 (或比最大值大一个步长),其它与正例相同;
[0026] 5)对于EXIST图层伪错,移除该图形,其它与正例相同;
[0027] 6)对于ΝΟΝ-EXIST图层伪错,增加该图形,其它与正例相同。
[0028] 测试向量生成引擎具有在保持拓扑结构不变的情况下调整边间距离的能力。它对 约束文件中定义的伪错条件进行遍历和组合,最终产生一组版图测试向量(GDS格式)。
[0029] 最后,针对测试向量中的每一测试单元,运行设计规则验证程序(以Sysnopsys公 司的Calibre工具为代表),对运行结果进行如下分析:
[0030] 1)对于正例和伪错用例,设计规则验证应该通过,否则说明代测试的规则文件书 写不正确,即将正确的情况认为是错误的;
[0031] 2)对于反例,设计规则验证应该报错,否则也说明代测试的规则文件书写不正确, 即没有检查出应有的错误情况。
[0032] 本发明方法总结如附图2。
【附图说明】
[0033] 图1 :示例了一个典型的含伪错条件的测试用例。要测试的物理约束规则是Ml层 和M2层的间距要大于等于0. 8um,同时要求Ml层的宽度要大于等于lum,M2层的宽度要大 于等于2um(宽金属检查规则),并且Ml层和M2层要同时被AA层和DNW层所包含,但不能 处于PW层和MIM层所在的区域内(非高压区)。
[0034] 图2 :示例了版图验证测试向量的伪错自动构造方法的流程。
[0035] 图3 :示例了拓扑关系中边对边的3种关系,包括宽度、间距、和包含。
【具体实施方式】:
[0036] 参见附图2 :
[0037] 第一步:手工输入一个⑶S版图单元,包含完整的图形层,各图形层间符合正确的 拓扑结构关系,但不要求图形的尺寸正确。
[0038] 第二步:手工编写约束文件,定义测试条件及伪错条件。伪错条件包括两种,一是 距离大小值,二是图层是否存在。
[0039] 第三步:由伪错构造及测试向量生成程序自动根据输入⑶S文件和约束文件构造 正例、反例、和伪错例的版图测试向量。
[0040] 第四步:对每一测试用例及代测规则文件调用版图设计规则验证程序进行测试。
[0041] 第五步:分析测试结果,正例和伪错例应全部通过,反例则应全部报错。
[0042] 上述第三步到第五步已由计算机软件程序实现自动化构造过程。
【主权项】
1. 一种版图验证测试向量的伪错自动构造方法,其输入是拓扑结构正确的版图单元和 定义伪错约束的文件。伪错构造程序使用扫描线算法从版图中提取边对边的拓扑关系,并 遍历伪错约束,调整边对边的距离值,输出不同条件下包含正例、反例、及伪错用例的完整 测试向量。本方法避免了完全依靠手工的测试向量开发过程。 具体步骤如下: 第一步:手工输入一个包含完整的图形层⑶S版图单元。 第二步:手工编写约束文件,定义测试条件及伪错条件。 第三步:由测试向量生成程序自动构造正例、反例、和伪错例的版图测试向量。 第四步:对每一测试用例及代测规则文件调用版图设计规则验证程序进行测试。 第五步:分析测试结果,正例和伪错例应全部通过,反例则应全部报错。
【专利摘要】本发明涉及集成电路辅助设计软件工具中版图验证领域。在开发集成电路版图验证规则的过程中,测试向量的数量巨大,特别是对于伪错。例如,对于宽金属的间距检查,如果金属的宽度达不到宽金属的标准,即使间距违反最小间距,也是允许的。针对一条设计规则,伪错条件可能不止一个,这种情况下,伪错测例会很多,如果完全靠手工绘制版图,这工作量巨大,并且在处理组合条件时也很容易出错。本发明提出了版图验证测试向量的伪错自动构造方法,通过定义伪错约束,使用软件自动产生完整的测试向量。方法中只需要输入一个拓扑结构正确的版图,就可以自动构造出各种伪错组合的测试用例,大大降低了人工成本。
【IPC分类】G06F17/50
【公开号】CN105653745
【申请号】
【发明人】王勇, 张萍, 侯劲松, 李宁
【申请人】天津蓝海微科技有限公司
【公开日】2016年6月8日
【申请日】2014年11月14日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1