版图验证工具的作用是检查版图是否满足设计规则、电气规则、版图与电路图是否一致等,对于降低设计失败的风险具有重要作用。
版图验证工具不仅要支持扁平化验证,而且要支持层次化验证。扁平化验证是版图验证工具的基础;层次化验证充分利用版图层次,可以有效避免重复报错和提高处理版图的速度。对于大规模版图,通常还采用并行技术以加速版图验证效率。
版图验证工具主要包括设计规则检查(Design Rule Check,DRC)、版图电路图一致性检查(Layout Versus Schematic,LVS)、电气规则检查(Electronic Rule Check,ERC)、版图比对检查(Layout Versus Layout,LVL)等。
1.设计规则检查(DRC)
版图设计必须遵循制造工艺的设计规则要求,因此设计检查主要包括连线宽度、连线间距、图形包含关系、金属密度、天线效应检查等。如果版图设计中违反了这些规则将导致制造失败,例如线条宽度过小可能导致断路。
DRC涉及的关键技术有层次处理和扫描线算法等。
层次处理技术是对版图原始层次进行调整,根据需要对版图图形进行投影或提升以提高DRC工具的性能。
扫描线算法包括基于梯形的扫描线算法和基于边的扫描线算法。DRC技术通常采用基于边的扫描线算法。
边,即一条线段,用它的两个端点的坐标表示。基于边的扫描线算法的本质是将平面的二维几何问题转化成两个一维问题,包含以下几个步骤:
(1)确定当前扫描线的位置;
(2)加入当前扫描线上的新进边,与原有的边构成当前扫描线边集合;
(3)对当前扫描线边集合进行排序;
(4)遍历当前扫描线边集合,根据不同的命令进行相应的逻辑处理;
(5)删除当前扫描线上的离开边,并重新回到步骤(1)。
在图5-117中,L1和L2图层为输入图层,x1、x2、x3、x4为扫描线需要计算的位置,Result图层为结果图层。
2.版图电路图一致性检查(LVS)
LVS工具的主要功能是检查从版图中提取的网表和从电路图中导出的网表的一致性,涉及的主要技术有网表提取(Netlist Extraction)技术和网表比较(Netlist Comparison)技术。网表提取的主要工作是提取电路的线网(Net)、器件(Device)和器件属性。网表比较本质上是图论中的图同构问题。
LVS的基本原理:在有初始匹配对的情况下通过跟踪匹配更多的器件或线网;在没有初始匹配对的情况下使用签名划分等方法获得初始匹配对,然后再从初识匹配对出发继续跟踪。如此循环,直至版图与电路图全部匹配或无新的匹配对产生为止。对于未能匹配的器件和线网,尝试根据其周围环境进行修复并进行匹配;如果修复失败,则作为错误写出至报告中。