资源描述
单击此处编辑母版标题样式,第5章 设计规则检查和版图提取,5.1 设计规则检查,5.2 版图的提取,习题,第5章 设计规则检查和版图提取,5.1 设计规则检查 第5章 设计规则检查和版图提取,最简单的设计规则包括几何图形或几何图形之间的宽度、间距、伸出或包围,具体的设计规则的定义取决于流片的芯片制造厂提供的规范。对版图进行设计规则检查通常包括两个基本步骤:(1)定义适用于该版图的设计规则。(2)执行设计规则检查。,5.1 设计规则检查,最简单的设计规则包括几何图形或几何图形之间的宽度、间距、,Tanner的L-Edit支持三种格式的设计规则文件,分别是:,标准的Tanner DRC规则设置;,Mentor Graphics Calibre;,Cadence Dracula。,Tanner的L-Edit支持三种格式的设计规则文件,分,5.1.1 运行DRC,运行DRC是为了保证流片之前所设计的版图满足流片工艺的规范,否则生产出来的芯片将不能执行相关的功能。要对整个单元的版图进行设计规则检查,选择命令ToolsDRC。如果只对单元的一部分进行设计规则检查,选择命令ToolsDRC Box,然后在要检查的版图上按住鼠标左键画一个矩形框来确定检查的范围。,5.1.1 运行DRC运行DRC是为了保证流片之前所,在运行DRC的过程中,在版图界面会出现一个与图5.1类似的对话框,这个对话框中列出了被检查单元的名字、使用的设计规则文件的名字、当前正在检查的设计规则的名字、使用的时间、估计要做完全部检查所剩余的时间及已经完成的设计规则检查的数量。对每个检查出来的错误,对话框中会列出规则名和错误的数量。这个对话框中的内容同样会被保存在DRC结果报告中。可以通过DRC错误导航来查看DRC结果报告,所使用的命令是ActionsOpen DRC Summary Report。,在运行DRC的过程中,在版图界面会出现一个与图5.1类似,每个单元都有DRC状态,DRC状态有三种:(1)Needed,即此单元还没有进行DRC检查,或者在检查完毕后对其进行了编辑。(2)Passed,即此单元已经进行了DRC检查,没有发现违反规则的设计。(3)Failed,即此单元已经进行了DRC检查,发现有违反规则的设计。可以在设计导航中查看单元的DRC状态,如图5.2(a)所示;或者对单个单元可以选择CellInfo命令,在出现的对话框中DRC后的框中查看,如图5.2(b)所示。,每个单元都有DRC状态,DRC状态有三种:(1),图5.1 执行DRC时出现的对话框,图5.1 执行DRC时出现的对话框,图5.2 查看单元的DRC状态,图5.2 查看单元的DRC状态,DRC运行结束后,在版图界面会出现DRC错误导航窗口,其中给出了错误总数、被检查单元的名字、违反设计规则的内容及违反个数、错误所在单元、错误列表,如图5.3所示。点击错误列表(Error1,Error2,),则在版图的相关位置会标记出错误范围,如图5.4所示。,DRC运行结束后,在版图界面会出现DRC错误导航窗口,其,图5.3 错误导航窗口,图5.3 错误导航窗口,图5.4 标记DRC错误,图5.4 标记DRC错误,在错误导航界面中有一些图标对查看和修改DRC错误很有帮助。点击图标“”可以使错误标记在显示和隐藏之间切换。对版图进行修改后,如果想要去掉错误标记,点击错误导航界面中的图标“”。点击图标“”可以在版图中标记下一个DRC错误,点击图标“”可以在版图中标记上一个DRC错误。点击图标“”可以对错误导航界面进行设置,对于一般的DRC检查,默认的设置是比较符合需要的,不需要另外再作修改。点击图标“”会出现一个下拉菜单,此菜单中比较经常用的选项是“Export DRC Result”,即导出DRC结果。,在错误导航界面中有一些图标对查看和修改DRC错误很有帮助,5.1.2 交互式DRC,交互式DRC用于在版图编辑的过程中检查版图是否有违反设计规则的地方,以保证设计的正确性。在画图的过程中,软件会自动提醒所作编辑是否满足设计规则要求。在Tanner的L-Edit中嵌入的DRC检查支持以下类型的设计规则:宽度(Width)、间距(Spacing)、围绕(Surround)、交叠(Overlap)、伸出(Extension out of)。下面详细介绍这几种规则。,5.1.2 交互式DRC交互式DRC用于在版图编辑的,1宽度(Width),宽度规则规定了在指定绘图层上的对象的最小宽度,测量宽度的值是从图形的边沿内侧算起的,如图5.5所示。,1宽度(Width)宽度规则规定了在指定绘图层上,图5.5 宽度的定义,图5.5 宽度的定义,2间距(Spacing),间距规则规定了对象之间应该分开的最小距离,对象可能在同一绘图层上,也可能在不同绘图层上,如图5.6(a)所示。在这里需要注意的是,当两个对象的外边框相切、相交或相互包含的时候,不认为它们违反了间距规则,如图5.6(b)所示。,2间距(Spacing)间距规则规定了对象之间应,图5.6 间距的定义,图5.6 间距的定义,3围绕(Surround),围绕规则定义在一种绘图层上的对象必须被另一种绘图层上的对象完全包围的最小距离,如图5.7(a)所示。如果对象A应该被对象B围绕,而在版图中对象A完全在对象B之外,则进行设计规则检查的时候也不认为违反了围绕规则,如图5.7(b)所示。,3围绕(Surround)围绕规则定义在一种绘图,图5.7 围绕规则的定义,图5.7 围绕规则的定义,4交叠(Overlap),交叠规则定义了一种绘图层上的对象必须交叠另一种绘图层上的对象的最小距离,如图5.8(a)所示。如果两个对象的外边框相切或完全分离一定的距离,也不认为违反了交叠规则,如图5.8(b)所示。,4交叠(Overlap)交叠规则定义了一种绘图层,图5.8 交叠规则的定义,图5.8 交叠规则的定义,5伸出(Extension out of),伸出规则定义了一种绘图层上的对象必须伸出另一种绘图层上对象的边界的最小距离,如图5.9(a)所示。如果两个对象相外切、分离或包含(不含内切),也不认为违反了设计规则,如图5.9(b)所示。,5伸出(Extension out of)伸出规,图5.9 伸出规则的定义,图5.9 伸出规则的定义,启动交互式DRC的方法是点击图标“”。例如要画一个N阱,在N阱层方框的宽度没有达到设计规则中所定义的最小宽度的时候,方框周围始终是红色的提示线,如图5.10(a)所示。当宽度达到设计规则所规定的最小宽度的时候,提示线会变成蓝色,如图5.10(b)所示。由此可见,交互式DRC可以有效地提高版图编辑的效率。,启动交互式DRC的方法是点击图标“”。例如要画一个N,图5.10 利用交互式DRC绘图,图5.10 利用交互式DRC绘图,版图的提取是对版图进行验证的一种方法。提取版图会产生一个网表,网表是对与版图相对应的电路图的器件和连接关系进行描述的文件。网表可以用于对版图进行验证。提取的过程是通过版图几何图形和它们所代表的电路器件之间的关联性来定义的。这种关联是在提取定义文件(.ext)中定义的。在提取定义文件中包含了要提取的器件和连接的一个列表。提取定义文件可以用于定义两个不同工艺层之间的连接以及以类别、器件绘图层、引脚和模块名称定义的器件。,5.2 版图的提取,版图的提取是对版图进行验证的一种方法。提取版图会产生一个,要提取节点或元件到网表中,必须在节点或元件的绘图层上添加端口,端口是用与节点或元件相同的绘图层上的方框或多边形来表示的,因此在版图中仅仅需要绘出节点或元件而不用对端口进行标注,抽取网表的时候将会忽略此节点或元件。利用命令ToolsExtract可以从当前激活的文件中提取网表。运行提取命令后打开的对话框如图5.11所示。,要提取节点或元件到网表中,必须在节点或元件的绘图层上添加,图5.11 提取对话框,图5.11 提取对话框,在对话框中,标签General中的选项用于指定输入和输出文件的名字;标签Output中的选项用于指定提取的电路写入输出网表的方式;标签Subcircuit中的选项用于指定支电路提取的参数。点击Run按钮可以开始进行提取操作,Accept按钮用于保存当前设置而不执行提取操作。每个标签下的选项详细介绍如下。,在对话框中,标签General中的选项用于指定输入和输出,1General 标签下的选项,(1)Extract definition file:输入的提取定义文件。可以用Browse按钮浏览选择该文件,点击后面的“Edit”按钮可以将文件以文本方式打开。(2)SPICE extract output file:包含提取后网表的输出文件的名字。可以用Browse按钮选择输出文件的路径,点击后面的“Edit”按钮可以将输出文件以文本方式打开,这样会同时将Extract对话框关闭。,1General 标签下的选项(1)Extr,(3)Overwrite existing output files:此选项被选中,将会导致SPICE输出文件被自动重写。(4)Label all devices:对每个未被命名的器件,在器件所在位置创建一个端口。,(3)Overwrite existing outp,2Output标签下的选项,Output标签页如图5.12所示。,2Output标签下的选项Output标签页如图,图5.12 Output标签页,图5.12 Output标签页,(1)Write node names aliases:在网表文件开头的“NODE NAME ALIASES”节中,将与每个节点相关的节点名都进行注释。例如:*NODE NAME ALIASES*1=GND(41.85,11.1)*2=VDD(41.75,16.7)*3=IN(41.65,13.55)*4=OUT(42.85,13.65),(1)Write node names aliase,(2)Write device coordinates:在SPICE语句的末尾写出器件左下角和右上角的坐标作为行注释。例如:M1 OUT IN VDD VDD PMOS L=250n W=550n$(42.3 14.85 42.55 15.4)(3)P-Spice compatible comments:用分号“;”作为行注释符号来代替“$”以达到与P-Spice的格式相一致的目的。(4)Write terminal names for subcircuits:在注释语句中给出子电路的端点名和网表中子电路的状态。例如:X1 1 2 4 ICResPoly L=3.4u W=250n*X1 PLUS MINUS BULK,(2)Write device coordinate,(5)Write shorted devices:如果在提取定义文件中“IGNORE_SHORTS”被设置,则在网表的注释语句中写出短路的器件,否则短路的器件将被忽略;如果在提取定义文件中“IGNORE_SHORTS”没有被设置,则在网表中短路的器件将作为正常器件被写进。(6)Write layer cap.&resistance warnings:将缺少的绘图层电容和电阻的值写进网表的警告信息中。例如:*Warning:Layers with Unassigned AREA Capacitance.*,(5)Write shorted devices:如,(7)Write node-element crossreference:将节点和器件的前后参照表写进网表文件的注释中,同时也列出器件的端点、节点,识别器件的多边形之间的边界及器件的位置。例如:*NODE-ELEMENT CROSS REFERENCE*NODE=ELEMENT Terminal(PinEdgeX1 PinEdgeY1 PinEdgeX2 PinEdgeY2)(ElemX1 ElemY1 ElemX2 ElemY2)*GND=M2
展开阅读全文