Diva验证工具使用说明:.doc_第1页
Diva验证工具使用说明:.doc_第2页
Diva验证工具使用说明:.doc_第3页
Diva验证工具使用说明:.doc_第4页
Diva验证工具使用说明:.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

Diva验证工具使用说明: 按照排出所需的掩模版图,然后就可以在Cadence环境下用Virtuoso这个工具来进行版图编辑。版图编辑要根据一定的设计规则来进行,也就是要通过DRC(Design Rule Checker)检查。编辑好的版图通过了设计规则的检查后,有可能还有错误,这些错误不是由于违反了设计规则,而是可能与实际线路图不一致。版图中少连了一根铝线这样的小毛病对整个芯片来说是致命的,所以编辑好的版图还要通过LVS(Layout Versus Schematic)验证。同时,编辑好的版图通过寄生参数提取程序来提取出电路的寄生参数,电路仿真程序可以调用这个数据来进行后模拟。下面的框图可以更好的理解这个流程。图 1 IC后端工作流程验证工具有很多,我们采用的是Cadence环境下的验证工具集DIVA,下面介绍DIVA验证文件的编辑和验证工具的应用。 DIVA是Cadence软件中的验证工具集,用它可以找出并纠正设计中的错误。Diva可以处理物理版图和准备好的电气数据,从而进行版图和线路图的对查(LVS)。用Diva可以在设计的时期就进行检查,尽早发现错误并互动地把错误显示出来,有利于及时发现错误所在,易于纠正。 DIVA工具集包括以下部分:1 设计规则检查(iDRC)2 版图寄生参数提取(iLPE)3 寄生电阻提取(iPRE)4 电气规则检查(iERC)5 版图与线路图比较程序(iLVS)Diva的各个组件之间是互相联系的,有时候一个组件的执行要依赖另一个组件先执行。例如:要执行LVS就先要执行DRC等。在Cadence系统中,Diva集成在版图编辑程序Virtuoso和线路图编辑程序Composer中,在这两各环境中都可以激活Diva。要运行Diva前,还要准备好规则验证的文件。可以把这个文件放在任何目录下,这些规则文件的写法下面专门会进行说明,也会给出例子。这些文件有各自的默认名称,如:做DRC时的文件应以divaDRC.rul命名,版图提取文件以divaEXT.rul命名。做LVS时规则文件应以divaLVS.rul命名。第一节 规则文件的编写设计规则检查文件编写下面结合TOP223工艺的设计规则,来简介diva规则文件的基本语法。3uN阱硅栅高压BICMOS设计规则(部分) 设计规则1.an阱n阱的最小宽度10u1.b阱与阱的最小间距13u2.ap-p-最小宽度3u2.bp-之间的最小间距4u2.cp-到n阱的最小间距(outside nwell)2u2.dp-到n阱的最小间距(inside nwell)1u3.a有源区有源区的最小宽度3u3.b有源区之间的最小间距3u3.cp有源区到N阱的最小间距(outside nwell)7u3.dn有源区到N阱的最小间距(outside nwell)7u3.ep有源区到N阱的最小间距(inside nwell)2u 3.f n有源区到N阱的最小间距(inside nwell)6u5.aDPDP的最小宽度6u5.bDP到n阱的最小间距2u5.cDP到集电区的最小间距4u5.dDP到发射区的最小间距2u7.a多晶硅poly的最小宽度(作连线或电阻)3u7.bpoly之间的最小间距3u7.c在场区上露头2u7.d场区上多晶至有源区2u 7.e 有源区内多晶至有源区边界1.5u8.ap+p+最小宽度3u8.bp+之间的最小间距2u9.an+n+最小宽度3u9.bn+之间的最小间距2u10.a接触孔接触孔的最小宽度4u10.b接触孔之间的最小间距2u10.c有源区包接触孔1.5u10.d多晶硅内引线孔至有源区3.5u10.e有源区内引线孔至多晶硅2.0u 10.f多晶硅盖引线孔1.5u11.aAl铝条最小宽度4u11.b铝条之间最小间距2u11.c铝包孔1.5u12.a压点压点最小宽度100u12.b压点之间最小间距50u12.c铝包压点5u工艺层次的定义:No.Process SequenceMask Name1.NwellNT2.P- FieldLP3.Active AreaTO 5Deep P+DP 7Poly1GT 8P+ S/DP+ 9N+ S/DN+ 10ContactW1 11MetalA1 12PADCP (注意:上面版图Mask Name和实际系统中技术文件中定义的有区别,Mask Name 是可以更改,但是规则文件中的引用的Mask Name要和技术文件中定义的一致。)结合上面的规则,编写如下diva规则文件,取名为divaDRC.rul。第一节包括很多的geomOr( )语句,括号中双引号内的字都是在版图设计中用到的物理层次,geomOr( )语句的目的是把括号里的层次合并起来,也就是或的关系。利用这些原始层次的“与或非”关系可以生成设计规则检查所需要的额外层次(文件中的分号引导注释行):;TOP223的规则检查drcExtractRules(bkgnd = geomBkgnd()NT = geomOr( NT ) ;N阱,假设技术文件中以”NT”为名。TO = geomOr( TO ) ;有源区,GT = geomOr( GT ) ;多晶硅W1 = geomOr( W1 ) ;接触孔A1 = geomOr( A1 ) ;铝线下面这个语句相当于一个条件转移语句,当有drc这个命令,执行下面的规则,否则跳转到下一个命令。ivIf( switch( drc? ) then在设计规则检查中,主要的语句就是drc()了。先简单介绍一下这个语句的语法。outlayer=drc(inlayer1 inlayer2 function modifiers ) outlayer表示输出层,如果定义(给出)输出层,则通过drc检查的出错图形就可以保存在该输出层中。此时,如果没有modifiers选项,则保存的是原始的图形。如果在modifiers选项中定义了修改方式,那么就把修改后的结果保存在输出层中。如果没有定义outlayer层,出错的信息将直接显示在出错的原来层次上。 Inlayer1和inlayer2是代表要处理的版图层次。有些规则规定的是只对单一层次的要求,比如接触孔的宽度。那么可以只有inlayer1。而有些规则定义的是两个层次之间的关系,如接触孔和铝线的距离,那么要注明这两个层次。 Function中定义的是实际检查的规则,关键字有sep(不同图形之间的间距), width, enc(露头), ovlp(过覆盖), area, notch(挖槽的宽度)等。关系有, =, =, =等。结合起来就是:sep3, width4, 1enc5 等关系式。 例如 drc( GT (width 3) Poly width 3.0 )上面已经提到GT表示多晶硅,在此例中,没有outlayer的定义,也没有modifiers的定义,所以发现的错误都直接显示在GT层上。例子中,inlayer就是GT,检查的只是多晶硅层的规则,function是width3,表示宽度小于3微米。所以上面这句的执行结果就是把多晶硅层中宽度小于3的图形当做错误输出。后面引号中的信息起到说明提示作用,需要时可以查询,对查错没有实际意义。;POLY RULESdrc( GT (width 3) Poly width 3.0 ) 对应规则7.adrc( GT(sep 3) Poly to Poly spacing 3.0) 对应规则7.bdrc(GT TO (enc2) Poly Overhang out of Active into Field2.0)对应规则7.c因为规则的不同,有时要分开有源区上和场区上的多晶硅,下面两个语句产生两种不同的层次。geomAnd()把括号内层次“与”之后再赋给前面的新层次, geomAndNot()是把括号内层次“与非”之后再赋给前面的新层次。gate 层是有源区上的多晶硅,connect层是场区上的多晶硅。gate = geomAnd( GT TO )connect = geomAndNot( GT TO )drc( connect TO ( sep 2.0) Field Poly to Active spacing 2.0) 对应规则7.ddrc( gate TO (sep 1.5) Active Poly to Active spacing 1.5) 对应规则7.e; CONTACT RULES下面saveDerived 语句输出坏的接触孔图形到错误层中。下面第一个句子输出不在有源区或多晶硅层内的接触孔,第二个句子输出没有被金属覆盖的接触孔。saveDerived( geomAndNot( W1 geomOr( TO GT ) ) Contact not inside Active or Poly )saveDerived( geomAndNot( W1 A1 ) Contacts not covered by Metal )drc( W1 width 4.0 Contact width 4.0 ) 对应规则10.adrc( W1 sep 2.0 Contact to Contact spacing 2.0 ) 对应规则10.bdrc( TO W1 enc 1.5 Contact inside Active 1.5 ) 对应规则10.c同上,下面的两个语句区分多晶硅中的接触孔和有源区中的接触孔。Wactive = geomAnd( W1 TO )Wpoly = geomAnd( W1 GT )drc( Wpoly TO sep 3.5 Contact on Poly to Active Space3.5) 对应规则10.ddrc( Wactive GT sep 2.0 Contact on Active to Poly Space2.0) 对应规则10.edrc( GT W1 enc 1.5 Contact inside Poly 1.5 ) 对应规则10.fdrc( A1 W1 enc 1.5 Contact inside Metal1 1.5 ) 对应规则11.c上面已经基本上说明了diva工具中DRC文件的写法,由于篇幅的原因这里无法对全部规则都给于说明。版图提取文件介绍上面已经提到,通过DRC的版图还需要进行LVS也就是版图和线路图比较。实际上就是从版图中提取出电路的网表来,再与线路图的网表比较。那么第一步就是描述提取的规则,也就是写diva的extract文件。下面介绍TOP223版图的提取规则。;EXTRACT RULES FOR TOP223drcExtractRules(下面这个语句相当于一个条件转移语句,当有extract这个命令,执行下面的规则,否则跳转到下一个命令。ivIf( switch( extract? ) then下面这一段与前面DRC文件近似,为层次定义。值得注意的是,象p+这样的层次名在版图编辑环境中是合法的,但是在diva中却不行,要用p+来代替(在前面DRC文件中也是如此)。NT = geomOr( NT ) ;N阱TO = geomOr( TO ) ;有源区GT = geomOr( GT ) ;多晶硅P+= geomOr( P+ ) ;P+注入N+= geomOr( N+ ) ;N+注入W1 = geomOr( W1 ) ;接触孔A1 = geomOr( A1 ) ;铝线接下来这一段中,用逻辑关系生成了提取所需的新的提取层。在提取中用来器件识别和表示连接关系。pwell = geomAndNot( bkgnd NT )pdiff = geomAnd( TO P+ )ndiff = geomAnd( TO N+ )pgate = geomAnd( GT pdiff )ngate = geomAnd( GT ndiff )psd = geomAndNot( pdiff GT )nsd = geomAndNot( ndiff GT )ptap = geomAnd( pwell psd )ntap = geomAnd( NT nsd )geomConnect语句定义的是层次之间的连接关系。通过它把不同层次连接起来,构成完整的网表。geomConnect(via( W1 psd nsd GT A1 )via( ntap NT nsd )via( ptap pwell psd )extractDevice 语句定义电路中用到的元器件,这是提取文件中的关键语句。语法说明如下:extractDevice( reclayer termlayer model physical )其中reclayer是识别层,它应该是后来通过逻辑关系生成的提取层,这个层上的每一个图形都会被当作是一个元器件。Termlayer是端口层,它表示的是元器件的端口,一定要是可以连接的层次。具体的端口定义因元器件而异。Model指的是元器件的类型,与端口要对应。extractDevice( pgate (GT G)(psd S D)(NT B)pfet ivpcell )extractDevice( ngate (GT G)(nsd S D)(pwell B)nfet ivpcell )下面saveInterconnect 这个命令把连接的层次写到提取出来的网表中,那么在做LVS时,可以与线路图中的网表互相对比。saveInterconnect( nsd psd GT W1 A1 )saveRecognition 这个命令将提取产生的可以识别的图形保存下来。通常和extractDevice语句中的识别层一致。saveRecognition( ngate ngate )saveRecognition( pgate pgate )LVS文件介绍 接下来,就是LVS检查了。在diva中,由于版图提取在extract中就已经完成,在LVS文件中,相对就比较简单。只需进行网表比较,参数比较,以及把一些并联或串联的元器件归并等。所以这一部分文件不会因为工艺层次不同而有很大不同,可以根据范本做少许改动既可。所以这一部分规则的语法这里就不介绍了。第二节 DIVA的用法 编辑好的验证文件都存在.exporthomeliangTOP223下,文件名分别是divaDRC.rul、divaEXT.rul、divaLVS.rul。有了这三个文件就可以进行版图验证了。下面基本上是以一个D触发器为例子来进行说明。图2 DRC菜单窗口例子:假如在test库下新建一个叫dff的版图文件,在编辑文件的同时就可以进行DRC检查。在virtuoso版图编辑环境中。单击Verify菜单,上面提到的DIVA工具都集成在这个菜单下。先介绍设计规则检查DRC,单击第一个子菜单DRC就会弹出DRC的对话框。如下:Checking Method指的是要检查的版图的类型。Flat 表示检查版图中所有的图形,对子版图块不检查。(与电路图中类似,最上层电路由模块组成,而模块由小电路构成。有些复杂的版图也是如此)Hierarchical利用层次之间的结构关系和模式识别优化,检查电路中每个单元块内部是否正确。hier w/o optimization 利用层次之间的结构关系而不用模式识别优化,来检查电路中每个单元块。Checking Limit 可以选择检查哪一部分的版图Full 表示查整个版图Incremental 查自从上一次DRC检查以来,改变的版图。by area 是指在指定区域进行DRC检查。一般版图较大时,可以分块检查。 如果选择这种方式后,Coordinate 这个输入框就变为可输入。可以在这个框内输入坐标,用矩形的左下角和右上角的坐标来表示。格式为:12599:98991 115682:194485或者先单击Sel by Cursor,然后用鼠标在版图上选中一个矩形,这个输入框也会出现相应的坐标。如果不出现可以多选几次。Switch Names Run-Specific Command File Inclusion Limit 上面的几项并不是必需的,可以根据默认设定。Echo Commands 选上时在执行DRC的同时在CIW窗口中显示DRC文件。Rules File 指明DRC规则文件的位置,如果指明了一个规则库,(相当于文件夹,)在这里指明文件的名字。Rules Library 这里选定规则文件在哪个库里。Machine 指明在哪台机器上运行DRC命令。local 表示在本机上运行。对于我们来说,是在本机运行的,选local。remote 表示在远程机器上运行。Remote Machine Name 远程机器的名字。 在填好规则文件的库和文件名后,根据实际情况填好Checking Method 和Checking Limit就可以单击OK运行。这时可以在CIW窗口看到运行的信息,同时在版图上也会出现发亮的区域(如果有错误)。错误在版图文件中可以看到,另外也可以选择Verify-Markers-Find菜单来帮助找错。单击菜单后会弹出一个窗口,在这个窗口中单击apply就可以显示第一个错误。这个窗口较简单,大家看一下,再试几次就可以了。同样,可以选择Verify-Markers-Explain来看错误的原因提示。选中该菜单后,用鼠标在版图上出错了,并且需要了解原因的地方单击就可以了。也可以选择Verify-Markers-Delete把这些错误提示删除。Virtuoso版图编辑环境下的菜单见图3。图3 Virtuoso菜单版图提取(Extractor)说明为了进行版图提取,还要给版图文件标上端口,这是LVS的一个比较的开始点。在LSW窗口中,选中A1(pn)层,(pn)指得是引脚(pin);然后在Virtuoso环境菜单中选择Create-Pin,这时会出来一个窗口。如下:图4 创建版图端口窗口填上端口的名称(Terminal Names 和Schematic中的名字一样)、模式(Mode,一般选rectangle)、输入输出类型(I/O Type)等。至于Create Label属于可选择项,选上后,端口的名称可以在版图中显示。填好可以直接在版图中画上端口,往往有好几个端口,可以都画好在单击Hide。如下图所示,右边的版图在它的输入、输出、电源、地等处画上端口,和编辑版图其它层次一样。这些端口仅表示连接关系,并不生成加工用的掩模板,只要求与实际版图上铝线接触即可,也不没有规则可言。图5 端口对应示意图(a)图5 端口对应示意图(b)版图的完成后,就可以提取了,在版图编辑环境下选择Verify extractor 。弹出菜单如下:图6 Extractor窗口图7 提取出来的文件 填好提取文件库和文件名后,单击OK就可以了。然后打开Library Manager窗口在库test下,nand2单元中增加了一个文件类型叫extracted就是提取出来的文件,可以用打开版图文件同样的方式打开它。图7中,是提取出来的版图,可以看到提取出来的器件和端口,要看连接关系的话,可以选择Verify-probe菜

温馨提示

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

评论

0/150

提交评论