好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

专用集成电路设计实践西电版第5章 图设计.ppt

243页
  • 卖家[上传人]:人***
  • 文档编号:567531193
  • 上传时间:2024-07-21
  • 文档格式:PPT
  • 文档大小:10.62MB
  • / 243 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第5章 版图设计 第5章 版图设计 5.1 版图设计软件使用简介 版图设计软件使用简介 5.2 版图设计 版图设计 5.3 版图验证 版图验证 5.4 版图寄生参数的提取与后仿真 版图寄生参数的提取与后仿真 第5章 版图设计 5.1 版图设计软件使用简介 版图设计软件使用简介5.1.1  L--Edit版图设计软件版图设计软件  L-Edit是Tanner公司出品的一款针对版图设计的应用软件,它允许生成和修改集成电路掩膜版上的几何图形鼠标接口允许用户执行一般图形操作,既可使用鼠标访问下拉菜单,也可以使用键盘来调用L-Edit命令 第5章 版图设计     1.简单介绍简单介绍 1)鼠标的使用L-Edit推荐使用三键鼠标,如果使用两键鼠标,则中键的功能由按下Alt键的同时按下左键来实现  2)屏幕显示  空格键用于屏幕刷新,而其他键和鼠标任一键可中断屏幕刷新;↑、↓、←、→用于显示窗口的上、下、左、右移动;“+”用于放大屏幕中的内容,而“-”用于缩小屏幕中的内容  3)调整网格点  可通过Setup→Design→Grid来调节网格宽度,通常设一个网格为1μm 第5章 版图设计     2.基本命令基本命令    1)文件操作命令(File)  (1)New:打开一个新的设计文件,单键命令为Ctrl+N。

        (2)Open:打开一个已存在的磁盘文件,此文件的格式必须为TDB、CIF或GDSⅡ,单键命令为Ctrl+O  (3)Save:将当前设计保存,单键命令为Ctrl+S  (4)Close:关闭当前打开着的L-Edit设计,单键命令为Ctrl+W  (5)Quit:退出L-Edit,单键命令为Ctrl+Q 第5章 版图设计   2)编辑命令(Edit)  (1)Undo:取消以前的编辑命令,单键命令为Ctrl+Z  (2)Cut:将当前选中的目标剪切下来,放入缓冲区paste中,单键命令为Ctrl+X  (3)Copy:将当前选中的目标复制到缓冲区paste中,单键命令为Ctrl+C  (4)Paste:将缓冲区paste中的内容恢复到屏幕中,单键命令为Ctrl+V  (5)Clear:删除当前所选中的目标,与Cut的区别是目标并不拷入缓冲区paste中,单键命令为Ctrl+B  (6)Duplicate:为当前的所选目标产生一个副本,单键命令为Ctrl+D  (7)SelectAll:在有效空间中选中所有目标,单键命令为Ctrl+A 第5章 版图设计   3.设计规则检查设计规则检查DRC    1)DRC的设置  设计规则检查可用Tools的下拉菜单中的DRCSetup命令项进行设置(或点击界面左上方第三个小图标。

      可以根据不同的设计规则进行调节  2)运行DRC  完成布线后,应对版图作设计规则检查,其方法是点击Tools的下拉菜单中的运行DRC...命令项(或点击界面左上方第一个小图标,这时就会出现一个确定是否要将错误信息存入一个文件的对话框,点确定按钮后即可得到相关信息 第5章 版图设计     4.举例举例    1)模拟电路  如图5-1所示为一基本差动对电路,输入为UINA和UINB,单端输出为UOUT,Ub1为PMOS管提供电流偏置信号,从而为差动对提供电流源负载Ub2为最下方的NMOS管提供电流偏置信号,从而为差动对提供恒定的尾电流源 第5章 版图设计 图5-1 以PMOS电流源为负载的差动对 第5章 版图设计   如果采用CMOS工艺,则版图层次依次为:N阱——确定有源区——多晶(MOS管的栅)——P+扩散——N+扩散——引线孔刻蚀——金属连线  其详细步骤如下(工艺设计选择λ规则):   (1)在File下拉菜单中点击New,出现如图5-2所示的对话框,在File中选择Layout,在CopyTDBsetupfrom中选择已存在的版图文件,点击OK按钮后就会出现一个与选择的版图文件对应的设计界面。

      第5章 版图设计 图5-2 版图文件的选择 第5章 版图设计   (2)在屏幕左侧的版图层次框中选择Nwell,点击BOX快捷键,在界面的相应位置画出一个矩形代表N阱  (3)在屏幕左侧的版图层次框中选择Active,在N阱中画两个矩形有源区,准备作PMOS管,在N阱外大于5λ处画三个有源区,准备作NMOS管,有源区的最小距离为3λ(4)在屏幕左侧的版图层次框中选择Poly,在所有有源区中间画一个细的长方形,准备作MOS管的栅,最小宽度为2λ,栅在有源区的最小伸展为2λ  (5)在屏幕左侧的版图层次框中选择P-Select,在N阱中覆盖两个有源区,与有源区的最小间距为2λ,在阱外也画一块P扩散区,作NMOS管的衬底 第5章 版图设计   (6)在屏幕左侧的版图层次框中选择N-Select,在阱外覆盖所有NMOS的有源区,并且在阱外相应位置画一块N扩散区,作PMOS管的衬底  (7)在屏幕左侧的版图层次框中选择PolyContact,在栅上打接触孔,孔的边长为2λ;在屏幕左侧的版图层次框中选择ActiveContact,在有源区上打接触孔,孔的边长也为2λ,孔间距为2λ;在屏幕左侧的版图层次框中选择OriginLayer,在衬底上打接触孔,孔的边长都是2λ;  (8)在屏幕左侧的版图层次框中选择Metal1,把相应的接触孔连接起来,点击Port快捷键写出输入/输出信号线名。

      第5章 版图设计 图5-3 基于CMOS的差动对版图 第5章 版图设计     2)数字电路数字电路  (1)图5-4所示为一个非门电路其版图工艺及详细步骤同模拟电路的设计  完成后的非门版图如图5-5所示 第5章 版图设计 图5-4 非门电路 第5章 版图设计 图5-5 非门的版图 第5章 版图设计   (2)一位半加器的输入、输出信号的逻辑关系如下: SUM=A⊕B CARRY=AB 第5章 版图设计 图5-6 一位半加器的逻辑电路图 第5章 版图设计 图5-7 一位半加器的版图 第5章 版图设计   设计完成后的版图如图5-7所示注意:  ①画版图时,一定要注意版图层次和工艺几何设计规则例如:有源区在画多晶层前画出;引线接触孔边长要小,但要大于工艺所要求的最小边长(在λ规则中为2λ)  ②移动元件用Alt+鼠标左键来实现  ③各层的默认习惯颜色分别为: 多晶——红色 有源区——草绿色 接触孔——黑色 N阱——土黄色(带网格) P扩散(P-Select)——棕红色(带网格) N扩散(N-Select)——墨绿色(带网格) 金属连线——蓝色 第5章 版图设计   ④常用版图设计规则有微米规则与λ规则:前者是以微米为尺度表示版图最小允许值的大小,后者是以λ为基本单位的几何设计规则,它将版图规定尺寸均取为λ的整数倍。

      第5章 版图设计 表表5--1  λ规则工艺设计参数规则工艺设计参数 工艺设计参数 λ规则 微米规则/μm A.N阱区 A.1 N阱最小宽度 10λ 5 A.2 N阱最小宽度(相同电位) 6λ 3 A.3 N阱最小宽度(不同电位) 8λ 4 B.有源区或薄氧化层区 B.1 有源区最小宽度 3λ 1.5 B.2 有源区之间最小间隔 3λ 1.5 B.3 N阱内P扩到阱边的最小间隔 5λ 2.5 B.4 N阱内N扩到阱边的最小间隔 3λ 1.5 B.5 N阱到阱外N扩的最小间隔 5λ 2.5 B.6 N阱到阱外P扩的最小间隔 3λ 1.5 第5章 版图设计 C.多晶硅1(第一层多晶) C.1 多晶的最小宽度 2λ 1 C.2 多晶硅之间的最小间隔 2λ1C.3 多晶至有源区的最小间隔 1λ 0.5C.4 多晶硅栅在有源区的最小伸展 2λ 1D.P扩区(或N扩区) D.1 P扩区对有源区的最小覆盖 2λ 1 D.2 P扩区的最小宽度 7λ 3.5 D.3 在毗邻接触中有源区P扩、N扩注入区的最小交叠 1λ 0.5 E.接触孔 E.1 接触孔的最小边长 2λ 1E.2 有源区接触孔的最小间距 2λ 1 第5章 版图设计 在使用L-Edit软件的过程中存在几个突出的概念性误区,下面分三个方面来说明:  ①版图和工艺之间的关系。

      有部分初学者认为版图设计就是用几个颜色画一些简单图形,其实在绘制平面版图时,要联系版图在工艺流程中的物理实现过程图5-8(a)所示为同一个NPN晶体管版图和工艺剖面图直观上看这两种表现形式相差甚远,其实它们是同一个器件的两种不同表现形式,存在一一对应的关系半导体器件是根据版图的设计要求和规则,通过工艺流程分多道工序来达到物理实现的所以在学习过程中,读者首先要弄明白平面版图和工艺剖面图之间各物理位置上的对应关系在L-Edit软件中各图层的颜色没有实际的物理意义,主要用于方便区分半导体材料的版图层次建立起这样的基本概念后,才能在集成电路的制造过程中对版图和工艺之间的关系有一个大体的了解 第5章 版图设计 图5-8 一个NPN晶体管的版图和工艺剖面图(a)NPN晶体管版图;(b)NPN工艺剖面图 第5章 版图设计 ②电路图和版图与生产线之间的关系在解决了版图和工艺之间的关系后,还有一个重要的概念需要建立,那就是电路图和版图之间的一一对应关系要学习版图的设计规则,在版图设计规则允许的范围内,要将版图与电路单元一一对应同时,绘制的版图还要符合工艺生产线的要求,例如0.25μm和0.18μm工艺线对版图技术的要求是完全不同的概念,用0.18μm工艺线设计的版图,在0.25μm的工艺线上根本不能使用。

      这就是要求读者建立的另一个概念,版图是将电路图这一工程语言“翻译”成可以具体指导工艺生产线上生产操作的电路图,完成半导体器件生产的版图工程语言图5-9所示为NMOS简单非门版图与其等效电路图 第5章 版图设计 图图5--9  NMOS简单非门版图与其等效电路图简单非门版图与其等效电路图(a)NMOS简单非门版图简单非门版图;(b)NMOS等效电路图等效电路图 第5章 版图设计 ③布局、布线这阶段经常会遇到管脚线无法引出的问题,即使完成布局,走线也极不合理,这就是所谓的版图设计问题版图设计不但涵盖电路知识、工艺知识,还涉及丰富的器件性能知识,所以要实现合理的布局、布线就需要反复练习,多看多实践,扎扎实实地掌握版图上的每一个层次和剖面图的对应关系,并理解版图中各层次先后顺序的意义如果合理布线,可以节省大量的芯片面积 第5章 版图设计   在学习过程中,读者要按照工艺顺序来进行版图绘制,每画一层都要明白图层的物理含义,这样就可避免漏层、掉层的现象虽然平面版图的绘制并无先后顺序的要求,但是在工艺实现过程中层次的先后顺序是有物理意义的例如通过版图制作了7张光刻版,那么这7张版在工艺线上使用的先后顺序是绝对不能错的,必须按照隔离、掺杂(多次)、金属、钝化、封装这样一个工艺流程来进行生产,否则生产出来的肯定是废品。

      掌握了工艺流程和工艺要求后,读者应先绘制一些简单的单元图,来加深理解电路图-版图-工艺流程剖面图只有掌握了这样一个设计过程和相互的对应关系,才能对集成电路设计有更深的了解 第5章 版图设计 5.1.2  Virtuoso版图设计软件版图设计软件  VirtuosoLayoutEditor是Cadence公司出品的一款针对版图设计的应用软件,本节介绍利用VirtuosoLayoutEditor(以下简称Le)创建全定制版图的过程,以及VirtuosoLe的一些使用说明这里将以反相器的版图设计为例来说明如何绘制全定制版图,该版图设计过程采用chartered(csm25rf)库-标准CMOS工艺库 第5章 版图设计   具体内容包括: (1)如何打开VirtuosoLe及它的一些设置 (2)使用LSW窗口 (3)使用Le创建一个版图 第5章 版图设计   登录以后,首先创建自己的工作目录,比如Work、cdWork从csm25rf库所在文件夹下拷贝display.drf文件到自己的工作目录下,否则在LSW窗口无法显示绘制版图需要的各个图层从/CDS_ROOT/tools/dfII/cdsuser目录下拷贝.cdsinit文件到自己的目录下,该文件是Cadence自带的软件相关设置的文件,里面有字体的设置、Bindkey设置等。

      当然也可以单靠鼠标来进行操作,但VirtuosoLe窗口有常用命令的工具栏,熟练运用快捷键比鼠标要快很多 第5章 版图设计     1.开始设计过程开始设计过程  假如现在有如图5-10所示的逻辑电路图,技术库为csm25rf,P管和N管采用相同的尺寸,L=600nm,W=3μm   1)运行VirtuosoLe  要打开VirtuosoLe,首先要打开CIW窗口在Shell命令行下输入icfb&后进入CIW窗口,字符&使得Cadence在后台工作(即可以在Shell命令行下执行其他命令)也可以在Shell提示符下输入其他的命令来打开CIW窗口,如图5-11所示(在这里也可以输入layout&或者layoutPlus&) 第5章 版图设计 图5-10 反相器逻辑图 第5章 版图设计 图5-11 CIW窗口 第5章 版图设计 图5-12 LibraryManager窗口 第5章 版图设计 确保csm25rf、basic和analogLib这三个库都已经存在,如果不存在,需要手动添加它们  小技巧:如果在LibraryManager中发现Library的字体颜色是红色的,就要把该Library删掉,否则会出现一些奇怪的问题。

      第5章 版图设计 2)建立自己的工作库  打开VirtuosoLe后,在CIW窗口中选择File→New→NewLibrary建立自己的工作库在弹出的对话框的LibraryName栏中输入库的名字,比如xd008;在TechnologyFile选项框选择Attachtoanexistingtechfile,点击OK按钮,弹出AttachDesignLibrarytoTechnologyFile对话框,如图5-13所示 第5章 版图设计 图5-13 AttachDesignLibrarytoTechnologyFile对话框 第5章 版图设计 在TechnologyLibrary选项卡中选择csm25rf,按下OK按钮,两个对话框消失至此,已经建立了自己的工作库xd008,并且它与技术库csm25rf相关联 在NewLibrary窗口的TechnologyFile选项框中,如果没有现成的技术库,只有相应的技术文件(techfile),那么可以先选择Compileanewtechfile来创建自己的技术库如果该选项被选上,点击OK按钮后会弹出一个输入ASCII码文件(techfile)的对话框。

      在该对话框中输入技术文件的完整路径,点击OK按钮,如果没有错误,一个自己的技术库就生成了 第5章 版图设计 3)创建版图文件  在CIW窗口中选择File→New→NewCellview,打开创建新Cellview的对话框,如图5-14所示在LibraryName栏选择xd008,在Tool栏选择Virtuoso,在CellName栏输入inv,然后点击OK按钮这时会弹出三个窗口,其中一个是Le的窗口,一个是Le的说明窗口,另一个是LSW窗口 第5章 版图设计 图5-14 创建新Cellview的对话框 第5章 版图设计 2.相关说明和设置相关说明和设置 1)Le及LSW窗口相关说明  版图视窗(VirtuosoLe)打开后,掩膜版图(Le)窗口显现该窗口由三部分组成:IconMenu、MenuBanner及StatusBanner  IconMenu(图标菜单)缺省时位于版图图框的左边,列出了一些最常用的命令的图标要查看图标所代表的指令,只需要将鼠标滑动到想要查看的图标上,图标下方即会显示出相应的指令   MenuBanner(菜单栏)包含了编辑版图所需要的各项指令,并按相应的类别分组。

      几个常用的MenuBanner指令及相应的快捷键如表5-2所示 第5章 版图设计 表表5--2  MenuBanner常用指令常用指令 Zoom In-放大(z) Zoomoutby2-缩小2倍(Z) Save-保存编辑(f2) Delete-删除编辑(Del) Undo-取消编辑(u) Redo-恢复编辑(U) Move-移动(m) Stretch-伸缩(s) Rectangle-编辑矩形图形(r) Polygon-编辑多边形图形(P) Path-编辑布线路径(p) Copy-复制编辑(c) 第5章 版图设计 2)LSW视图的功能  (1)可选择所编辑图形所在的层  (2)可选择哪些层可供编辑 (3)可选择哪些层可以看到  只要在刚才运行icfb的目录中有正确的display.drf文件的拷贝,在LSW窗口就会显示出设计中需要的所有图层为了简单起见,表5-3仅列出绘制这个版图所需的最少版图层次 第5章 版图设计 层次名称 说  明 Nwell N阱 Pdiff P 有源区 Ndiff N有源区 CNT引线孔,连接金属与多晶硅/有源区 Metl第一层金属,用于水平布线,如电源和地 Vial通孔,连接Metal1和Metal2 Met2第二层金属,用于垂直布线,如信号源的I/O口 Text标签 Poly2多晶硅,做MOS的栅 表表5--3 版图层次说明 版图层次说明 第5章 版图设计 3)使用LSW窗口  在LSW窗口的图层栏点击一个图层,比如Metal1,则Metal1为当前图层,在Le窗口就可以画出该层的图形来。

        如果只需要显示Metal1层,则先选择Metal1,然后在图层资源的上方选择NV,再用鼠标点击Le窗口,在键盘上按F键,则Le视图窗口就隐藏了其他的图层,这样可以只编辑该图层,而不受其他图层的影响如果想再多显示另外一层,比如Contact,则用鼠标在LSW窗口点击Contact,然后用鼠标点击Le窗口,按下F键,则Contact层也显示出来了利用同样的方法,可以显示更多的图层或者任意的一层或几层当编辑完之后,要回到全部显示时,在LSW窗口选择AV,切换到Le窗口,按下F键,将显示全部图层 第5章 版图设计   在建立相应的版图的图形后,如果需要编辑新建的图形,可能会遇到这样一个问题:由于设计的版图比较复杂,多个图形叠加到一起,在选择Metal1的一个图形时,不小心选上了P管,而这时如果执行的命令是移动或者拉伸,就有可能造成先前管子的布局和位置的改变,如果是删除则可能会把管子删除掉,这会给设计带来很大的不便在这种情况下可以通过LSW窗口来控制器件的可选性在LSW窗口中比较靠上方处点击Show Objects,将其切换为ShowLayers,其中有两个选项inst和pin,如图5-15所示,默认都被选上,如果不想让器件为可选,则取消inst右边Sel选上标志,同样也可以取消pin的可选性。

      另外也可以控制哪些图层可以被编辑,方法类似于如何控制图层的显示,其中的选项为NS和AS,通过设置可以选择任意的图层来编辑 第5章 版图设计 图5-15 inst与pin选项 第5章 版图设计   4)一些相关的设置  (1)在画版图的过程中出现错误是无法避免的如果还没保存时发现有错误,却撤销不了,可能是因为没有修改UndoLevel值(默认为1,只能撤销一步操作),并且已经进行了很多步的操作可以通过在VirtuosoLe窗口中运行Design→DisguardChange来返回到上次保存的状态,不过这个方法有时会浪费较长的工作时间在CIW窗口中选择Options→UserPreferences,在弹出的对话框中把UndoLevel改为最大10在绘制版图的过程中,如果有错误操作,则在还没保存的情况下可以通过撤销命令(Undo)来撤销10步以内的操作UserPreferences的设置窗口如图5-16所示在CommandControls中把OptionsDisplayedWhenCommandsStart设置为on,则每执行一个命令,其相应的对话框就会出现在这种情况下,就可以对命令的一些参数进行设置,也有利于更好地了解一些常用的命令。

      第5章 版图设计 图5-16 UserPreferences的设置窗口 第5章 版图设计 (2)在Le菜单栏中,选择Option→Display(快捷键E)打开DisplayOptions对话框,如图5-17所示 在DisplayLevels中把From0To0改为From0To23(或者其他的大于零的数)该选项设置用来显示器件的深度,如果不改,将无法看到调用的器件的内部结构在MinorSpacing中填入0.1,在MajorSpacing中填入0.5,在XSnapSpacing中填入0.01,在YSnapSpacing中填入0.01这些设置有利于编辑时的图形对准,其值在需要的时候可以设置得更小其他选项保持默认状态 第5章 版图设计 图5-17 DisplayOptions对话框 第5章 版图设计 (3)选择Option→LayoutEditor(快捷键Shift+E),在LayoutEditorOptions对话框中取消其中的GravityOn选项,点击OK按钮请务必保证GravityOn为off,如图5-18所示 第5章 版图设计 图5-18 GravityOn选项的设置 第5章 版图设计 3.画画MOS管的版图管的版图  若没有标准器件库,则需要自己画出PMOS和NMOS管的版图。

      这里新建一个名为PMOS的cell 1)画出有源区  在LSW中点击Active(dg),注意这时LSW顶部显示Active字样,说明Active层为当前所选层次然后点击IconMenu中的RectangleIcon,在VirtuosoEditing窗口中画一个宽为3.6μm,长为6μm的矩形这里为了定标,必须使用标尺,点击Misc→Ruler即可得到要清除标尺,只需点击Misc→ClearRuler如果绘制时出错,则点击需要去除的部分,然后点击Delete Icon 第5章 版图设计 2)画栅  在LSW中,点击Poly(dg),画矩形,它与有源区的位置关系如图5-19所示 图5-19 矩形与有源区的位置关系 第5章 版图设计   3)画PMOS管  为了表明画的是PMOS管,必须在刚才所画图形的基础上添加一个P-Select层,如图5-20所示这一层将覆盖整个有源区间距为0.6μm接着,还要在整个管子外围画上Nwell,它所覆盖的有源区间距为1.8μm 第5章 版图设计 图5-20 添加P-Select层 第5章 版图设计   4)衬底连接  PMOS的衬底(Nwell)必须连接到UDD。

      首先画一个1.2μm×1.2μm的Active矩形;然后在这个矩形的边上包围一层N-Select层(覆盖Active0.6μm);最后将Nwell的矩形拉长完成后如图5-21所示 至此,一个PMOS的版图就大致完成了绘制NMOS管的步骤和绘制PMOS管的基本相同(新建一个名为NMOS的cell)  第5章 版图设计 图5-21 衬底连接 第5章 版图设计     4.画反相器画反相器 1)添加器件  现在添加反相器的P管和N管在工具栏中选择AddInstance或者按快捷键I,弹出添加器件对话框(CreateInstance),如图5-22所示按下Browse按钮,出现BrowseLibrary对话框在Library中选择csm25rf,设Cell为pmos_tk(厚栅),View为layout改变管子的栅长和宽:w=3μm,l=600nm,如图5-22所示然后在Le窗口中点击鼠标左键,添加一个P管 第5章 版图设计 图5-22 添加器件对话框 第5章 版图设计 图5-23 P管和N管版图 第5章 版图设计   2)添加矩形 在N管和P管之间需要用多晶硅来连接两个管子的栅,如图5-24所示。

      在LSW窗口中点击POLY2(在chartered库中利用poly2作为管子的栅),切换到Le窗口,利用鼠标点击工具栏中的下方倒数第二个按钮或者按下R键,放大到两个管子之间的地方,就可以开始画矩形了选择的第一个点是P管栅的左下角,第二个点是N管栅的右上角,如图5-24所示,就用多晶硅把两个管子的栅连接到一起  利用同样的方法在输出端用Metal1把两个管子连接起来,该软件的默认设置是重复命令,即在画完一个矩形后可以不执行任何其他命令而继续画更多的矩形,按Esc键可以取消当前命令但一旦执行下一个命令后,前一个命令将自动取消 第5章 版图设计 图5-24 连接P管和N管的栅 第5章 版图设计   3)添加多边形  在LSW窗口中选择Metal1作为当前图层,在Create菜单下选择Polygon或者按工具栏下方倒数第四个按钮(或按快捷键Shift+P)进入添加多边形状态如果在先前UserPreferences对话框中选择了OptionsDisplayedWhenCommandsStart(见图5-16),则可以看到一个新建多边形的对话框,如图5-25所示 第5章 版图设计 图5-25 新建多边形对话框 第5章 版图设计   4)添加电源连线 用鼠标多次点击形成多边形的多个顶点,就可以构成一个封闭的图像,如图5-26所示。

      第5章 版图设计 图5-26 添加电源线 第5章 版图设计   5)添加地线 添加地线后得到如图5-27所示的粗略的版图,对其还需要编辑才能不出现错误 第5章 版图设计 图5-27 添加地线 第5章 版图设计   6)编辑版图  通过拉伸可使得各个图形相互对准在菜单栏选择Edit→Stretch(或按快捷键S)或者按下工具栏的相应按钮,进入到拉伸状态放大到要编辑的地方,选择要调整的边(不能把整个图形选上),拖动鼠标拉到合适的地方,如图5-28所示注意:在这里执行拉伸命令的时候需保证当前没有选中器件或者图形如果选中了图形,则相当于执行了移动命令有一个小技巧:利用鼠标右键可以放大自己需要看的地方,方法是先用鼠标右键点中要放大的区域的右下角,按住并往左上角方向拖动,会有一个方形的边框表示选择的区域,如果看到该边框已经包围了需要放大的区域,放开鼠标右键,就放大了所选的区域如果将鼠标从左上角往右下角拖动,则会起到缩小的作用调整后的版图如图5-29所示 第5章 版图设计 图5-28 拉伸编辑 第5章 版图设计 图5-29 调整后的版图 第5章 版图设计   7)添加输入端  反相器的输入端应该为金属,所以要添加接触孔。

      在菜单栏中选择Create→Contact(或按快捷键O),弹出添加接触孔的对话框,如图5-30所示在ContactType选项选择M1_POLY2,点击Hide按钮,在Le视窗的适当位置点击添加接触孔,这样就得到一个漂亮的版图,如图5-31所示设计完后将对版图进行验证,这部分内容见后续章节   第5章 版图设计 图5-30 添加接触孔对话框 第5章 版图设计 图5-31 设计完成后的版图 第5章 版图设计 5.2 版图设计 版图设计   在产品开发过程中,有多种基于特定设计的设计流程,这里考虑一个通用概念上的流程IC设计周期中各步骤的前后关系如图5-32所示,从中可以看到版图设计在芯片设计流程中所处的位置  ·首先,市场部通常会详细规定需要开发的产品 ·然后,规定设计的结构或者行为电路设计工程师规定芯片的结构以满足市场和/或IDEA功能需求 第5章 版图设计 图5-32 IC设计流程图 第5章 版图设计  ·系统仿真由一组工程师完成电路设计工程师会对将要集成在最终芯片中的各个单独模块进行定义和验证这一步验证了上一步中规定的结构是否合理,并清楚地定义了需要进一步实现的可处理的模块。

       ·电路设计组将完成所有的数字和模拟仿真,以验证电路的方案和门的连接,以及门的尺寸(为了满足时序规范)电路设计组需要和版图设计组进行交流,版图设计组会使电路适合芯片的版图布局 第5章 版图设计  ·版图设计由版图设计工程师完成他们的工作包括画出器件和互连线,对于所有的模块,利用电路设计组生成的电路图来实现晶体管、基底连接及互连(使用1~6层金属)等可以大规模生产的最终设计是整个芯片的版图 ·在第一块晶圆制造出来后,测试组就要开始尝试测试芯片首先,他们将检查工艺参数是否在可以接受的误差范围内下一步是使用工程测试仪来测试芯片,以便找出所有违规情况,并尝试现场解决这些问题 第5章 版图设计   图5-32只是一个概念上的流程实际中,在通过不同的设计阶段时会有很多的反复设计和设计上的迭代很多不同的因素会引起设计上的改变,包括很多来自于版图上的限制或者约束  数字和模拟版图设计既有相同之处也有不同之处,它们的设计总原则为:既要充分利用硅片面积,又要在工艺条件允许的限度内尽可能提高成品率;版图面积(包括压焊点在内)尽可能小而接近方形,以减少每个电路的实际占用面积生产实践表明,当芯片面积降低10%时,每个大圆片上的管芯成品率可以提高15%~25%。

      版图设计时所应遵循的一般原则是: 第5章 版图设计   (1)隔离区的数目尽可能少PN结的隔离框面积约为管芯面积的1/3,隔离区数目少,有利于减小芯片面积集电极电位相同的晶体管,可以放在同一隔离区二极管按晶体管原则处理全部电阻可以放在同一隔离区内,但隔离区不宜太大,否则会造成漏电大、耐压低为了走线方便,电阻也可以分别放在几个隔离区内各压焊块(地压焊块除外)都放在隔离区内,以防止压焊时压穿SiO2,造成与衬底短路管芯外围也要进行大面积隔离扩散,以减少输入端钳位二极管的串联电阻 第5章 版图设计   (2)注意防止各种寄生效应隔离槽要接电路最负电位,电阻岛的外延层接最高电位这是保证PN结隔离效果的必要条件,以使PN结隔离区始终处于反偏置状态输入与输出端应尽可能远离,以防止发生不应有的影响电阻等发热元件要放在芯片中央芯片的温度分布要均匀 第5章 版图设计   (3)设计铝条时,希望铝条尽量短而宽铝条本身也要引入串联电阻,因此也需计算铝条引入的串联电阻对线路的影响铝条不能相交,在必须相交时,可让一条或几条铝条通过多发射极管的发射极区间或发射区与基区区间,也可从电阻上穿过,但不应跨过三次氧化层。

      必须采用“磷桥”穿接时,要计算“磷桥”引入的附加电阻对电路特性的影响一般不允许“磷桥”加在地线上应尽可能避免使用扩散条串穿接方式,因为扩散条不仅会带来附加电阻和寄生电容,同时还要占据一定的面积在LSI中,当一层布线无法保证实现元件之间必要的连接时,普遍使用多层布线铝条压焊点电极要有合理的分布,应符合引出脚排列 第5章 版图设计   (4)保证元件的对称性参数要求一致的元件,应放在邻近的区域几何结构尽可能对称,不能只考虑走线方便而破坏对称性  (5)接地孔尽可能开大些凡需接地的发射极、电阻等,不能只靠在隔离槽上开的接触孔接地,要尽可能让地线直接通过该处接地线尽可能地沿隔离槽走线接电源的引线应短而宽,接UDD的电源孔应尽可能开大些集电极等扩磷孔应比其他接触孔大  (6)铝条适当盖住接触孔(一般每边覆盖2μm),在位置空的地方可多覆盖一些;走线太紧时,也可只覆盖一边 第5章 版图设计   (7)为了在减小版图面积的同时又使走线方便、布局合理,各电阻的形状可以灵活多样,小电阻可用隐埋电阻各管电极的位置可以平放或立放  (8)凡是可能,所设计的电路应留有适当的过载能力,并避免使用易损坏的元件。

        (9)压焊块的数目以及排列顺序应该与外壳引出脚排列相符合,电极分布应均匀 第5章 版图设计   (10)确定光刻的基本尺寸根据工艺水平和光刻精度定出图形及各个扩散间距的最小尺寸,其中最为关键的是发射极接触孔的尺寸和套刻间距集成晶体管是由一系列相互套合的图形组成的,其中最小的图形尺寸是发射极接触孔的宽度,所以往往选用设计规则中的最小图形尺寸作为发射极接触孔,其他图形都是在此基础上考虑图形间的最小间距进行逐步套合、放大的最小图形尺寸受到掩膜对中容差、扩散过程中的横向扩散、耗尽层扩展等多种因素的限制 第5章 版图设计     1.平面布局平面布局(Floorplanning)  在布局和布线工具中要用到的第一个软件称为平面布局工具这个工具将在平面上画出功能区域,确定这些区域间的连接关系以及I/O压焊块的位置,并反馈有关平面布局在进行布线时的信息平面布局工具从编译软件产生的网表文件中获取它所需要的连接关系和门的信息 第5章 版图设计   1)功能块的布局  通常,芯片将被划分成不同的功能区例如,如果设计的是一个大的数字芯片,那么在芯片上可能会有微处理器单元(MPU), 也许有一个浮点单元(FPU),还可能有一个RAM模块和一个ROM模块。

        每一个功能区放在哪里是由设计者而不是计算机来决定的可以把微处理器所有的门放在左下角,把RAM所有的门放在右上角,如图5-33所示当然,这样的布局有可能发生改变 第5章 版图设计 图5-33 芯片功能块布置 第5章 版图设计   2)门的分组  一旦确定了功能区,要做的第一件事就是把每一模块中的门在一定程度上放在一起例如,不希望FPU的门散布在ROM或RAM模块的各处所有相关的门应当相互间就近放置  平面布局工具可把相关的门放在一起,但每个门的确切位置在此时还无法确定,因为可能在以后的某个时候需要改变模块的位置所以在目前确定大致的相邻位置就可以了 第5章 版图设计   3)模块级的连接关系  平面布局工具将布置芯片的输入和输出(I/O)单元例如,若希望所有通往FPU的输入都靠近左上角的FPU模块,有些工具会自动把I/O单元放在合适的区域,如图5-34所示,而另一些工具将根据所确定的布局来反馈相应的图形信息  平面布局工具还显示了模块之间必需的布线连接,例如它将显示FPU和RAM模块之间的连接 第5章 版图设计 图5-34 输入和输出各放置在适当单元模块附近 第5章 版图设计   4)使用飞线  通常,平面布局工具会显示从每一个模块连至I/O压焊块和其他模块的所有导线。

      这些数不清的导线就是大多数设计工具提到的所谓飞线  在计算机屏幕上按动鼠标选中、拖动和调整模块时,会看到所有这些导线的连接会随着光标同时移动如果这些飞线变得交叉杂乱,那么电路就很难布线;而如果没有这些交叉的飞线,布线将会很容易,如图5-35所示应该改变模块的平面布局,使飞线看上去尽可能干净整齐和容易布线这可能需要重新安排整个功能区;或者把一个小模块移到另一边,并把它安排在两个大模块之间;或者把位于中间的一个模块放到边上,或是把一个外边的模块放到中间  当最终得到一个布线简单、合适的模块分布图时,把该平面布局输出文件保存起来 第5章 版图设计 图5-35 飞线一定要布置整齐 第5章 版图设计   5)时序检查  由于最终的平面布局输出文件说明了各个门的总体位置,平面布局工具就会知道所有导线的大致长度对这些导线长度的估计是根据数字电路库中的实际尺寸做出的  利用这些信息,平面布局工具可以输出一个包含有导线估计长度的文件,并送回数字电路模拟器中,通过进行一些模拟,来确定估计的线长对数字电路会有什么影响必须检查由于长导线使电路信号减慢太多从而对电路时序产生的影响有多大如果导线长度确实影响了电路的时序,那么电路设计者就需要根据平面布局修改其设计,此时需要修改网表。

      例如,可能在模块中放上一个强度更大的单元来驱动额外的导线电容在设计者更好地安排了设计之后,就会发现这一设计不仅更容易布线,而且最终也会使芯片更好地工作 第5章 版图设计   如图5-36所示,经过几次这样的平面设计和时序检查的反复之后,模拟器的时序要求将得到满足在确定了一个满意的设计后,就进入了一个新的阶段——将器件固定到位 第5章 版图设计 图5-36 平面布局/时序验证的过程 第5章 版图设计    2.布置布置  在确定了设计后,可以用一个布置工具把每一模块中所有的逻辑门固定在它们确切的位置上,然后按照一个精确的最终布线方案,利用布线工具把这些门连接起来布置工具和布线工具是布线工具包中的两组程序  布置软件首先选出一个模块开始工作,然后寻找与这一模块相关的部件比如,它发现有5000个门与一个浮点单元相关,它可能会巡视一下这5000个门,然后看到网表中有25个门是连在一起的,所以尽可能把这些门放得近一些接着,布置软件继续根据逻辑门的连接关系和平面布局工具的输出文件来安排它们的位置 第5章 版图设计   最初的布置方案可能需要修改很多次每次布置改进一点,直到得到的布置容易布线为止。

      这个最终的布置大致上决定了最终的版图  已有许多布置工具可以根据设计中信号的时序要求来确定门的布置这种布置方法称为时序驱动版图设计,它已成为通用的方法由这种方法生成的最终结果通常远比传统的方法好很多  不仅是芯片中的门,所有的I/O驱动器也在此时布置I/O驱动器是一些特殊的单元,它们将驱动输入信号,提供输出,并包括了ESD保护和测试电路 第5章 版图设计     3.标准网格标准网格  标准版图系统使每样东西都以一个标准网格作为对准的基础,实现自动布线并保证标准单元整体布置的可操作性如果统一设计单元既注意与网格对准又遵循其他规则,就可以使用自动设计工具自由地支配布局和布线  经典的布线器以网格为基础一个网格式布线器要遵循两个约束条件:它的导线只能有几种固定的宽度并且只能放在预先确定坐标的网格上;必须遵循对准网格的规则,不能在网格式系统中进行随意设计沿网格线布线限制了可能的布线方式,但它可以用自动工具来进行布线(如图5-37所示),并且能使这些工具尽其所能一个网格式布线器完全依赖于这些网格进行工作 第5章 版图设计 图5-37 自动布线器以网格线为中心布线 第5章 版图设计   4.网格式布线系统要求的库设计规则网格式布线系统要求的库设计规则  在采用一个网格式布线器时,需要有一套规则来规范与版图设计相关的每一样东西。

      一般要根据这些规则来建立一个完整的单元库每一个单元、每一个门,总之每一样东西都必须符合这些规则  1)对齐输入和输出  必须以同样的方式使标准单元库中的所有部件都与网格相匹配导线、单元、交点等所有的版图对象都必须服从如对齐和间距这样的一些规则,否则,就不能保证自动布线系统在DRC和LVS时没有问题   第5章 版图设计   2)高度固定,宽度可变  每一个门有多种不同尺寸的电源轨线,并且门的高度也各不相同,那么即使所有的门都对齐网格,布线也会非常混乱, 软件也很难运行注意图5-38中这些小尺寸、中尺寸和大尺寸的反相器如何使电源线拐来拐去因此,为了保持结构的统一,需迫使所有的门都必须服从固定高度设置一个规定的固定单元高度控制着整个库  采用高度固定的库有一个优点:如果把所有的逻辑门一个挨一个地摆放,那么电源轨线就很容易布线事实上,可以让每一个单元与它相邻的一个单元恰好对接,这样就不必专门连接电源轨线了,因为它们已经连在了一起 第5章 版图设计 图5-38 不同高度的版图单元 第5章 版图设计   对于数字版图,特别是标准单元版图,因为受布局布线工具的约束,单元高度固定、宽度可变是唯一可行的工作方式。

      这一方法可保证将所有这些单元互相并排放置,因而DRC不会出现问题它在整个数字版图领域是非常通用的技术,所遇到的大多数库都是高度固定、宽度可变的只要从按网格建立的库中找到所要的单元,然后让它们就位就可以了  高度固定、宽度可变这一技术在模拟版图设计中也非常有用人们甚至在设计全定制的模拟电路时也会用到它例如,在设计中需要重复用许多尺寸相近的单元,那么也可以用这一方法使单元布局布线更容易一些通过建立起一排排和一列列单元,使电源线和布线通道相邻接,可以像处理数字版图那样来处理它们 第5章 版图设计   3)半网格单元尺寸  把相邻的单元相互对接起来,无需导线就可以把电源轨线或N阱连接起来,正好形成了一条长带然而,如果把相邻的单元对接,很可能会把相邻元件的内部部件也对接起来这样做是不允许的,因为内部部件必须服从它们的最小间距规则但如果内部器件离每一个单元的边缘足够远,那么就可以自由地把相邻的单元对接在一起了  如果内部器件离每一个单元的边缘不够远,有一个非常方便而且最为有效的方法来解决这一问题如图5-39所示,让所有内部导线都处于网格上,然后使相互对接单元的边沿落在两条网格线的中间,即处于半个网格的位置上。

      这样就保证了金属线相互间正好能保持所需要的最小间距 第5章 版图设计 图5-39 金属线落在网格上,单元边沿落在网格线的中间 第5章 版图设计     5.布线布线  在逻辑门和I/O单元各就其位之后,就可以开始把每一部分用导线连接在一起  布线软件有两个要优先布线的网络——供电网络和时钟信号网络它将首先对这两种网络布线,因为它们是最关键的  在电源轨线和时钟信号就位后,布线软件将继续对电路的其余部分布线,并可以从任何关键的电路开始  下面按重要性的顺序考虑具体的布线 第5章 版图设计   1)供电网络  把电源连至各逻辑门有一定的规则电源线必须以某一处为中心并按一定方向走线如图5-40所示,导线从各个逻辑门的中间穿过 当然,自动布线时可以在任何时候进行干预:可能希望对电源布线做一些特别的处理;也可能要把某个模块移动一下位置;或是在电路的某一部分增加额外的电源线,因为这一区域在某些情况下会需要较大的供电了解电路的功能就能做出这些决定布线软件由网表驱动,而网表了解每一个部件因此,在布线工具完成供电网络的布线之后会自动报告 第5章 版图设计 图5-40 电源轨线通过逻辑门 第5章 版图设计   2)搭接  注意图5-41中位于最右上角深色的单元,它离UDD输入压焊块最远。

      电源从左下角进入电路,必定要经过所有的轨线可以看到,电源电流要经过许多串联的金属线才能到达右上角这个最末端的小单元,所以其导线电阻大 第5章 版图设计 图5-41 距离UDD压焊块远的导线电阻大 第5章 版图设计   另一个深色的离压焊块最近的单元由于离得近,因此所经过的电阻就小得多用金属线与电源轨线交叉搭接,就得到了一个并联多路径的大网络,见图5-42,由于电阻被并联了起来,因此总电阻降低了 第5章 版图设计 图5-42 搭接轨线 第5章 版图设计   把搭接线和轨线在芯片上铺开,用更多的并行路径给芯片供电当然,路径越多越好在电源布线软件中要求电源线有相同的间距它规定,不管是否需要,每隔一定距离(如60μm或100μm)都要有一条搭接线然而,较新的布线工具在布置供电搭接线之前要先看一下单元中的驱动强度如果在某一区域集中了很多大驱动强度的单元,就会需要较多的功率于是经过计算,布线器就会在这一区域放上更多的供电搭接线 第5章 版图设计   3)时钟网络布线  一旦完成了电源轨线的布置,软件通常会提供一个专门的工具来连接所有的时钟网络  可以采用许多工具来布线时钟网络,每一种工具都有它自己特别的工作方式。

      如果只能用手工来布线时钟网络,那么可采用中心时钟主干线方法如图5-43所示,电路中通常会有一个具有足够驱动强度的时钟驱动单元,用来驱动最高一层的时钟缓冲器把这个单元放在设计的中心处,然后建立一个大的中心干线,由它分支来连接所有的时钟缓冲器随着网络由主驱动器向外越伸越远,它不断分叉出越来越多和越来越细的分支外围分支上的导线宽度也变得越来越窄大的中心区域就像一根粗壮的树干,因此命名此方法为中心时钟主干线方法  中心时钟主干线方法很容易布线,时钟信号的分布也会变得非常容易 第5章 版图设计 图5-43 用中心时钟主干线方法布线时钟网络 第5章 版图设计   4)其他关键网络  首先对最为担心的网络进行布线,也许还会采用手工布线设计者应当得到一个说明芯片关键网络的清单把关键网络的文件送入自动布线器,它就开始工作在布线还比较容易的时候先处理这些关键网络,然后再完成芯片的大部分布线同样,也可以随时进行干预,直到所有的关键网络完全达到要求 第5章 版图设计   5)其余网络  最后要做的是布线电路中余下的部分有时,布线工具自己会知道如何自动布线剩下的每一部分完成一个很大的芯片的布线可能需要好几天的时间。

      第5章 版图设计   6)手工完成布线  当自动布线工具尽其所能完成其工作后,也许已经完成了芯片上所有的布线,但是也许还没有完成芯片上的所有布线通常,布线器对某些区域束手无策,它可能会“进入”某些“死胡同”中,然后就停止布线,这时可以通过布线器查看还有多少网络没有完成设计者常常不得不拆开某些网络,移动周围的部件,依靠人工干预来完成所有的网络和那些计算机无能为力的布线工作  例如,布线器报告有5个网络处理不了它会标注出这些尚未布线的网络的位置注意这些计算机无法布线的引线端所在的区域,通常能发现布线器已在这些区域附近放置了导线,它停下来是因为有一大堆东西挡住了去路这常常是一些非常明显的东西,比如一些前面布线过的网络 第5章 版图设计   通常只需要移去某些挡路的导线或稍稍重新布一下线就可以释放出一些区域,然后就可以在需要的地方正常布线了自动布线工具多半不会在第一次通过时就100%地完成布线,常常要手工预先布线某些信号,这样就能节省许多时间有时,如果芯片尺寸太小,也许完全无法布线比如不能在一个100μm的空间放置5000条导线或者也许有许多空间,但是有太多的网络交叉或者是平面布局很糟在这种情况下,就需要回到平面布局,并从草图开始重新工作。

        最后,所有的门都连接起来了,这时可以让计算机输出一个布线文件,这个文件会显示实际的导线长度和实际的导线电容这些数据已不需要再调整,也不需要再估计,它们是最终的真实数据 第5章 版图设计     6.预制门阵列芯片预制门阵列芯片  以上所有技术也可用于一种称为门阵列的特殊芯片门阵列是一种预先定义并已部分预先制造出来的芯片,它实际上是许多逻辑门的阵列半导体制造商将圆片加工到淀积金属层之前,就不再加工并就此存放起来,直到需要时再启用门阵列仍需要使用平面布局工具、布置工具和布线工具来布局、布线,但是不必布置任何扩散区或多晶硅,只需布置金属层和接触层这类芯片对于测试样品电路非常有用加工一个门阵列只需要几个星期的时间,因为只需要完成工艺的最后几步 第5章 版图设计   一般只能从几种尺寸固定的门阵列芯片中进行选择,有小型的、中型的和大型的制造商可能会给出含有5000个门、10000个门及50000个门的门阵列,需要从这些尺寸中进行挑选如果设计含有30000个门,但供应商并没有30000门的门阵列,就不得不采用更大的尺寸,如50000门的门阵列,这会浪费许多空间并且50000门的门阵列可能会提供150个I/O压焊块,而设计中只需要50个I/O压焊块,这也将造成空间的浪费。

        完成逻辑设计,并且已经用门阵列证明了设计构想时,就可以把设计转为真正确定的器件 第5章 版图设计     7.验证验证  验证分设计验证和物理验证  1)设计验证  把新的布线文件再次送回到负责模拟的人员那里,这次是用实际的布线数据来模拟,不再是估计值如果工具足够好而且模型也足够好,那么布线就会很好如果布线工具完成得不好,或工作做得不好,那么电路设计者也许不得不再次修改设计 第5章 版图设计   如果需要重新设计,并不意味着以前的工作全白做设计团队可能会保留一些原有的工作,只需加入一些新的逻辑,去掉一些单元,然后再重新布线然而,有时可能必须重新做一遍数字掩膜设计者不必亲手去掉一两个门并替换它们,而是运行工具和软件进行一些修改,软件有足够的智能来加入新的连接并进行大多数的重构工作一个好的版图设计者必须对工具非常熟悉,并知道它们在电路中的用途一个优秀的掩膜设计者如果了解电路工作的一些细节,就能预先解决一些可能会出现的问题,从而从一开始就能布置出一个好的平面布局来  最后,当所有的布局、布线工作都已完成,且芯片也经过了重新模拟,这时就完成了芯片的高层次版图,即已把基本数据从一个概念性的格式转化为了一个真正的掩膜设计。

      第5章 版图设计 2)物理验证  至设计验证完成,只是根据输入和输出来进行布局、布线,从而完成设计工作,但还未涉及到真正的晶体管,也不了解里面具体是什么下面将介绍这些器件符号的物理验证 第5章 版图设计   (1)GDSⅡ文件  为了完成掩膜设计,将用到这个抽象的高层次的基本数据文件,并以真正的逻辑门来代替这些数据文件使用布局和布线工具提供的数据把来自实际单元库中的部件替代为抽象部件时,就得到了一个芯片的GDSⅡ字符串文件,如图5-44所示这个文件中包含了所有的部件、单元的所有连接及所有的通孔等 第5章 版图设计 图5-44 基本数据和实际晶体管融合产生一个GDSⅡ文件 第5章 版图设计   (2)DRC和LVS检查  在生成最后的GDSⅡ输出文件时,芯片设计已经经过无数次操作了一旦得到了GDSⅡ字符串文件,就要运行检查程序以保证布线完整无误这时,运用设计规则检查(DesignRuleCheck,DRC)软件来检查所有的工艺设计规则,检查布线和晶体管的连接关系是否符合网表中定义的连接要求运用版图与电路图对比(LayoutVersusSchematic,LVS)软件来进行连接关系的检查,如图5-45所示。

       第5章 版图设计 图5-45 检查设计工作 第5章 版图设计 5.2.2 模拟电路的版图设计 模拟电路的版图设计     1.数字技巧和模拟技巧的对比数字技巧和模拟技巧的对比  数字掩膜设计和模拟掩膜设计正在融合随着微处理器时钟频率的不断提高,CMOS数字芯片变得越来越像一个模拟电路同时,对模拟版图设计者来说,数字领域常用的标准化技术也是极有价值的大多数技术在某种程度上都可以用于这两个领域因此,所采用的这些技术在数字掩膜设计和模拟掩膜设计之间不一定要有很大的差别 第5章 版图设计   数字和模拟掩膜设计之间的一些比较明显的差别如下:  (1)规模不同在数字IC中,一个芯片上可能会有1000万个挨在一起的反相器而在模拟IC上将看不到1000万个放大器,也许只有三个或四个  (2)主要目标不同设计CMOS数字芯片时,主要目标是优化芯片的存储和提高密集度例如,需要保证数字反相器尽可能很小一个反相器可以比需要的只大10%,但是当有1000万个这样的反相器合在一起时,整个芯片就会显著变大,芯片成本将太高,掩膜设计者的工作将没有价值在模拟设计中,无论是CMOS还是双极型电路,主要目标并不是芯片的尺寸,而是优化电路的性能、匹配程度、速度和各种功能。

      自然,面积在某种程度上仍然是一个问题,但不再是压倒一切的问题在模拟掩膜设计中,性能比尺寸更为重要  第5章 版图设计   (3)团队工作方式不同当一个数字项目到了一定程度时,掩膜设计者就可以完全独立地工作,不需要与他人交流他要知道的全部信息就是输入、输出和供电轨线的位置然而,在进行一个模拟项目时,需要做的第一件事就是与电路设计者交流如果不知道必须留出多大的面积用作屏蔽或匹配,或特别地放置方向,亦或是需要特别地配备双信号线以传送差分信号,那么就不能着手布置导线在开始工作之前有太多的信息需要去了解即使在已经有了初步的平面布局设想之后,在整个项目从头到尾的设计中仍需要继续与整个设计团队沟通要不断地与电路设计者交换意见,倾听他们的反馈意见,确保选用的方案能使电路达到最优性能 第5章 版图设计   (4)完成进度不同在数字掩膜设计项目中,芯片的绝大部分电路往往在开始进行芯片版图工作时已经设计完毕在模拟掩膜设计中,电路设计往往与单元模块的版图设计同步进行因为此时关于最终的电路究竟会是什么样子还有许多不确定因素设计者将被要求根据设计工程师们的描述,严格按照进度和所要求的芯片尺寸进行工作  (5)创新要求不同。

      在数字电路设计中,电路的大部分已经设计过,版图也已完成过许多次与此正好相反,模拟芯片设计的每一部分电路或版图过去几乎从未设计过,设计者总是在创新,每一个项目都要涉及过去从未有过的问题 第5章 版图设计   (6)约束条件不同在CMOS数字版图设计的设计中,对一个新的电路设计图首先要考虑如下问题:标准单元高度、网格大小、水平金属线层次、垂直金属线层次以及其他需要遵守的规则如果遵循了这些详细的有关单元高度、网格以及所有的程序规则,就能成功地完成DRC没有问题的数字芯片但是在模拟电路中情况就大不一样了,这里几乎没有什么规则,更关心的将是电路的性能如何,而不是那些为了保证单元能放到一起的过于细小的规则  在规则方面,所有那些在数字掩膜设计中必须服从的规则在模拟掩膜设计中可以有很多选择,可以采用也可以不采用它们中的任何一个 第5章 版图设计   (7)对电路技术理解程度的要求不同  模拟掩膜设计更关心优化电路性能的问题,所以模拟掩膜设计者比纯数字掩膜设计者需要多知道一点有关电路的技术,应当更了解电路如何工作,更了解电压和电流以及它们相互间的关系,应当知道为什么差分对需要相互匹配,了解有关信号流、降低寄生参数、电流密度、器件方位、布线等需要考虑的问题。

      第5章 版图设计     2.模拟电路的几个关键问题模拟电路的几个关键问题  一个模拟电路版图设计者第一次接到设计任务,例如把如图5-46所示的一个CMOS运算放大器电路画成版图,应当从何处着手呢?需要了解什么、询问哪些问题呢?此时需要与电路设计者交流,以了解以下几个关键问题,这些问题的答案将会对版图的设计起重要作用 第5章 版图设计 图5-46 运算放大器电路 第5章 版图设计   首先,要清楚这个电路是做什么用的电路设计者将回答:这是一个放大器这样一个简单的回答可能就是所需要的一切对于模拟版图设计的新手,可能不明白放大器是什么或不明白它对设计版图有什么影响如果是这样,那么就应该继续问:什么是放大器?它的增益、工作频率、带宽为多大?而且了解电路的功能对版图设计至关重要电路功能决定了将来如何来处理这样一些问题,如匹配、布局、对称、保护方法、I/O导线的位置等 第5章 版图设计   其次,还需询问这个电路需要多大的电流得到的回答将影响许多器件的选择、许多金属线尺寸的选择,并在一定程度上影响布置方案这些都是非常重要的决定  需要问的第三个重要问题是有哪些匹配要求电路设计者会回答,这是个两输入器件,VM2和VM3需要匹配的非常好。

      得到各种匹配相关问题的回答后,版图设计者就开始从匹配的角度来决定需要做什么,然后就采用需要的各种匹配技术 第5章 版图设计     3.模拟电路版图中的常用技术模拟电路版图中的常用技术    1)匹配  匹配在版图设计中是非常重要的一个从匹配角度来看很差的版图可能会毁掉一个很好的设计相反,一个优秀的版图可以大大地提升一个设计什么时候应当在版图中运用匹配技术呢?这就需要与电路设计者交流保证所有的匹配问题都被注意到的最好办法,是在电路图上能看到所有这些匹配的信息如果电路设计者希望一对晶体管很好地匹配,他应当写在电路图上如果没有这样做,那他就会冒所设计的电路不能很好工作的风险然而,即使在设计图上什么也没写,仍然有一些规则是一个版图设计者在所有的版图工作中都可以使用的基本规则如果遵守这些规则,就能自然而然地实现某些合理的匹配 第5章 版图设计   (1)简单匹配有几个简单的匹配规则:第一是使器件靠近;第二是注意周围的器件的影响;第三是保持器件的方向一致如果在所有的版图设计中都遵守这三条基本规则,就肯定能得到相当好的匹配  (2)交叉器件  ①指状交叉:把两组器件相互靠近,方向一致且使它们交叉排列,如图5-47所示。

      第5章 版图设计 图5-47 指状交叉部件的布线 第5章 版图设计   ②四方交叉:为了使器件达到更好的匹配,把每个器件分为两半,然后把它们成对角放置,如图5-48所示例如,四方交叉双极型器件的版图如图5-49所示 第5章 版图设计 图5-48 四方交叉的对角布置 第5章 版图设计 图5-49 四方交叉双极晶体管的版图 第5章 版图设计   ③经济型四方交叉:比四方交叉更为简单,且能产生良好的性能完成这一线性形式的版图所需的时间较少并能节省空间,器件排列如图5-50所示 第5章 版图设计 图5-50 经济型四方交叉的版图 第5章 版图设计   2)噪声问题  噪声在集成电路中可以成为一个很大的问题,它可能毁掉一个芯片,特别是当电路是一个要接收某一很弱信号的非常敏感的电路,而它又位于一个进行着各种计算、控制逻辑和频繁切换的电路旁边的时候必须特别注意版图和平面布局,尽可能多地了解如何消减噪声是非常关键的  (1)衬底接触如果衬底接触是接地的,那么当噪声企图通过衬底从模块离开时,如图5-51所示,任何噪声电压和电流都很有可能被吸引到衬底 第5章 版图设计 图5-51 噪声接地 第5章 版图设计   (2)模块合理安排位置。

        同一种芯片的两种平面布局如图5-52所示在左面最初的平面布置中,把安静部分和噪声部分靠在了一起但是,如果可以的话,采用右面的平面图的布局远比前一种好的多这一布局技术应当成为一个好的掩膜设计者的日常习惯时间长了,就会不假思索地自动把噪声电路和安静电路远离放置(如大功率管和基准模块) 第5章 版图设计 图5-52 把噪声电路和安静的电路远离放置 第5章 版图设计   (3)差分信号  差分电路是一种用来检测两个同一来源的特殊走线的信号之差的设计技术两条导线自始至终并排排列,每条传递同样的信息,但信息的状态相反如果有噪声进入这两条信号线,由于噪声会以同样的幅度同时发生在两条导线上,因此最终两条导线上的信号相减消除了噪声,如图5-53所示差分逻辑即差分信号设计方法有很强的抗噪声能力当电路中的噪声问题十分严重时,很多人都会依赖差分系统来解决问题 第5章 版图设计 图5-53 两个差分信号的噪声相互抵消 第5章 版图设计   (4)去耦供电轨线  有时噪声是内部固有的,无法避免所以有人在他们的供电轨线上放上一些大的去耦电容这些电容的尺寸很大信号频率越高,就越容易通过电容,如图5-54所示。

      所以,如果电路模块中有一个很大的去耦电容跨接在两条供电轨线上,那么进入供电轨线上的任何噪声都会首先被吸引到接地线,只有很少的噪声能越过这个电容进入电路 第5章 版图设计 图5-54 高频信号通过电容接地 第5章 版图设计 5.3 版图验证 版图验证   版图完成之后,就要对其进行验证Virtuoso中提供Diva和Dracula两种版图检查及验证的工具其中前者是基于Xwindow的方式,而后者是基于命令行的方式验证的整个过程包括:设计规则检查(DesignRuleCheck,DRC)、电学规则检查(ElectronicsRuleCheck,ERC)、电路图版图对照(LayoutVersusSchematic,LVS)以及版图寄生参数提取(LayoutParameterExtraction,LPE) 第5章 版图设计   版图编辑要按照一定的设计规则来进行,也就是要通过DRC和ERC检查编辑好的版图通过了设计规则的检查后,有可能还有错误,这些错误或许并未违反设计规则,而是可能与实际线路图不一致版图中少连了一根铝线这样的小毛病对整个芯片来说都可能是致命的,所以编辑好的版图还要通过LVS验证。

      同时,编辑好的版图通过寄生参数提取程序来提取电路的寄生参数,电路仿真程序可以调用这个数据来进行后模拟 第5章 版图设计 5.3.1 版图设计规则检查 版图设计规则检查(DRC)    1.基于基于Diva的方式的方式  该方式操作比较简单,但效率不高,所以不推荐使用,这里只作简单说明  其操作步骤如下:  (1)将DRC命令文件放在工作目录中,然后打开需要做DRC的LayoutView,在弹出的窗口中选Verify→DRC  (2)在弹出的DRC对话框中单击SetSwitches,在SetSwitches对话框中选择all 第5章 版图设计   (3)单击OK按钮,在DRCRules对话框中填DRC命令文件名单击DRC对话框中的OK按钮,DRC的结果会在CIW窗口显示若有错误,在版图上也会出现许多对角连线的矩形框要查看错误种类,单击Verify→Markers→Explain,此时鼠标指针处有一个小方块,选中连线中的其中一条,就会弹出一个窗口,说明错误类型  (4)修正所有错误,直至DRC完全通过 第5章 版图设计   2.基于基于Dracula的方式的方式  DraculaDRC是整个验证系统的主要部分,推荐使用该方式。

      它在版图几何图形上执行检查,确保版图数据能够进行生产,并在给定的集成电路工艺技术上得到高成品率1)DraculaDRC的特点  (1)丰富的设计规则支持全方位的检查(间距、包距、宽度、长度、面积和叠合)  (2)连接规则定义和强大的选择功能的结合,简化了最复杂集成电路的设计规则  (3)操作结果可被传递到进一步处理的后续检查中 第5章 版图设计   2)DraculaDRC操作步骤  (1)在~/home/project/目录下创建verify目录,并在verify目录中分别为DRC和LVS创建目录drc和目录lvs  (2)准备DRC和LVS命令文件  [例]上华提供的DRC和LVS文件为csmc06.drc和csmc06.lvs,将它们分别上传至verify中的目录drc和目录lvs中  (3)准备版图的GDS文件:CIW→File→Export→StreamOut   第5章 版图设计   [例]选择CIW→File→Export→Streamout,在弹出的窗口中用LibraryBrowser选择xd008[JP2]库中的Inverter(View选择layout),作如图5-55所示的设置(注意将RunDirectory[JP]设置为verify/drc),然后点击OK按钮,导出成功后,会出现如下提示:     PIPOSTRMOUT(PID=ipc:1)completedsuccessfully,seelogfile′/PIPO.LOG′formoreDetails 第5章 版图设计 图5-55 ExportStreamout设置 第5章 版图设计   (4)修改DRC的命令文件。

        [例]修改DRC的命令文件(如csmcO6.drc)的前几行输入/输出,指明要检查的GDS文件的路径名称:;--------------------------;…………………………………………………………….INPUTGDS2INDISK=inverter.gds(需修改);…………………………………………………………….ERRORGDS2OUTDISK=out.sf;…………………………………………………………….TOPCELLNAMEPRIMARY=inverter(顶层元件)(需修改);…………………………………………………………….然后将KEEPDATA=SMART改为KEEPDATA=YES(已经修改): 第5章 版图设计   (5)在控制台下,进入目录cd~/project/verify/drc,然后键入PDRACULA(一定要大写),启动命令行界面  (6)在该界面下,键入/gcsmc06.drc  (7)如果编译无误,键入/f,退出PDRACULA界面并生成文件,此即真正用来进行DRC检查的文件  (8)在控制台下,执行命令/ 第5章 版图设计   (9)检查完毕,在版图窗口打开Inverter的Layout,选择Tools→DraculaInteractive,出现DRC菜单选项,选择其下的Setup,对检查后得到的数据文件路径进行设置,如图5-56所示。

      如果有DRC错误,则跳出几个显示窗口,可以通过它们定位错误点击ViewDRCError窗口上的FitCurrentError可定位当前错误RulesLayerWindow显示该错误违反了哪一条设计规则,可根据该规则到DesignRule中去查询改正错误的方法 第5章 版图设计 图5-56 DRC菜单设置 第5章 版图设计   (10)修改完毕,重新输出GDS文件,再次检查,直至无误,点击DRC→Quit退出DRC检查  注意:xWin32或Tarantella或其他通过PC连接到工作站的用户,在运行Setup,弹出以上窗口之后,请确保DRCOptions→Explain=InCIW,如图5-57所示 第5章 版图设计 图5-57 Explain项设置 第5章 版图设计   3.DRC常用命令常用命令  (1)命令格式:  Type1:    Cmd[mod]lay1[lay2]condvalue{trapfile}{outputnamelay#{num#}}  Type2: Cmd[mod]lay1[lay2]sel_condvaluetrapfile 第5章 版图设计   width:宽度。

       length:长度 area:面积 plength:一系列连接边缘的长度 size:尺寸 enc:包含(内沿到外沿的间距) ext:外离(外沿到外沿的间距) select:选择 int:嵌入(内沿到内沿的间距) rectchk:矩形检查 coverage:覆盖 第5章 版图设计  例例:rectchk[r]mt1widthne3lengthgt6;;risormetalrectanglewidthmustbe3andlengthcannotbelongerthan6  coverage:densitycheck例:sizebulkby2.0myarea  coveragemt1lt0.25010boundmyareaerrwin  genrecterrwinxylem2.03.0xygap1.01.2  ;;checkmyareamt1densitylessthan20perandwindowsize50,stepsize10  ;;generates2.0x3.0rectanglesoverlaperrorarea 第5章 版图设计 (3)命令选项(见图5-58):  C,C′,N,N′,P,P′,R,R′,T,O,E,S,L,X,Y,H  C&C′:平行和不平行。

        N&N′:不同节点和相同节点  P&P′:突出和不突出  R&R′:错压和区边界  T:接触  E:包含  O:重叠  S:方区  L:长度  X&Y:x轴方向和y轴方向  H:凹口 第5章 版图设计 图5-58 各层之间的间距 第5章 版图设计   (4)逻辑运算符(见图5-59):  NOT:非 AND:和 OR:或 XOR:异或 第5章 版图设计 图5-59 NOT逻辑运算NOT示意图 第5章 版图设计  (5)关系运算符(见图5-60): Outside:外部touch:接触cut:切割overlap:重叠inside:内部enclose:包含hole:开孔vertex:顶点label[r]:标注angle[45]:角度 第5章 版图设计 图5-60 关系运算示意图 第5章 版图设计   (6)逻辑关系符: LT:大于 LE:大于等于 EQ:等于 NE:不等于 RANGE:范围 GT:大于 GE:大于等于 SELLT:小于(有输出) SELLE:小于等于(有输出) SELRA:范围(有输出) SELGT:大于(有输出)。

       SELGE:大于等于(有输出) SELEQ:等于(有输出) SELNE:不等于(有输出) 第5章 版图设计 5.3.2 版图电气规则检查 版图电气规则检查(ERC)  通过DraculaERC检查版图的电气规则错误,诸如开路、短路和悬浮节点等该工具还检查无效的器件和错误的注入类型、衬底偏置、电源/地的连接ERC检查到短路错误后,能将错误提示局限在最短的连接通路上它能隔离出短路发生的区域,从而避免在所有信号中费时地寻找短路的过程,确保设计者设计的芯片一次流片成功  ERC文件一般存放在./data/runsets目录下ERC的主要功能就是查出有无器件悬空或者短接的错误 第5章 版图设计   ERC的操作步骤如下:  (1)写GDS在icfb窗口点击File→Export→Stream,即弹出StreamOut窗口,在窗口中用户自己可以设置各参数  (2)打开runsets目录下的ERC文件,在INDISK项中输入GDS文件所在目录,在PRIMARY项中输入需要检查的文件名,然后存盘退出(:wq)点击右上方的Options按钮,即弹出子窗口 第5章 版图设计   (3)在cmdtool窗口中依次键入以下命令(注意大小写):  PDRACULA /g../runsets/c32044.erc /f 第5章 版图设计   (4)查错并改正。

      检查结果将会出现在*.erc文件的PRINTFILE项中打开查看检查结果,如果有错,检查方法如下:  在VirtuosoEdit窗口菜单中点击Tools→Inquery,启动图形界面继续点击此窗口中的DRC→Setup,即弹出DRCSetup窗口   在DraculaDataPath中键入./data/erc,点击OK按钮,即会弹出四个窗口:DLW、ReferenceWindows、ViewDRCError和RulesLayerWindow  在RulesLayerWindow窗口中选择错误代号,并在版图上按F键,错误即会自动显示在版图上  如有错,改完错后须将写GDS以后的步骤重复一遍,直至修改完所有错误 第5章 版图设计 5.3.3 电路网表匹配检查 电路网表匹配检查(LVS)     1.DraculaLVS的特点的特点  (1)可以在设计者定义的冗余范围内比较晶体管、电容、二极管和电阻的器件尺寸,快速隔离所有连接性问题  (2)通过短路识别和隔离的特点快速定位诸如电源和地的短路  (3)黑盒子功能为处理设计或引入宏块中预先验证过的部分提供很大的灵活性 第5章 版图设计   (4)接受一系列网表和版图格式,因而免除了网表和版图数据库的转换,缩短了验证准备时间。

        (5)与工艺无关的特性使版图参数提取器适用于所有工艺,包括CMOS、Bipolar、BiCMOS和GaAs 第5章 版图设计     2.DraculaLVS操作步骤操作步骤  (1)把版图的GDSⅡ文件导出到含有LVS规则文件的目录  (2)把单元的hspice网单文件导出到含有LVS规则文件的目录  (3)更改LVS规则文件中的INDISK和PRIMARY值  (4)在控制终端的含LVS规则文件的目录下输入:  %LOGLVS %:cir网单文件名 %:con原理图单元名 %:x%PDRACULA %:/getLVS规则文件名 %:/fi% 第5章 版图设计     3.查看查看LVS结果结果    1)设置路径  选择LVS→Setup,弹出如图5-61所示的对话框,其中DraculaDataPath为LVS运行的目录,CDLRunDirectory为loglvs运行的目录当然只填LVS目录即可 第5章 版图设计 图5-61 LVSSetup对话框 第5章 版图设计   ViewLVS窗口为LVS常用窗口,如图5-62所示,其中Number(1-2)表示ERRORDiscrepancy的数目,输入节点名或点击Next、Prev可高亮度显示节点,也可使用CursorPick从版图中点选节点来高亮度显示。

      第5章 版图设计 图5-62 LVS相关设置 第5章 版图设计   2)查看Short  选择Short→Setup,填入LVS运行的目录,点击StartNewRun,出现如图5-63所示对话框  点击OK或Apply按钮,可以高亮度显示短路的节点,并加以标识,以帮助查找;或直接输入短路的节点名进行查找 第5章 版图设计 图5-63 查看短路的节点 第5章 版图设计   注意:在出现重新运行DraculaLVS后,无法抓取到NetName的情况时,或Short→Setup、Short→StartNewRun无法运行时,请将CommandFile(或称RunSetFile)中的Cont语句替换成Connect后再运行一次Dracula,如图5-64所示,之后再Setup一次(通过Short→StartNewRun可直接修改*.inp文件,即可运行) 第5章 版图设计 图5-64 将Cont替换为Connect 第5章 版图设计     4.DraculaLVSCommandFile命令命令    1)定义器件  ELEMENTMOS{[type]}layer-alayer-blayer-c{layer-d};;devicelayer+g+s/d+sub  ELEMENTCAP{[type]}layer-alayer-blayer-c{layer-s}  ELEMENTRES{[type]}layer-alayer-b{layer-d}  ELEMENTBJT{[type]}layer-alayer-blayer-clayer-d{layer-s}  ELEMENTDIO{[type]}layer-alayer-blayer-c{layer-s}  ELEMENTLDD{[type]}layer-alayer-blayer-clayer-d{layer-e}  ELEMENTPAD{[type]}layer-alayer-b  ELEMENTdevicelayer-alayer-b{layer-c}{layer-d}{layer-e} 第5章 版图设计   这些命令用来组合不同类型的器件,从器件层开始,接着说明器件的端子。

      为了识别特殊的器件,还会常用到select命令,比如lab[r]diode、cutres等用法 第5章 版图设计   2)设定参数        Parameterres/cap{[type]}value1{value2}  该命令类似LPE的attribute,其中cap有value1、value2,用以说明面积及边长对电容值的影响 第5章 版图设计   3)节点信息传输命令  LVS主要是节点信息传输的过程,在connect-layer中从下到上的说明可用于传导的层次,并且使用and、not命令时会自动传递信息connect命令用来说明层次间的传递stamp命令用于没有在connect/connect-layer中说明的层的信息传递例如:  Connectlayer-alayer-bBYcont-layer  Stampstamped-layerbystamping-layer{output{[option]}c-namel-num{d-num}}  Connect-layer=layer1layer2… 第5章 版图设计 5.4 版图寄生参数的提取与后仿真 版图寄生参数的提取与后仿真 5.4.1 版图寄生参数的提取 版图寄生参数的提取  寄生参数的提取是指根据版图的几何特征(金属块、掺杂区的面积、周长及与周围的布线的间距),估计出寄生的电阻和电容值,然后把这些寄生参数反标回电路中进行模拟,以优化电路设计。

        这里主要介绍DraculaLPE(LayoutParasiticExtraction),即版图寄生提取首先介绍LPE中用到的Dracula命令,接着是LPEDraculacommandfile的例子,最后是实例操作与结果分析  LPE提取过程大概分三个阶段:①LVS比对与器件匹配;②器件创建与提取;③输出格式文件LPE应该是有选择性的,对整个芯片来说,LPE会产生很大的网表,同时也消耗大量的仿真时间,所以选择有需要的部分进行提取是十分有用的 第5章 版图设计     1.LPE常用常用Dracula命令命令 ·PARSET=pname,param1,param2,…,paramn  该命令命名一个参数集合,参数可以是几何单元或者数值参数在提取参数时,LEXTRACT和EQUATION会用到这些参数通常参数集合名称最长为4个字符或数字的组合,开头必须为字母,不允许出现MOSD、DIOD、DIO2、DIO3、CAPD、CAPF、BJTD、RESD,默认为CAPO集合最多包含18个参数,前10个用于SPICE,后8个用于LPE 第5章 版图设计   参数可以有以下三种类型:  (1)几何单元(线段、多边形等),提取的值与每个LEXTRACT中的layer-a(devicelayer)相关,这些值不能被等式所改变。

      几何单元参数的具体含义如下:  ANG:总的内角  AREA:面积  PERI:周长  W1:对于第2层,节点1重叠的周长  W2:对于第2层,节点2重叠的周长  OVAR:对于第2层重叠的面积  OVPR:对于第2层重叠的周长  WIDT:平行层上几何单元间的距离  DEPT:平行的几何单元间的距离  TPR:接触的几何单元的周长产生的寄生效应  CLL:与TPR相关的寄生效应总和 第5章 版图设计   (2)保留字参数,这些参数与特定的device相关,其值可以使用EQUATION命令来改变保留字参数的含义如下:  W:MOS管、三极管和电阻的沟道宽度  L:MOS管、三极管和电阻的沟道长度  AD/PD/AS/PS:MOS管  A1/A2/A3:二极管的面积  P1/P2/P3:二极管的周长  C:电容值  R:电阻值  CA:三极管集电极面积  CP:三极管集电极周长  BA:三极管基极面积  BP:三极管基极周长  EA:三极管发射极面积  EP:三极管发射极周长   K:寄生电容,属性2 第5章 版图设计   (3)用户自定义参数,最长为四个字符或数字的组合,开头必须为字母。

       ·MODEL=(layout-element,model-name,…)  连接element与仿真model的名称,这些名称通过LPE以SPICE格式输出 ·UNIT=(parameter-name,parameter-unit,…)  给定单位例如:UNIT=capacitance,pfarea,pperimeter,uresistance,k ·PREFIX-PARASITIC=(parasitic-element,prefix,…) 第5章 版图设计   指定LPE输出SPICE或CDLnetlist中寄生device名称的前缀例如:  PREFIX-PARASITIC=CAP,CCDIO,DIDRES,RAN·SUBCKT-NAME=name  指定LPE输出SPICE文档中topsubcircuit的名称,如果没有指定,将默认为LPESELECT中输出文件的名称·LUMPCAP=YES/NO/{subtype1,factor1,…}/{ALL,factor}  打开块状电容提取模式REDUCE=YES将自动打开该命令  其他相关命令有LPE-QUERY、SELECT-MODE、NODE-FILE、NODE-SELECT。

      第5章 版图设计  ·LEXTRACTparsetlayer-a{layer-b}by[element[type]/parasitic[type]/node]{pfname}{&}  从device(BJT、CAP、DIO、MOS、RES)的第一或第二层提取图形单元提取参数的多少由parset定义的参数集合来决定第一层必须是device层或者用DEVTAG命令标识过的devicenumber层定义第二层可以增加提取第一层时的参数DEVTAG、LEXTRACT、LVSCHK、LPECHK等命令语句需要分类集合,否则Dracula也不会报错,但结果可能有误LEXTRACT通常与EQUATION连接起来使用 第5章 版图设计  ·EQUATIONKparameter=FORTRAN-Expression{&}  等式定义不要在语句中使用tab字符,否则将导致LPEXTR失败K为边缘系数,应用于同一层或不同层之间的边缘参数提取仅可使用DEPT或WIDT作为参数等式可用函数包括LOG、EXP、MAX、MIN、SIN、COS、TAN、ASIN、ACOS、ATAN、SINH、COSH、TANH、SQRT、LOGIO。

      等式最长为80个字符   ·CALCULATERATIONFILEparExpression计算比重,从COMPUTE命令扩展而来检查“天线效应”时还会同时使用LEXTRACT和CHKPAR命令 ·CHKPAR[option]infilelayer-arelationvalue1{value2}[{outlayer}{outputc-namel-num}{data-type}] 第5章 版图设计   从COMPUTE命令结果中选取一组节点输出结果到log文档,并以LISTERROR=YES/NO作为开关选项   ·PARAMETERCAP[type]value-avalue-b  输入单位面积(value-a)和单位周长(value-b)的值LVS提取电容值,与ELEMENTCAP连接使用 ·PARAMETERRES[type]value  输入单位电阻值与ELEMENTRES连接使用 ·定义器件及寄生器件(其参数见表5-4、表5-5) 第5章 版图设计   ELEMENTMOS{[type]}layer-alayer-blayer-c{layer-d};;devicelayer+g+s/d+sub  ELEMENTCAP{[type]}layer-alayer-blayer-c{layer-s}  ELEMENTRES{[type]}layer-alayer-b{layer-d}  ELEMENTBJT{[type]}layer-alayer-blayer-clayer-d{layer-s}  ELEMENTDIO{[type]}layer-alayer-blayer-c{layer-s}  ELEMENTLDD{[type]}layer-alayer-blayer-clayer-d{layer-e}  ELEMENTPAD{[type]}layer-alayer-b   ELEMENTdevicelayer-alayer-b{layer-c}{layer-d}{layer-e}  PARASITICCAP[R][subtype]deviceLayertermLayer1termLayer2 第5章 版图设计   PARASITICRES[type]layer-alayer-b{layer-c}  PARASITICDIO[type]layer-alayer-blayer-c{layer-d}{layer-e}·标识devicelayer  DEVTAGelement[type]layer-blayer-c  (某一定义了的三极管器件标识)  DEVTAG[L]layer-alayer-blayer-c  (某一中间层标识)  DEVTAG[S]BJT[type]layer-dlayer-e  用devicelayer将devicelayernumber传递给device的其他层。

      第5章 版图设计  ·ATTACHdevice-subTypeparameter-file{parset-name}{&}  使用LEXTRACTNODE选项可以提取source/drain参数,使用ATTACH命令将这些参数分配给指定的MOS或LDD ·ATTRIBUTECAP  对于面积和周长电容:  PARASITICCAP{type}layer-alayer-blayer-c  ATTRIBUTECAP{type}value-avalue-b 第5章 版图设计   对于同一层的寄生电容:  PARASITICCAP{type}layer-alayer-alayer-a  ATTRIBUTECAP{type}value-a1value-b1  ATTRIBUTECAP{type}value-a2value-b2  对于同一层或不同层的寄生电容:  FRINGECAP{type}layer-alayer-b  ATTRIBUTECAP{type}value-a1value-b1  ATTRIBUTECAP{type}value-a2value-b2  对于底层寄生效应产生的重叠电容:  PARASITICCAP{subtype}device-layerterminal-layer1terminal-layer2ATTRIBUTECAP{subtype}areaCoeffperimCoeffdepthRangesidewallCoeff  将从工艺所得的数据指定给PARASITICCAP或FRINGECAP命令,并运用于等式计算。

      第5章 版图设计  ·ATTRIBUTERES[type]sheet_res_value{smashResValuemaxResValue}  将从工艺所得的单位电阻值指定给PRASITICRES命令,单位不会受UNIT命令影响·LPECHK…  进行LPE提取,其选项与LVS相似,可参考LVSCHK选项 ·LPESELECT{[options]}element{[type]}{GE/GTvalue-a}{RANGEvalue-avalue-b}{CORNER=n1}{OUTPUTc-name{l-num}}{&} 第5章 版图设计   选择一组element以CDL或SPICE格式输出常用选项含义如下:  A:输出电容全部节点,包括P/G节点  C:检查交叉耦合电容  N:使用SPICE输出格式  K:保持并联结构  S:输出时保持schematic的名称  Y:输出device的X、Y坐标 第5章 版图设计 图5-65 一个inv的版图    2.LPE命令文件命令文件   下面用一个实例来进行演示首先创建一个inv的layoutcell,如图5-65所示 第5章 版图设计   以下是根据这个invcell制作的LPE命令文件,因为只有一些简单的逻辑单元,所以文件省略了许多设定,其中的值只是随意选择并不作参考。

      ; ; +++++++++++++++++++++++ +; ; + TOOL : dracula 4.8 +; ; + TITLE: LPE CMD TEST+; ; + CELL : INV +; ; + AUTHOR: NFMAO +; ; + DATE : 2005 - 04 - 22+; ; + FROM:    +  ; ; ++++++++++++++++++++++++ +  *des 第5章 版图设计    primary = inv ; ; topcell   indisk = ../db/inv.db ; ; database   printfile = inv ; ; log file named    program - dir = $drac/     keepdata = smart; inquery; yes     error - path - wid = 5.0 mic     check - path = center - line     summary - only = yes  ; cnames - csen = yes  ; text - pri - only = yes     text - level = 0     status - command = "time; du"     abort - p - g - short = yes; no; all     power - node = VDD, vdd 第5章 版图设计      ground - node = VSS, vss     schematic = ../loglvs/inv.s ; ; loglvs output file     model = mos[n], n mos[p], p ; ; lpe model     unit = area, p perimeter, u ; ; unit     lumpcap = yes ; ; lump cap model     parset capa area peri ovpr c tpr cll ; ; parameters     parset cdla area peri  *end  *input - layer     ; pwell= 0     pldd= 1     ; nldd = 2     contac= 3 第5章 版图设计      mt1= 4 text 4 texttype 0 attach mt1     thinox= 5     nwel l= 6     poly= 8     substrate = bulk 99     connect - layer = psub nwell pdiff ndiff poly mt1  *end  *oper  ; ; ++++++++++++++++++++++++++  ; ; + define element for lvsck&lpechk +  ; ; ++++++++++++++++++++++++++     not bulk nwell psub ; ; define sub 第5章 版图设计      and poly thinox gate     and gate pldd pgate     not gate pldd ngate ; ; gate difference       not thinox gate diff     and diff pldd pdiff      not diff pdiff ndiff ; ; diffusion difference       and contac pdiff pcont     and contac ndiff ncont ; ; contact difference       connect mt1 poly by contac 第5章 版图设计     connect mt1 pdiff by contac    connect mt1 ndiff by contac    connect ndiff nwell by ncont    connect pdiff psub by pcont ; ; connect channel     element mos[n] ngate poly ndiff psub   element mos[p] pgate poly pdiff nwell ; ; define mos element    ; ; ++++++++++++++++++++  ; ; + define parasitic devices +  ; ; ++++++++++++++++++++ 第5章 版图设计      and mt1 poly mpoly     and mt1 ndiff mndif     and mt1 pdiff mpdif     and mt1 nwell mwell     and mt1 psub mpsub     and poly nwell mowel     and poly psub mosub       not mt1 poly npoly     not mt1 ndiff nndif     not mt1 pdiff npdif     not mt1 nwell ntwel     not mt1 psub npsub     not poly nwell nowel     not poly psub nosub 第5章 版图设计      parasitic cap[a] mpoly mt1 poly     attribute cap[a] 0.00005 0.00005     parasitic cap[b] mndif mt1 ndiff     attribute cap[b] 0.00005 0.00005     parasitic cap[c] mpdif mt1 pdiff     attribute cap[c] 0.00005 0.00005     parasitic cap[d] mwell mt1 nwell     attribute cap[d] 0.00005 0.00005     parasitic cap[e] mpsub mt1 psub     attribute cap[e] 0.00005 0.00005     parasitic cap[f] mowel poly nwell     attribute cap[f] 0.00005 0.00005     parasitic cap[g] mosub poly psub     attribute cap[g] 0.00005 0.00005 第5章 版图设计   ; ; ++++++++++++++++ +  ; ; + extract parameters +  ; ; +++++++++++++++++       ; ; capo c=areacoeff*area+perimCoeff*(peri - tpr)+cll     lextract capa mpoly npoly by cap[a] capm1 &     equation c=1.0e - 16*area+1.0e - 16*(peri - tpr)+cll      lextract capa mndif nndif by cap[b] capm2 &     equation c=1.0e - 16*area+1.0e - 16*(peri - tpr)+cll      lextract capa mpdif npdif by cap[c] capm3 &     equation c=1.0e - 16*area+1.0e - 16*(peri - tpr)+cll     lextract capa mwell ntwel by cap[d] capm4 & 第5章 版图设计   equation c=1.0e - 16*area+1.0e - 16*(peri - tpr)+cll  lextract capa mpsub npsub by cap[e] capm5 &  equation c=1.0e - 16*area+1.0e - 16*(peri - tpr)+cll  lextract capa mowel nowel by cap[f] capm6 &  equation c=1.0e - 16*area+1.0e - 16*(peri - tpr)+cll  lextract capa mosub nosub by cap[g] capm7 &  equation c=1.0e - 16*area+1.0e - 16*(peri - tpr)+cll ; ; extract node info attach mos devices  lextract cdla pdiff by node cdlp1  lextract cdla ndiff by node cdln1  attach mos[p] cdlp1 &  attach mos[n] cdln1 第5章 版图设计  ; ; lpe check   lpechk[s] printline=1000   ; ; output spice format file SPICE.DAT  lpeselect[s] mos corner=0 &  lpeselect[s] cap gt 0 output spice *end 第5章 版图设计   具体运行命令如下:  %pdracula   : /g    : /f     J>lpeinv.log 第5章 版图设计     3. 结果分析结果分析  这部分是对输出结果的分析。

      SPICE.DAT是输出的SPICE格式的文件, 其中设定了输出信息为器件信息及大于零的寄生电容信息 为了进行HSPICE仿真, 将SPICE.DAT复制为invaft.cir, 其中要将 .subckt及 .ends进行注释, 然后将loglvs的网表复制为invbef.cir文件, 然后进行仿真, 并与之前的电路仿真进行对比   SPICE.DAT & invaft.cir  *  * CADENCE/LPE SPICE FILE : SPICE   *        DATE : 21 - APR - 2005 第5章 版图设计   *  ******  ****** MOS XTOR PARAMETERS FROM : 7MOSXREF  ******  *  *.GLOBAL VSS VDD   *  .SUBCKT SPICE OUT IN   *  ****** CORNER ADJUSTMENT FACTOR = 0.0000000  ******  MI01 OUT IN VSS VSS N L=0.65U W=1.25U AD=1.32P PD=4.61U AS=5.08P PS=11.67U 第5章 版图设计   MI02 OUT IN VDD VDD P L=0.65U W=1.25U AD=1.31P PD=4.60U AS=4.68P PS=11.67U  *  * - - - - - TOTAL # OF MOS TRANSISTORS FOUND : 2  * - - - - -        COMMENTED : 0  *  ******  ****** CAPACITORS PARAMETERS FROM : 7CAPXMER  ******  *  *   C1 OUT VSS 1.84268E - 15  C2 IN VSS 5.49047E - 15 第5章 版图设计   *  * - - - - - TOTAL # OF CAPS FOUND : 2  * - - - - - COMMENTED : 0  *  .ENDS    Invbef.cir  .param  .global vdd vss  ***********************************  ***********************************  .subckt inv out in   mi01 out in VSS VSS N L=0.50U W=1.20U  mi02 out in VDD VDD P L=0.55U W=2.40U  .ends  ***********************************  *********************************** 第5章 版图设计   以下是Hspice仿真文件:  Invbef.sp & invaft.sp  simulation for inv   .option node post  .MODEL N NMOS LEVEL = 1 CGDO=.2N CGSO=.2N CGBO=2N  .MODEL P PMOS LEVEL = 1 CGDO=.2N CGSO=.2N CGBO=2N  .include invaft.cir   **.include invbef.cir  .tran 20ns 60ns  .temp 25  .op  vin in 0 pulse(0, 5v, 10ns, 5ns, 5ns, 15ns, 50ns)  vdd vdd 0 5.5v  vss vss 0 0  .end 第5章 版图设计 图 5 - 66 仿真结果 第5章 版图设计 5.4.2 版图后仿真版图后仿真  后仿真(Post Layout Simulation)的最主要作用在于验证综合器的综合结果是否与设计意图一致。

      仿真时, 把综合生成的延时文件反标到综合仿真文件中去, 可估计逻辑门延时带来的影响 它是在Layout通过了DRC和LVS后才开始做的, 通过模拟提取出来的网表可以精确地评估电路的速度, 以及寄生参数带来的影响 后仿真的结果如果不能满足要求, 就要重新调整器件参数甚至电路的形式 第5章 版图设计   后仿真的操作步骤如下:   (1) 将在LVS中所使用的schematic文件, 如driver生成它的symbol view, 如图5 - 67 所示 (2) 调用上面生成的symbol, 建立一个新的仿真schematic图, 如图5 - 68所示调用Analog Artist并模拟这个线路, 这样所得到的结果是理想波形 (3) 版图提取Extractor与LVS版图提取的不同点是: LVS版图提取时只要提取基本电路, 而在这里还要同时提取寄生电阻和电容 Extractor的设置情况见图5 - 69 第5章 版图设计 图 5 - 67 生成的symbol view 第5章 版图设计 图 5 - 68 仿真用的schematic视图 第5章 版图设计 图 5 - 69 Extractor的设置 第5章 版图设计 (4) 在Analog Artist中重新设置, 进行后模拟。

      具体设置方法如下: 在Setup菜单中选Environment项, 查看Switch View List这一栏表示的模拟器要模拟的文件类型 默认的设置里面没有Extracted这个文件类型, 要把它加进去, 而且要加在schematic之前, 如图5 - 70所示 第5章 版图设计 图 5 - 70 Environment选项的设置 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.