Virtuoso中版图合并与最后的验证

合集下载

使用Virtuoso设计全定制版图

使用Virtuoso设计全定制版图

使用Virtuoso设计全定制版图本文介绍利用virtuoso layout editor(以后简称le)创建全定制版图,以及vituoso le 的一些使用说明。

全文将用一个贯穿始终的例子来说明如何绘制全定制版图,一个最简单的反相器的版图.设计过程采用chartered(csm25rf)库—标准CMOS工艺库。

具体内容包括:1)如何打开virtuoso le和le 的一些设置;2)使用LSW窗口;3)使用le 创建一个版图;4)使用快捷键—bindkey;5)使用diva验证版图;6)使用diva 进行LVS;登陆以后,首先要先创建自己的工作目录,比如Work, cd Work.从csm25rf库所在文件夹下拷贝文件到自己的工作目录下,你的工作目录下必须有文件,不然在LSW窗无法显示绘制版图需要的各个图层。

从/CDS_ROOT/tools/dfII/cdsuser目录下拷贝 .cdsinit文件到自己的目录下,该文件是Cadence 自带的软件相关设置的文件,里面有相关字体的设置,Bindkey设置等,这里主要考虑Bindkey的设置,也可以设置自己的Bindkey,不过 Cadence默认的设置是足够的。

当然也可以单单靠鼠标来进行操作,virtuoso le 窗口有常用命令的工具栏,不过就我自己的感觉,用快捷键比鼠标要快很多。

如果要运行Diva LVS 还得有.simrc文件。

(不过这里有一个问题,服务器上的.simrc文件的设置跟csm25rf库有不一致的地方,运行Diva LVS 会出现目录LVS非法的错误。

运行vituoso le要打开virtuoso le ,首先要打开CIW窗口。

在shell 命令行下输入:icfb& 进入CIW 窗口,字符&使得cadence 在后台工作(即可以在shell命令行执行其它命令),也可以在shell 提示符下输入其它的命令来打开CIW窗口,如下图:(在这里也可以输入layout& 或者 layoutPlus&)检查设计需要的相关库是否存在。

Cadence-virtuoso的使用简介(版图绘制)

Cadence-virtuoso的使用简介(版图绘制)

第二章Virtuoso Editing的使用简介全文将用一个贯穿始终的例子来说明如何绘制版图这个例子绘制的是一个最简单的非门的版图§ 2 1 建立版图文件使用library manager首先建立一个新的库myLib关于建立库的步骤在前文介绍cdsSpice时已经说得很清楚了就不再赘述与前面有些不同的地方是由于我们要建立的是一个版图文件因此我们在technology file选项中必须选择compile a new tech file,或是attach to an exsiting tech file这里由于我们要新建一个tech file因此选择前者这时会弹出load tech file的对话框如图2-1-1所示图2-1-1在ASCII Technology File中填入csmc1o0.tf即可接着就可以建立名为inv的cell了为了完备起见读者可以先建立inv的schematic view和symbol view具体步骤前面已经介绍其中pmos长6u宽为0.6u nmos长为3u宽为0.6u model 仍然选择hj3p和hj3n 然后建立其layout view其步骤为在tool中选择virtuoso layout然后点击ok§ 22绘制inverter掩膜版图的一些准备工作首先在library manager中打开inv这个cell的layout view即打开了virtuoso editing窗图2-2-1 virtuoso editing窗口口如图2-2-1所示版图视窗打开后掩模版图窗口显现视窗由三部分组成Icon menu , menu banner ,status banner.Icon menu(图标菜单)缺省时位于版图图框的左边列出了一些最常用的命令的图标,要查看图标所代表的指令只需要将鼠标滑动到想要查看的图标上图标下方即会显示出相应的指令menu banner菜单栏,包含了编辑版图所需要的各项指令并按相应的类别分组几个常用的指令及相应的快捷键列举如下Zoom In -------放大 (z)Zoom out by 2------- 缩小2倍(Z)Save ------- 保存编辑(f2) Delete ------- 删除编辑(Del)Undo ------- 取消编辑(u)Redo -------恢复编辑 (U)Move ------- 移动(m)Stretch ------- 伸缩(s)Rectangle -------编辑矩形图形(r)Polygon ------- 编辑多边形图形(P)Path ------- 编辑布线路径(p) Copy -------复制编辑 (c) status banner状态显示栏位于menu banner的上方显示的是坐标当前编辑指令等状态信息在版图视窗外的左侧还有一个层选择窗口Layer and Selection Window LSWLSW视图的功能1可选择所编辑图形所在的层2可选择哪些层可供编辑3可选择哪些层可以看到由于我们所需的部分版图层次在初始LSW中并不存在因此下一步要做的是建立我们自己的工艺库所需的版图层次及其显示属性为了简单起见以下仅列出绘制我们这个版图所需的最少版图层次层次名称说明Nwell N阱Active 有源区Pselect P型注入掩膜Nselect N型注入掩膜Contact 引线孔连接金属与多晶硅/有源区Metal1 第一层金属用于水平布线如电源和地Via 通孔连接metal1和metal2Metal2 第二层金属用于垂直布线如信号源的I/O口Text 标签Poly 多晶硅做mos的栅下图是修改后的LSW图2-2-2 LSW如何来修改LSW中的层次呢以下就是步骤1切换至CIW窗口在technology file的下拉菜单中选择最后一项edit layers出现如图窗口图2-2-3 edit layers2在technology library中选择库mylib先使用delete 功能去除不需要的层次然后点击add添加必需的层次add打开如下图的窗口图2-2-4其中layer name中填入所需添加的层的名称Abbv是层次名称缩写Number是系统给层次的内部编号系统保留128256的数字作为其默认层次的编号而将1127留给开发者创造新层次Purpose是所添加层次的功用如果是绘图层次一般选择drawing Priority是层次在LSW中的排序位置其余的选项一般保持默认值在右边是图层的显示属性可以直接套用其中某些层次的显示属性也可以点击edit resources自己编辑显示属性如图2-2-5所示这个窗口还可以在LSW中调出编辑方法很简单读者可以自己推敲就不再赘述上述工作完毕后就得到我们所需的层次接着我们就可以开始绘制版图了§ 2 3 绘制版图一画pmos的版图新建一个名为pmos的cell1画出有源区在LSW中点击active dg注意这时LSW顶部显示active字样说明active层为当前所选层次然后点击icon menu中的rectangle icon在vituoso editing窗口中画一个宽为 3.6u长为6u的矩形这里我们为了定标必须得用到标尺点击misc/ruler即可得到清除标尺点击misc/clear ruler如果你在绘制时出错点击需要去除的部分然后点击delete icon2画栅在LSW中点击poly dg画矩形与有源区的位置关系如下图0.6u6u(gate width)1.5u3.6u图2-2-5 display resource editor3画整个pmos为了表明我们画的是pmos管我们必须在刚才图形的基础上添加一个pselect层这一层将覆盖整个有源区0.6u接着我们还要在整个管子外围画上nwell它覆盖有源区1.8u 如下图所示pselect1.8unwell4衬底连接pmos的衬底nwell必须连接到vdd首先画一个1.2u乘1.2u的active矩形然后在这个矩形的边上包围一层nselect层覆盖active06u最后将nwell的矩形拉长完成后如下图所示nselectactivepselect这样一个pmos的版图就大致完成了接着我们要给这个管子布线二布线pmos管必须连接到输入信号源和电源上因此我们必须在原图基础上布金属线1首先我们要完成有源区源区和漏区的连接在源区和漏区上用contact dg层分别画三个矩形尺寸为0.6乘0.6注意contact间距为1.5u2用metal1dg层画两个矩形他们分别覆盖源区和漏区上的contact覆盖长度为0.3u3为完成衬底连接我们必须在衬底的有源区中间添加一个contact这个contact每边都被active覆盖0.3u4画用于电源的金属连线宽度为3u将其放置在pmos版图的最上方布线完毕后的版图如下图所示图2-3-1 pmos版图通过以上步骤我们完成了pmos的版图绘制接下来我们将绘制出nmos的版图三画nmos的版图绘制nmos管的步骤同pmos管基本相同新建一个名为nmos的cell无非是某些参数变化一下下面给出nmos管的图形及一些参数具体绘制步骤就不再赘述图2-3-2nmos四完成整个非门的绘制及绘制输入输出1新建一个cell inv将上面完成的两个版图拷贝到其中并以多晶硅为基准将两图对齐然后我们可以将任意一个版图的多晶硅延长和另外一个的多晶硅相交2输入为了与外部电路连接我们需要用到metal2但poly和metal2不能直接相连因此我们必须得借助metal1完成连接具体步骤是a在两mos管之间画一个0.6乘0.6的contactb在这个contact上覆盖poly过覆盖0.3uc在这个contact的左边画一个0.6乘0.6的via然后在其上覆盖metal2dg过覆盖0.3ud用metal1连接via和contact过覆盖为0.3u从下图中可以看得更清楚metal13输出连起来任意延长一个的metal1与另一个相交然后在其上放置一个via接着在via上放置metal2五作标签1在LSW中选择层次text d3点击create/label在弹出窗口中的label name中填入vdd并将它放置在版图中相应的位置上2按同样的方法创制gnd A和Out的标签完成后整个的版图如下图2-3-4 非门的版图至此我们已经完成了整个非门的版图的绘制下一步将进行DRC检查以检查版图在绘制时是否有同设计规则不符的地方第三章 Diva验证工具使用说明 版图绘制要根据一定的设计规则来进行也就是说一定要通过DRC Design RuleChecker检查编辑好的版图通过了设计规则的检查后有可能还有错误这些错误不是由于违反了设计规则而是可能与实际线路图不一致造成版图中少连了一根铝线这样的小毛病对整个芯片来说都是致命的所以编辑好的版图还要通过LVS Layout VersusSchematic验证同时编辑好的版图通过寄生参数提取程序来提取出电路的寄生参数电路仿真程序可以调用这个数据来进行后模拟下面的框图可以更好的理解这个流程图 3-0-1 IC后端工作流程验证工具有很多我们采用的是Cadence环境下集成的验证工具集DIV A下面先对DIV A作一个简单介绍DIV A是Cadence软件中的验证工具集用它可以找出并纠正设计中的错误它除了可以处理物理版图和准备好的电气数据从而进行版图和线路图的对查LVS外还可以在设计的初期就进行版图检查尽早发现错误并互动地把错误显示出来有利于及时发现错误所在易于纠正DIV A工具集包括以下部分1设计规则检查iDRC2版图寄生参数提取iLPE3寄生电阻提取iPRECadence cdsSPICE 使用说明资料收藏 PCB 收藏天地4 5电气规则检查 iERC 版图与线路图比较程序 iLVS 需要提到的是 Diva 中各个组件之间是互相联系的 有时候一个组件的执行要依赖另 一个组件先执行 例如 要执行 LVS 就先要执行 DRC 在 Cadence 系统中 Diva 集成在版 图编辑程序 Virtuoso 和线路图编辑程序 Composer 中 在这两各环境中都可以激活 Diva 要 运行 Diva 前 还要准备好规则验证的文件 可以把这个文件放在任何目录下 这些规则文 件的写法下面专门会进行说明 也会给出例子 这些文件有各自的默认名称 如 做 DRC 时的文件应以 divaDRC.rul 命名 版图提取文件以 divaEXT.rul 命名 做 LVS 时规则文件应 以 divaLVS.rul 命名§31DRC 规则文件的编写我们制定了以下规则 n 阱的最小宽度 阱与阱之间的最小间距 ndiff 到 nwell 的最小间距 pdiff 到 nwell 的最小间距 p mos 器件必须在 nwell 内 有源区的最小宽度 有源区之间的最小间距 多晶硅的最小宽度 多晶硅间的最小宽度 多晶硅与有源区的最小间距 多晶硅栅在场区上的最小露头 源 漏与栅的最小间距 引线孔的最小宽度 引线孔间的最小间距 多晶硅覆盖引线孔的最小间距 metal1 覆盖引线孔的最小间距 金属 1 的最小宽度 金属 1 间的最小间距 金属 2 的最小宽度 金属 2 间的最小间距 金属 2 的最小挖槽深度 通孔的最小宽度 通孔间的最小间距 通孔与引线孔间的最小间距 metal1 覆盖通孔的最小间距 4.8u 1.8u 0.6u 1.8u仍旧以前面的非门为例 1.a n 阱(well) 1.b 1.c 1.d 1.e 2.a 2.b 3.a 3.b 3.c 3.d 3.e 4.a 4.b 4.c 4.d 5.a 5.b 6.a 6.b 6.c 7.a 7.b 7.c 7.d 有源区 active1.2u 1.2u 0.6u 0.6u 0.6u 0.6u 0.6u 0.6u 0.9u 0.3u 0.3u 1.2u 0.9u 1.2u 1.2u 1.2u 0.6u 0.9u 0.6u 0.3u第 11 页 共 11 页多晶硅poly引线孔 contact金属 1metal1金属 2metal2通孔 viaCadence cdsSPICE 使用说明资料收藏 PCB 收藏天地7.e metal2 覆盖通孔的最小间距 0.3u 7.f 通孔与多晶硅的最小间距 0.3u 结合上述规则 我们就可以编写出相应的 DRC 规则检查文件 见附录 1 取名为 divaDRC.rul 这个文件的第一部分是层次处理 用于生成规则文件中所要应用到的层 次 可以是原始层或是衍生层 例如 nwell=geomOr("nwell") 在文件中引用到的所 有原始物理层次都要用双引号括起来 这一句的目的是在后面应用到 nwell 这个原始物 理层次时 不需要再用引号括起来 前面几句都是这个意思 后面四句则生成版图验证 中必须的一些层次 有一点需要注意的是 在 geomOr 的关键字和 ( 之间不能出现 空格 nwell=geomOr (“nwell”)的写法系统在编译时会报错 下面这个语句相当于一个条件转移语句 当有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 挖槽的宽度 等 关系有>, <, >=, <=, ==等 结合起来就是 sep<3, width<4, 1<enc<5 这些关系式 例如 drc(nwell width < 4.8 "Minimum nwell width =4.8") 在此例中 没有outlayer 的定义 也没有modifiers的定义 所以发现的错误都直接显示在nwell层上 例子中 inlayer 就是nwell 检查的只是n阱层的规则 function是width<4.8 表示n阱宽度小于4.8微米 所以上面这句的执行结果就是把n阱层中宽度小于4.8u的图形当做错误输出 后面引号中的 信息起到说明提示作用 需要时可以查询 对查错没有实际意义 同样需要注意的是 在drc 和 之间同样不能有空格 否则系统会提示没有drc语句 从上面讨论不难看出 DIVA 规则文件的编写对格式有一定要求 在规则文件中我们还可以看到saveDerived语句 如 saveDerived(geomAndNot(pgate nwell) "p mos device must in nwell") 这一句将输出不在nwell内部的pgate pmos 这种写法在规则文件的编写中经常碰到 要熟练掌握 另外 在DRC文件中 引号引出的行是注释行 以上就是对DRC文件编写的一些简单介绍 对于其中使用的关键字 作者有专门的说明 文章 同时在本文后面作者还会给出一个完整的DRC校检文件并给出详细说明 读者可以参 照它 以加深对文件编写的理解§32 版图提取文件的介绍上面已经提到 通过DRC验证的版图还需要进行LVS也就是版图和线路图对查比较 实际 上就是从版图中提取出电路的网表来 再与线路图的网表比较 那么如何提取版图网表呢 这里我们就要使用到DIVA的extract文件 下面是它的简单介绍 首先 同DRC一样 extract文件的最开始同样是这样一条语句第 12 页 共 12 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地ivIf switch extract then 它相当于一个条件转移语句 当有extract这个命令时 执行下面的规则 否则跳转到另外 的循环 接着 extract文件中要进行的是层次定义 它一般分为三个步骤 1 识别层定义 recognition layer 2 终端层定义 terminal layer 3 伪接触层定义 psuedo_contact layer 然后是定义层次间的连接关系 使用geomConnect语句将版图间的不同层次连接起来 一个 extract文件只能有一个geomConnect语句 构成完整的网表 例如句子 geomConnect via contact psd nsd poly metal1 via via metal1 metal2 其中 via语句的作用是使用连接层连接任意数目的层次 但要注意的是 一个via语句中只 能出现一个连接层 但在geomConnect语句中via语句可以出现的次数不限 以上语句表示 在有contact的地方 psd nsd poly metal1 是相互连接的 在有via 的地方metal1和metal2 相连 注意后一个via和前一个的意义不同 上述工作完成之后 我们接着要进行的工作是器件的提取 device extraction 使 用extractDevice语句 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" ) 分别提取出pmos管和nmos管 接着很重要的一步是器件尺寸测量 使用measureParameter语句 例如 w1 measureParameter length ngate butting nsd .5 这一句测量的是nmos的沟道宽度 注意后面的.5必须加上 否则测出的将是两倍的沟道宽度 下面使用saveInterconnect 这个命令把连接的层次写到提取出来的网表中 以便在做 LVS时 可以与线路图中的网表互相对比 saveInterconnect( nsd psd poly contact metal1 ) saveRecognition 这个命令将提取产生的可以识别的图形保存下来 通常和 extractDevice语句中的识别层一致 saveRecognition( ngate "ngate" ) saveRecognition( pgate "pgate" ) 以上就是对extract文件的一个简要介绍 读者可以参看附录中完整的例子 以加深对它的 理解§3接下来 就是LVS检查了3LVS文件的介绍LVS文件在diva中 由于版图提取在extract中就已经完成第 13 页 共 13 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地中的逻辑结构相对就比较简单 只需进行网表比较 参数比较 以及把一些 并联或串联 的元器件归并等即可 所以这一部分文件不会因为工艺层次不同而有很大不同 可以根据范 本做少许改动 以下只介绍一下LVS的基本结构 lvsRules procedure(mosCombine(value1,value2) ……. ) Procedure(mosCompare(lay,sch) ……. ) permuteDevice(parallel “pmos” mosCombine) compareDeviceProperty(“pmos” mosCompare) ) 至于例子 读者可以参考附录§3一 DRC 的说明4Diva 的用法编 辑 好 的 验 证 文 件 都 存 在 ..\export\home\wmy\myLib\ 下 文件名分别是 divaDRC.rul divaEXT.rul divaLVS.rul 有了这三个文件就可以进行版图验证了 下面 将以一个非门为例子来进行说明 在编辑版图文件的同时就可以进行DRC检查 在virtuoso版图编辑环境中 单击Verify 菜单 上面提到的DIVA工具都集成在这个菜单下 先介绍设计规则检查DRC 单击第一个子 菜单DRC就会弹出DRC的对话框 如下图 3-4-1 DRC 菜单窗口第 14 页 共 14 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地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 在DRC文件中 我们设置的switch在这里都会出现 这个选项可以方便我们对版图文件进行 分类检查 这在大规模的电路检查中非常重要 Run-Specific Command FileInclusion Limit上面的两项并不是必需的 可以根据默认设定 Echo Commands 选上时在执行DRC的同时在CIW窗口中显示DRC文件 Rules File 指明DRC规则文件的名称 默认为divaDRC.rul 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-4-2第 15 页 共 15 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地图 3 –4-2Virtuoso 菜单二版图提取Extractor说明为了进行版图提取 还要给版图文件标上端口 这是LVS的一个比较的开始点 在LSW 窗口中 选中 metal1 pn 层 然后在 Virtuoso 环境菜单中选择 pn 指得是引脚 pin Create-Pin 这时会出来一个窗口 如下图 3-2-3 创建版图端口窗口 填上端口的名称 Terminal Names 和Schematic中的名字一样 模式 Mode 一般选 rectangle 输入输出类型 I/O Type 等 至于Create Label属于可选择项 选上后 端口 的名称可以在版图中显示 填好可以直接在版图中画上端口 往往有好几个端口 可以都画好在单击Hide 这 些端口仅表示连接关系 并不生成加工用的掩模板 只要求与实际版图上铝线接触即可 也没有规则可言第 16 页 共 16 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地版图的完成后 就可以提取了 在版图编辑环境下选择Verify –extractor 下弹出菜单如图 3-2-4Extractor 窗口图 3-2-5 提取出的文件 填好提取文件库和文件名后 单击OK就可以了 然后打开Library Manager 在库myLib下 nmos单元中增加了一个文件类型叫extracted的文件 可以用打开版图文件同样的方式打开 它 图3-2-5就是提取出来的版图 可以看到提取出来的器件和端口 要看连接关系的话 可以选择Verify-probe菜单 在弹出窗口中选择查看连接关系 版图的准备工作基本上就完成了 接下来是线路图的准备工作 线路图的准备工作相第 17 页 共 17 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地对较简单 有几个要注意的地方 首先 在库的选用上 要用Sample库中的元件 其次 线 路图的端口名称要与版图中的端口名称一致 最后 在线路编辑完成后要进行检查 可以直 接单击左边第一个快捷键 也可以选择菜单Check--Current Cellview 在版图和线路图的准备工作完成后就可以进行LVS了图3-2-6 LVS 参照图3-2-6的弹出菜单 填好规则文件的库和文件名 要进行LVS的两个网表 其实 在LVS中比较的是两个网表 一个是schematic中 另一个是extracted 所以两个schematic文 件也可以比较 只是一般没这个必要 设置完以后单击RUN 片刻后就回弹出一个窗口表 示LVS完成或者失败 失败时可以在上面的菜单中单击Info看运行的信息再进行处理 LVS 完成后 可以在上面的弹出菜单中单击Output 这时会弹出LVS的结果 当然 LVS完成并不是说LVS通过了 可能会有很多地方不匹配 这时要查看错误可以 在LVS窗口中单击Error Display 即可在Extracted和Schematic 中查看错误第 18 页 共 18 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地第四章 Cadence 中 Verilog 的一些使用方法§41Verilog 的文本编辑器随着电路规模的增大和复杂 传统的图形输入模式已不可行 语言描述电路 成为潮流 它的方便性和好的更改性 维护性在实践中得到很好的体现 尤其现 在强大的综合工具 和系统集成对核的需求性使 Verilog 更有用武之地 每个硬 件工程师应该学习掌握它 在进入 Cadence 后在命令行中键入 textedit *.v↙ (此处*为文件名 在 textedit 命令后应带上文件名) 键入上述命令后进入文本编辑框 和 Windows 中常用的文本编辑框很象图 4-1-1textedit 文本编辑框界面 图中的主菜单 File View Edit Find 及各自底下的子菜单和 Windws 中的 文本编辑器差不多 使用方法相似 这里就不多说了 编好程序保存可以进 行后续工作了§4一2Verilog 的模拟仿真命令的选择 在命令行中键入 verilog↙ 会出现关于此命令的一些介绍 如下 -f <filename> read host command arguments from file. -v <filename> specify library file -y <filename> specify library directory -c compile only -s enter interactive mode immediately第 19 页 共 19 页Cadence cdsSPICE 使用说明资料收藏 PCB 收藏天地-k <filename> set key file name -u convert identifiers to upper case -t set full trace -q quiet -d decompile data structure Special behavioral performance options (if licensed): +turbo speed up behavioral simulation. +turbo+2 +turbo with second level optimizations. +turbo+3 +turbo+2 with third level optimizations. +listcounts generate code for maintaining information for $listcounts +no_turbo don't use a VXL-TURBO license. +noxl disable XL acceleration of gates in all modules Special environment invocation options (if licensed): +gui invoke the verilog graphical environment 在上面的参数选择中 简单介绍几个常用的: (1)-c 首先应该保证所编程序的语法正确性 先进行语法的检查 选择参数- c 键入 如下命令 verilog –c *.v↙ 根据 Cadence 的报告 查找错误信息的性质和位置 然后进入文本编辑器进 行修改 再编译 这是个反复的过程 直到没有语法错误为止 (2)-s 进入交互式的环境 人机交互运行和下面的参数联合使用 (3)+gui & verilog 仿真有命令和图形界面两种方式 图形界面友好和 windows 使用很 象 很好掌握 一般都使用图形方式 &”符号是后台操作的意思 不影响 前台工作 如此时你可以在命令行输入其它的命令 其它的命令参数选择比较复杂 这里就不介绍了 故我们这里常用的命令是 verilog –s *.v +gui &↙ (*代表文件名) 进入图形交互界面 $附 命令行输入 !!↙ 是执行上一条命令 命令行输入 !* ↙ (*代表字母) 是执行最近的以*开头的命令 上述附注对命令输入速度提高有所帮助 二 SimVision 图形环境 SimVision 是 Verilog-XL 的图形环境 主要有 SimControl Navigator Signal Flow Browswer Wactch Objects Window SimWave 等窗口第 20 页 共 20 页。

版图绘制时如何进行LVS验证

版图绘制时如何进行LVS验证

第四章验证多路复用器版图——Verifying the Multiplexer LayoutThis chapter introduces you to interactive verification. You will perform two different tests in the Virtuoso® layout editor while using Diva interactive verification. One test uses the Design Rule Checker (DRC) to compare your design against the design rule, and the other test uses Layout Versus Schematic (LVS) software to check your design’s connectivity. You will be 本章向您介绍交互式验证。

在使用Diva交互式验证时,您将在Virtuoso®版图编辑器中执行两个不同的测试。

一个测试使用设计规则检查器(DRC)将您的设计与设计规则进行比较,另一个测试使用Layout Versus Schematic(LVS)软件来检查您的设计的连通性。

你将会Creating a Test Case for Checking Errors 创建用于检查错误的测试用例⏹Performing a Design Rule Check 执行设计规则检查⏹Extracting Connectivity from the Layout 从版图中提取连接性⏹Comparing the Layout to the Schematic 将版图与原理图进行比较⏹Analyzing LVS Errors 分析LVS错误⏹Correcting the Error 更正错误⏹Rerunning Verification on page 重新验证When you finish this chapter, you will be able to 完成本章后,您将能够⏹Run a design rule check and view errors 运行设计规则检查并查看错误⏹View and correct DRC errors 查看并更正DRC错误⏹Run extraction on a layout 在版图上运行提取⏹View a schematic 查看原理图⏹Cross-probe between a layout and a schematic 版图和原理图间的交叉探测⏹Rerun verification after correcting an error 纠正错误后重新运行验证找出是否可以运行交互式验证——Finding Out if You Can Run Interactive Verification You might not have a license to run the interactive verification products.您可能没有运行交互式验证产品的许可。

实验三 Virtuoso版图编辑器的基本使用

实验三 Virtuoso版图编辑器的基本使用

实验三Virtuoso版图编辑器的基本使用目录1.实验目的2.使用Virtuoso版图编辑器绘制反相器版图3.设计规则检查(D esign R ule C heck)4.版图网表和参数提取(L ayout and P arameter E xtraction)5.版图与原理图网表对比检查(L ayout v s. S chematic Check)1.实验目的本实验主要目的是通过绘制反相器版图的详细过程初步介绍Virtuoso版图编辑器的使用,同时也介绍了设计规则检查(DRC)、版图提取(LPE)、以及版图原理图网表对比检查(LVS)的基本操作步骤。

2.使用Virtuoso版图编辑器绘制反相器版图通过用版图编辑器创建反相器版图的例子来熟悉版图编辑器的使用。

在Library Manager窗口中选中IClab1库,然后点击File-->New-->Cell View,输入Cell Name为inverter,Tool选Virtuoso,View Name会自动变成layout,见图1。

图1. 用Virtuoso创建layout对话框在此需要特别注意的是,我们创建的版图是为实验一反相器原理图而创建的,因此自定义元件库名称必须与原理图所在库名称一致,特别是Cell Name也必须与原理图的Cell Name一致,即为inverter,有些同学在做此实验时在新创建的元件库中做,而且取了一个与原理图不同名的版图名称,这就给后面的版图提取和后端仿真带来了很大麻烦,所以请严格遵守上述命名规则。

点击OK会打开Virtuoso版图编辑器,同时启动的还有Layer Select Window,即LSW。

因绘制版图时一定先要与某一工艺库关联,而LSW将与关联的工艺库联动,所以不同的工艺库会有不同的LSW窗口出现。

本实验中的IClab1自定义库是与NCSU_TechLib_ami06工艺库关联的,所以该工艺库的名称会显示在LSW窗口的上面。

Cadence IC版图工具Virtuso的使用简介

Cadence IC版图工具Virtuso的使用简介
目录下,随着 icfb的启动,各层颜色就会被载入。 如果在打开layout后各层没有被调入,详见后面(如 何调入版图的层)。
建立一个库(续)
3.在CIW窗口中点击file/ new/ library….. 给库任意取名字(如:lib_1),在右侧选 compile a new techfile. (如图) 点击OK,填入工艺文件的路径和名称。
DRC检查(续)
DRC检查(续)
• 在CIW窗口中查找错误
• 回到layout中改正错误,并重新做DRC。反复修改,直到所 有错误都被修改。
LVS检查
• DRC保证了版图能够在流片中没有违规 • LVS则保证了流片出来逻辑功能的正确性。 • LVS=layout versus schematic • 步骤:
建立一个库(续)
4.在CIW窗口中点击tools/ library manager 我们就看到了新建的库lib_1 在下拉菜单中选择new/ cell view,取一个cell name:INV。 在该窗口中点击tool选择Virtuoso。 OK!这样就建立了一个画版图的平台。
如何调入版图的层
• N-Well
N-Well的规则(续)
Island and Poly
Island and Poly(续)
Poly
PLUS
PLUS(续)
Contact and Metal-1
Contact
Metal-1
Via-1
Metal-2 and Via
Metal-3
Cadence 版图工具Virtuoso简介
作者:卢俊 2006-7-5
内容安排
• 本次上机实验的任务 • 使用Virtuoso设计版图的步骤简介 • 电子58所0.5um工艺设计规则介绍

Virtuoso软件的使用技巧

Virtuoso软件的使用技巧

打开icfb
使icfb和终端可以同时使用
Tools →Library Manager
新建库: File→New →Library

File→New →Cell View
Tool:Composer-Schematic
主要内容
• 1、Virtuoso简介 • 2、如何正确进入Virtuoso • 3、电路图的绘制 • 4、电路图的仿真与分析 • 5、版图的绘制 • 6、版图的验证DRC/LVS • 7、版图后仿真

128

129 # add layout topcell name to replace xxx

130 setenv LAYOUT_PRIMARY "OP_CL_3p"

131 #setenv LAYOUT_PRIMARY "mpw_08"

132 #setenv LAYOUT_PRIMARY "HDPWM_top_with_buffer"
warning messages
LVS-1
LVS-1
Run LVS
LVS-2

111 # add full/relative path to replace xxx

112 setenv SOURCE_PATH "/home/zhaozhe/lvs_as/op_schematic"

113 #setenv SOURCE_PATH "mpw_08"
常用的快捷键
• r:绘制长方形 • c:copy • F4:part/full • s:stretch • o:添加contact或via • i:调用模块 • q:修改属性 • k:尺 • shift+k:取消所有尺 • l:加label

Virtuoso软件的使用技巧

Virtuoso软件的使用技巧
1virtuoso软件的使用技巧1virtuoso简介2如何正确进入virtuoso3电路图的绘制4电路图的仿真与分析5版图的绘制6版图的验证drclvs7版图后仿真主要内容cadence公司的virtuoso是一个适用于高级模拟混合信号射频和定制数字设计的定制设计平台并可以提供深亚微米45nm的数字元件特性验证
Calibre →Run DRC
Rules →Run Schematic) Input the netlist
由版图生 成.gds文件 there is no errors and warning messages
LVS-1
LVS-1
Run LVS
常用的快捷键
• • • • • • • • • • r:绘制长方形 c:copy F4:part/full s:stretch o:添加contact或via i:调用模块 q:修改属性 k:尺 shift+k:取消所有尺 l:加label • • • • • • • • • x/shift+x:进入底层模块 shift+b:返回顶层模块 shift+z :缩小一半 ctrl+z:增大两倍 p:path shift+c:chop F3:改变操作属性 shift+f:显示具体层 ctrl+f:显示模块
主要内容
• • • • • • • 1、Virtuoso简介 2、如何正确进入Virtuoso 3、电路图的绘制 4、电路图的仿真与分析 5、版图的绘制 6、版图的验证DRC/LVS 7、版图后仿真
• Exceed Broadcast →选择用户
设置环境变量:setenv DISPLAY IP:0
必须确保绘制版图需要的工艺文件与 版图所在的库是在同一个目录下的

Virtuoso Layout Editor 快捷键归纳

Virtuoso Layout Editor 快捷键归纳

Virtuoso Layout Editor 快捷键归纳鼠标快捷键操作1、单击左键选中一个图形。

2、用左键框选,选中一片图形,某个图形要被完全包围才会被选中。

3、单击中键调出常用菜单命令。

4、右键点击拖放用来放大。

放大后经常配合F 键使用,恢复到全部显示。

配合Tab键或者方向键,平移视图。

5、Shift+左键加选图形,Ctrl+左键减选图形。

(Cadence 菜单中大写按Shift+A字母,或者直接按大小写切换键Caps lock)。

6、右键常用命令(Right mouse):a. 没有命令时重复上次命令;b. move 和Create instance 时逆时针旋转,Shift +Right mouse轮流关于x/y轴对称;c. 画path时,L90Xfirst和L90Yfirst之间切换,Ctrl+Right mouse Path自动换层(Path stitching)切换,只有techfile中有关contact的定义了之后才能使用Path stitching 的功能,Shift +Right mouse换层时通孔旋转;d. Reshape和split 时,右键切换不同的高亮区域,以便下一步的操作;键盘快捷键操作F1显示帮助窗口,没反应。

F2 保存。

F3控制在选取相应工具后是否显示相应属性对话框的。

F4 英文是Toggle Partial Select,就是用来控制是否可以部分选择一个图形。

F5打开。

F6没反应。

F7没反应。

F8 Guided Path Create 切换至L90XYFirst。

F9是Filter Size。

Ctrl+A全选。

B键(Return To Level)返回上一级,类似Shift+B。

Shift+B(Return)返回到上一级视图。

C键(copy)复制。

Ctrl+C中断某个命令,不常用。

一般多按几次Esc 键取消某个命令。

Shift+C (Chop)切割,首先调用命令,选中要裁切的图形,后画矩形裁切。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
dracula
drc
lvs
data
rule
图 23 Dracula 目录下有 4 个目录,分别为 drc,lvs,data 和 rule(如果还做 lpe,则有 lpe
目录)。drc,lvs 为分别做 drc,lvs 的运行目录,运行时候会产生很多文件;data 下放版 图文件,网表文件;rule 放 drc,lvs,lpe 的规则文件。做 drc 具体操作如下:
首先把 RISC32.gds 拷贝到 dracula 的 data 目录下; 在 rule 目录里面修改 drc 文件的 PRIMARY 和 INDISK 为所做的单元; 在 drc 目录下, 运行 pdracula /get ../rule/drc.rul ; 获取 drc 规则文件 /f ; 结束 产生 jxrun.com 命令,
图 8 务必选中 Case Sensitivity 为 preserve 和 Retain Reference Library(No Merge)两个 选项,前者是保持大小写不变,不会自动转为大写;后者就是在当前 Library Path 范围内 有 Reference Library 的话,就进行版图的 Merge(同名称的单元的版图导入 RISC32.gds2 中)。回到图 7,点 User-defined Data 选项,如图 9
图 19 注意选中 Case Sensitivity 为 preserve 和去除选中 Retain Reference Library(No Merge) 的选项,这和 Stream in 的时候不太一样,Stream in 的时候是让参考库的版图合并进主设 计库的单元,现在是导出时不再包含参考库,即导出自己独立已经安装完版图的的完整版图。 全都做完了,按图 17 中的 OK,开始导出 gds,一会儿成功,如图 20:
图 2 新建库,File → New → Library… 如图 3 :
图 3 对话框如 4:
图 4
图 9 在 Layer Map Table 栏 填 写 用 于 Virtuoso 的 layermapping file , 这 里 是
gds2nec_m5.map。全部填完后,按图 7 中的 OK, 开始导入流。一会而 gds2 导入成功,如 图 10:
还在 drc 目录下运行 jxrun.com ,则开始做 drc 检查,检查完毕,看 drc 的结果总结 文件 drcpr.sum,也可以在线看图形化的,在 Virtuoso Layout 窗口中, Tools → Dracula Interactive 菜单栏多出了 DRC,LVS 菜单栏,见图 24:
RESOLUTION = 0.001 MICRON LISTERROR = YES KEEPDATA = INQUERY ;PARALLEL-FILE = DRAC-NODE.TAB … … … … … … … … … … . 图 22 可见 INDISK 指定放版图 gds 的位置 ,PRIMARY 指定做的单元的顶层模块名,这里时 RISC32 , PRINTFILE 意思是 drc 运行会产生很多结果文件的前缀。附加:dracula 验证 drc, lvs 的时候它的目录结够设置如图 23:
ห้องสมุดไป่ตู้
图 20
最好看一下 PIPO.log 确认一下 Error 或者 warning 的所在。版图导出完毕后,开始做 LVS
与 DRC 验证,两个可以同时做。
3.DRC 验证
DRC 是 Design Rule Check 的缩写,即对版图进行设计规则(Design Rule)的检查, 每个流片厂对其特定工艺的流程都有其设计规则,只有满足其设计规则才能去流片。做 DRC 的流程如下图 21:
修改drc文件中的 PRIMARY和INDISK
pdracula,获取drc文 件,产生jxrun.com
DRC检查
运行jxrun.com 看drcpr.sum结果
Dracula Interactive 在线看
修改重做直至无错误
图 21 一般厂家都会给一个 drc 规则文件用于 drc 验证检查,我们每做一个单元版图的 drc 检查时都要对其中的一些栏目进行修改,一个 drc 文件的前面如图 22:
图 26 Virtuoso 就会把 DRC 的错误位置在版图上标出来,便于修改。修改后再做 DRC,直至最后修 改的要 DRC 错误要为 0。
4.LVS 验证
LVS 比 DRC 检查要复杂一些,除了要修改 lvs 文件中的 PRIMARY 和 INDISK 以外,还要 用 LOGLVS 对网表方面进行处理。具体流程如图 27:
图 24 点击 DRC 中的 Set up 菜单,可以在线在版图中把 DRC 错误标出来,如图 25:
图 25 在 DRC Setup 对话框中填入 drc 目录的路径,如图 26:
Virtuoso 中的版图合并与最后的验证
作者:复旦大学 ASIC & System 国家重点实验室 曾 宏 日期:2003-11-9
目录
1. 总述
2. 版图合并(Merge)
2.1 建库
2.2 导入版图信息
2.3 版图 Merge
************************************************************************* *DESCRIPTION ;MAG-BEF-GRID=YES INDISK = ../data/RISC32.gds PRIMARY = RISC32 OUTDISK = OUT.GDS PRINTFILE = drcpr MODE = EXEC NOW SYSTEM = GDS2 SCALE = 0.001 MICRON PROGRAM-DIR = /net/export/home/cad/Cadence/IC50/dracula/bin/ ; indicate where jxrun.com is (optional)
图 6 对话框如图 7:
图 7 Input File 填 RISC32.gds2, 库名称填刚才创建的 RISC32。点 Options 子菜单,如 图 8:
2.版图合并(Layout Merge)
2.1 新建库
把正确的技术文件,layermapping file ,display.drf 放在该目录下,运行 icfb,




图 1 这个目录下面的库应该包括要合并安装的 STD 库,IO 库,Macro 库(版图库),如图 2:
图 10 最好在 pipo.log 里面看一下有几个 error 和 warning ,warning 是否重要。
2.3 版图 Merge
再看 Library Manager ,可见 RISC32 已经成功导入,如图 11:
Name 中填新建的库名称,右边选 Compile a new techfile ,指重新用新的技术文件创建库。
按 Apply,填入技术文件名称,如图 5:
图 5
按 OK, 库创建完毕。
2.2 导入版图信息
现在 stream in Apollo 导出的 RISC32.gds2 , 同时进行版图 Merge。菜单 File → Import → Stream… , 如图 6 :
图 11 因为上面选了 Retain Reference Library 的选项,因此实际上版图已经合并完毕,打开 layout ,如图 12:
图 12 可见版图已经合并完毕,放大看,可看见标准单元的版图,如图 13:
图 15
2.4 导出版图
版图处理完毕,现在要导出版图做 LVS 和 DRC 验证,菜单 File → Export → Stream… 如图 16:
图 16 对话框如图 17:
图 17
按 Library Browser 可选择导出的单元的名字,Output File 写导出的版图的名字,这里是 RISC32.gds ,按 User-Defined Data 子菜单,如图 18:
图 18 同样 Layer Map Table 栏要填 Virtuoso 的导出 layermapping File ,这里和导入的一样, 还是 gds2nec_m5.map。再按图 17 中 Options 子菜单,图 19:
图 13
再看 Pad 的版图,上面有 Apollo 里加的 TEXT,用以标识,供 LVS 用,如图 14:
图 14 这里根据 LVS 的要求给电源 Pad(包括 External 和 Internal 的)加 TEXT,给 Internal 电 源 Pad 加 VDD:和 VSS:( :表示是全局变量,这样因为在一个网络上,只要给一对电源 Pad 上加这一对标识就可以了),给 External 电源 Pad 加 VDDH:P 和 VSSH:G 的标识,还是用 M5TEXT 层。如图 15:
2.4 导出 gds
3 DRC 验证
4 LVS 验证
1.总述
Apollo 导出的 RISC32.gds2 还不是最后的版图,因为它导出的都是空盒子(FRAM View),还要到 icfb 的 Virtuoso Layout 工具里面进行版图的合并(Merge), 合并的方法 就是把标准单元,PAD 单元,Memory 单元的版图库与新建设计库放在一个目录里,主设计库 在导入 gds2 的时候自动替换里面对应与三个库的同名元器件的版图,完成版图的安装。版 图完成后,要进行 DRC 与 LVS 的验证,确保无误后,方可交付给流片厂。
相关文档
最新文档