LVS验证的实验指导.doc_第1页
LVS验证的实验指导.doc_第2页
LVS验证的实验指导.doc_第3页
LVS验证的实验指导.doc_第4页
LVS验证的实验指导.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五章 物理验证(一)教学内容1物理验证的概念;2主流物理验证工具介绍;Calibre 是Mentor Graphics 的IC版图验证软件,此软件包括设计规则检查( DRC )、版图与原理图一致性检查(LVS)、电气规则检查(ERC)、及版图寄生参数萃取(LPE)等验证功能。其操作界面主要分为图形模式(GUI)(graphical user interface) Calibre Interactive与指令模式(Command Line),其中图形模式可以单独启动,亦可与Virtuoso 等软件相连接,其操作界面皆相同。本章我们主要研究图形模式。3.主要术语n SVRF-Standard Verification Rule Format(标准的检查文件)n RVE-Results Viewing Environment(显示结果用的环境窗口)n SVDB-Standard Verification Database (LVS results)n DRC-Design Rule Check(设计规则检查)n ERC-Electrical Rule Checking(电气规则检查)n LVS-Layout Versus Schematic(版图原理图一致性检查)n LPE-Layout Parasitic Extraction(版图寄生参数萃取)第二节 LVS版图与原理图的一致性4.Calibre LVS 简介Calibre LVS 是一个出色的版图与线路图对比检查工具,具有高效率、高准确度和大容量等优点。Calibre LVS 不仅可以对所有的“元件”进行验证,而且还能在不影响性能的条件下,处理无效数据。主要表现在以下几个方面:(1) 运行模式快捷方便:Calibre LVS 有两种运行模式,即命令行模式和界面模式(Calibre Interactive-LVS)。采用命令行模式可以快速输入控制命令,快速运行,其结果精确稳定。Calibre Interactive-LVS 能够自动选择验证正被编辑的单元,并且能够选择所有的Calibre运行时间选项以及标准文件的规范。该验证技术,允许用户选择特定标准文件以及独立规则和规则组的任何子集。GUI 可控制普通使用的LVS 选项,并记录运行设置过程。当采用修改控制或冻结标准文件时,它可将运行配置数据传给Calibre。其界面友好,使用方便。我们在做LVS 过程中,对于规模较小的模拟电路和数模混合电路,一般采用方便的图形界面模式(Calibre Interactive-LVS)进行对比检查,这样可以在启动RVE 后,对照LVS 结果文件和版图,将电路(或者网表)和版图直接对应起来检查,非常方便;对于大规模的SoC 电路,由于命令行方式输入简单直接,运行速度更快,运行结果稳定精确,这次就采用了命令行方式来运行LVS,获得了极大的成功。(2) 多种比较方式可选:Calibre LVS 可以进行版图与电路图(layout vs shematic)和网表与网表(netlist vs netlist)的方式对比检查,还可以单独从版图提取网表。而且,通过v2lvs 命令,可以将自动布局布线所产生的verilog 网表转换成spice 网表,然后与自动布局布线的版图进行对比,操作简单方便,结果精确。由此可见,可以根据不同需要,在LVS 验证过程的不同阶段,灵活地选择比较方式,以获得最有效的运行和最佳的结果。(3) 侦错方便快捷:当运行完LVS 后,Calibre LVS 会产生一个结果报告,明确指出出错类型和数目,并且可以对层次化中的每个模块都有一个完整的LVS 报告,简单明了。这个报告还能明确指出短路(特别是电源和地短路的情况)、开路、浮空或孤立的nets、pin swapping以及软连接等问题。Calibre LVS 还能产生一个详细的结果数据库,其中包括原理图网表、从版图抽取的网表、结果报告、版图中的器件及连接关系等。这样通过RVE 来读取这些数据,就可以在版图和网表中准确地Highlight 有错误的地方(图1)。由此可见,Calibre LVS 所产生的结果文件结构清晰,又可以通过RVE 来准确定位,能有效地帮助用户快速地消除错误以降低设计风险,这在我们项目的开发过程中得到了完全的体现。由于时间紧迫,致使后端设计的时间相当紧张,正是Calibre LVS 能准确无误、快速地查出短路、开路、浮空或孤立的网络、引脚、软连接等问题,还能很好地识别晶体管、门级电路和模块级电路,才使得我们按时地完成了百万门级的信息安全SoC 的设计。在反复使用 Calibre LVS 的图形界面的运行方式和命令行方式过程中,发现Calibre LVS 图形界面的运行方式方便快捷,但是其稳定性不如命令行方式好,若能加以改进,则能进一步提高验证精准度。5物理验证的流程;Spice网表规则文件APRGDS版图Calibre LVSLVS错误差异报告提取的网表LVS错误数据库SVDBRVE+VLE版图编辑器确定报告来自于差错报告手工修改版图注:从APR 工具实现的版图中提取(extract)出一个网表。将这个提取出的网表与APR 工具要实现的网表比较,它们应该相同。如果两个网表不一样,这时手工修改版图,使之与要实现的网表相一致。6.准备工作:(1)为什么要做LVS?LVS 作了些什么?APR (Automatic place and Route)自动布局布线工具作出的版图,基本上是正确的。但是,不能保证APR 工具是绝对正确的,也就是说,APR 工具可能会出错。为了发现并改正APR 工具布线的错误,需要做LVS。另外,从版图中提取电路图,同样需要验证电路图与版图的一致性。LVS的目的就是证明版图的逻辑与网表是一致的,APR 将网表实现成了版图,现在LVS 要证明这个实现是正确的。(2)下面是一个简单的calibre LVS Rule File,右边后内容是对它的解释。n LAYOUT SYSTEM GDSII 指定layout 的格式为gdsn LAYOUT PATH “/user/joeb/proj/layout/ictr” 指定版图的路径n LAYOUT PRIMARY CalibreM 版图的top celln SOURCE SYSTEM SPICE 指定source 的格式为spice 网表n SOURCE PATH “/user/joeb/proj/logic/ictr” source 的路径n SOURCE PRIMARY CalibreM source 的top celln MASK RESULTS DATABASE CalibreM.db LVS 的结果保存文件,将来指导改正版图n LVS REPORT CalibreM.rpt report 文件n layer PWELL 1 读入版图的各层信息n layer OXIDE 2n layer RES 3n layer POLY 4n layer NPLUS 5n layer PPLUS 6n layer CONTACT 7n layer METAL1 8n layer VIA 9n layer METAL2 10n chip = extentn nsub = chip not pwell 进行layer operation。n gate = oxide and polyn sd = oxide not polyn ngate = gate and nplusn pgate = gate and pplusn psd = sd and pplusn nsd = sd and nplusn sdm = pplus or nplusn connect psd pwell 定义连接关系n connect nsd nsubn connect metal1 poly nsd psd by contactn connect metal2 metal1 by vian device mn ngate poly nsd nsd pwell 0 提取 nmosn device mp pgate poly psd psd nsub 0 提取 pmosCalibre 根据这个Rule File 提供的信息,首先从版图中提取出一个网表,再将这个网表与APR要实现的网表进行比较,判断APR 生成的版图是否正确。 7.具体操作:n 专门建立一个新的文件夹用于此次LVS 。n 将Rule File拷贝至此文件夹。n 从版图中导出GDS文件至此文件夹下,操作同DRC时导出版图,亦可在Calibre DRC 图形界面中选择从当前版图中导出GDS 文件。n 利用Analog Environment 中的hspiceS 从电路图中导出网表。下面是导出网表的图示。l 在Simulator中选择hspiceSn 将电路图网表拷贝至你所建立的新目录scj_lvs中与*.gds和rule file 放置在一起,此时要修改电路图网表的内容,使其与layout有相同的model name,以及把VDD!等的惊叹号去掉,以保持与layout网表的一致性。(二)实验内容1.启动LVS方法(三种方法启动图形界面)在版图的Calibre菜单下点出 RUN LVS 命令在命令窗口里输入 calibre gui 启动calibre GUI,再选择LVS直接在命令窗口里输入calibre gui -lvs2. Runset File是RUN LVS时需要填入的一些设置,方便于下次RUN。第一次由于没有,所以就选择New Runset ,等第一次RUN完后,可以将填入的设置存成一个Runset File。再RUN LVS时,可以将这个Runset File Load进来。同RUN DRC。n 上面的窗口中,可以看到 Rules 与 Inputs 两个命令是红色的,表示 RUN LVS 需你设置的。3. 点击 Rules 命令,在 CalibreLVS Rules File 的命令行里输入用来做 LVS检查的文件(SVRF),这个文件里包括了一些层次及器件的定义等。在 CalibreLVSun Directory 里输入你要 RUN LVS 的路径,建议建一个专门的目录。可以看到这时Rules 已经变成绿色,表示 Rules 里设置完成了。每个命令行后面的可以帮助你选择文件。4. 点击Inputs 命令,如果选择Layout vs Netlist ,则在Layout 命令行里输入你要检查的版图的GDS,假如你已经当前版图输出GDS 了,可以输入已经生成的GDS。假如你还没有输出GDS,可以选下面的Import layout database from layout viewer 设置,这样Calibre 在Run LVS 时就先把当前的版图输出GDS,名字就是你上面输入的GDS 名。Primary Cell 的命令行里就是当前的顶层单元名。Layout Netlist 的命令行里填入版图提取出 SPICE 网表的名称。n 如果选择Netlist vs Netlist , 此时layout 选项中的Files 不可选,则必须已经有了layout的网表,在Layout Netlist命令行里填入layout网表的名称。n 如果选择Netlist Extraction ,则只从layout中抽取出网表,不与电路图网表进行比对。n Primary Cell 的命令行里就是当前的顶层单元名,与上面Layout vs Netlist 时相同。n 在Files命令行里填入逻辑网表。n 可以选择从电路图中自动导出,此电路图应与当前版图在同一个Library里的同一个Cell里,自动导出的网表为cdl格式。n 通常利用Import自动产生Source netlist 后,其device的model name会与layout不匹配,因此常需要自行修正。n Primary Cell里填入逻辑的顶层单元名。使用hspice格式的网表时,由于其顶层单元不包括.subckt语句,所以就用”.”填入。因为填“.”时,LVS只读取.subckt语句之外的内容。n HCells是使用Hierarchical模式做LVS时才需设定,否则不需额外去做设定。使用Hierarchical模式下最常见的设定是Automatch,一般在Layout所用的Cell Name于Schematic 的Cell Name 不一致的情况下方需设定HCells.n 点击Netlist边上的H-Cells,选中Match cells by name(automatch)选项。Calibre Hierarchical LVS是先完成底层单元的比对,但需要将底层单元设为H-Cells。如果一个单元只调用了一次,没必要将它设为H-Cells。但被调用了多次时,将它设为H-Cells时会大大减少LVS时间。5. 点击Outputs命令n 选择run完LVS后检视Report。n 建SVDB database并在run完LVS后开启RVE来检视error。n 在LVS Report File 的命令行里输入LVS输出的文本文件的路径及名称。n 在SVDB Directory 的命令行里输入LVS输出的数据存放的路径。这个数据是用Calibre RVE来Debug时读入的数据。6. 点击LVS Options命令n Setup-LVS Optionsn 在Options里的Supply选项里选中Abort LVS on power/ground net errors,这个选项的目的是当电源地短路时中断LVS.n 如果出现电源地短路,再RUN LVS时就不选这个选项,这样LVS就不会中断并且会报出电源地短路的地方。n 但是不选这个选项会RUN很长时间,所以一般都会选上这个选项。n 在Power nets 和Ground nets 两个命令行里分别输入电源地的名称。一般rule file里已经写好了,load rule file 或 runset file时自动会填在这里面。n 在Report 选项里的LVS Report Options 里选中S选项。这样在LVS Report File 里会输出详细的软连接的冲突。n 软连接(soft connect) 是将电位单向由上传至下层的layer,以用来检查是否有不同电压准位透过底层连接,或是上层电位是从底层传递过去的。n 在 Gates 选项里选中 Recognize all gates 选项,目的是 Calibre LVS 能以所有的逻辑门(与非门、倒相器、或非门、与或非门等)为单元来比对。n 选中 Recognize simple gates,只能以基本的逻辑门(倒相器、与非门、或非门)比对。n 选中 Turn gate recognition off 时,LVS将以单管为单位来比对。当你允许逻辑门的输入可以互换时选前两个,如果你不允许时就选最后一个。n 当你要在RUN LVS 的同时RUN ERC 检查时选中ERC 选项,选中Run ERC 选项n 在ERC Results File 命令行里填入ERC 的结果数据的路径和名称。n 在ERC Summary File 命令行里填入ERC 的简述文件的路径和名称。l 在Connect 选项里选中Connect nets with colon(:) ,当你的版图里有用TEXT 加冒号来表示两条线的连接时要选中这个选项。7.点击Run Control命令n Run Calibre LVS的相关option,可决定是n 否以64bit,远端操作,或多台server执行,n 一般均改变预设值。8.点击Transcript命令n Transcript 记录Run LVS的过程与相关信息,无法顺利执行,可由此看错误讯息,亦可用Transcript - Save as 存成log file。n Run LVS 执行Calibre LVS check。8.可点击Start RVE 自行以手动方式开启RVE视窗。n 在Report 上出现笑脸符号代表LVS check正确,RVE也将显示Design Match.9. LVS 错误举例n RVE 显示有四处net 错误,一处port 错误,一处instance 错误,一处property 错误。l RVE 显示有四处net 错误,点开第二个错误,下面显示了详细的incorrect nets 的信息。LAYOUT 中一条net 对应着电路图中的两条net ,表示电路图中有一处Open Circuit 开路错误。 或者是layout 中有一处Short Circuits 短路错误。l 双击LAYOUT NAME 中的Net X89/inp ,则会打开版图并高亮此net n 通过版图中高亮的net ,找出与此错误有关系的cell ,然后在电路图上在根据cell ,找出有错误的net ,如上图所示n 左右两条红线net ,在版图上是连起来的,所以修正电路图如上图所示n 点开第三个错误,下面显示了详细的incorrect nets 的信息。LAYOUT 中两条net 对应着电路图中的一条net ,表示layout 中有一处Open Circuit 开路错误。 或者是电路图中有一处Short Circuits 短路错误。 l 版图上a1 和a2 是两条net ,而在电路图上两条线连了起来,修正后如右图所示。(1)Property 错误 n RVE 显示property 参数错误,mos管的宽度不匹配。n 双击LAYOUT 下边的X89/X8422/M0 ,在版图中高亮这个晶体管。n 电路图中multiplier 参数错误。(2)Port 错误l RVE 显示port 错误,在下面可以看到,layout 中的port DOUT 在source 中对应着DOUT_E ,把名字改过来即可。(3)Instance 错误 l 从版图中可以看到M_133一端接VD33,所以其model name 应该填PD,然后在导出的spice网表中再改为P33即可n 从右面三张图上可以看到,M_130_133 上的bulk一端,layout与source上不一致,将电路图上的bulk node connection 的值改为与版图一致的VD33 即可。10.关于Calibre lvs report?Lvs中Input和Output的信息:该部分主要记录calibre中的一些信息,例如layout,netlist,report file,运行时间以及calibre的版本信息。Lvs是否匹配最明显的标志:NOT COMPARED, CORRECT 和 INCORRECT(a)NOT COM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论