模拟集成电路设计实习培训内容介绍(共48页).doc
-
资源ID:15107560
资源大小:13.60MB
全文页数:48页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
模拟集成电路设计实习培训内容介绍(共48页).doc
精选优质文档-倾情为你奉上模拟集成电路设计实习培训内容介绍培训目的经过本培训,学员将会学到在模拟集成电路设计过程中的绝大部分环节。1. 学会使用数模混合集成电路设计EDA工具进行简单的模拟集成电路设计的流程,包括Cadence的Virtuoso原理图输入、版图设计,Cadence的Spectre电路仿真,及Mentor Graphics的Calibre版图规则检查(DRC)、电路图版图一致性检查(LVS)。2. 学会使用三大常用的仿真方式(DC,AC,以及Transient)来对电路进行性能的验证与设计参数的调整培训内容本培训首先设计一个运算放大器,在该放大器中采用了一个理想的电流源做偏置。接着设计一个带隙基准源(Bandgap reference)来提供这个运算放大器中用到的电流源,然后对整个电路进行仿真验证。整个电路Lab_top电原理图以及仿真激励如下图所示。 最后,参加培训的学员要求对所设计的Bandgap reference进行版图设计以及DRC、LVS检查,时间充裕的学员进一步设计运算放大器的版图及对其进行DRC/LVS的检查。图 1-0 Lab_top 原理图上图中的运算放大器(opam)电路如下图所示,值得注意的是,该运算放大器需要一个current sink做偏置,该current sink由上图中的NM1来提供。其中的bandgap电路如下图。Schematic 到layout的Quick start一、Schematic (opam)1. 运行虚拟机vmware;2. 在虚拟机界面中打开并运行CentOS.vmx;3. 用户登陆,登录名:eda,登录密码:;4. 界面按鼠标右键->选Open Terminal进入eda根目录下的命令行界面;5. 输入csh并回车;6. 输入icfb&命令后台运行Cadence的工具进入icfb界面。图1-1 icfb的主界面在icfb中,任何一个电路,不论是已经存在的可以引用的库,还是用户新建立的一个电路,都是一个library. 一个library一般有若干个Cell(单元电路),每个cell由多个CellView组成,CellView可以是schematic(电路原理)和layout(版图)或symbol(符号),或者其他Cadence工具所调用的hspiceS等。Cadence中有两种库library。一种是工艺库library,是由工艺厂给的,对应于工艺厂的某种工艺(如chart0.35等),里面包含一些做好的单元电路Cell,供设计者调用。另一种是项目库library,是由设计者设计时创建的。在Cadence中,每新建一个库,都会创建一个与库名字相同的目录,库的管理某种意义上说就是目录及文件的管理。掌握库文件的情况:在Cadence中管理库的界面是library manager,而各个库在电脑中所在的位置则可以从library path editor界面查看。图1-1 tools菜单->Library Path Editor进入(图1-2:工艺库项目库图1-2 library path editor在这里,我们可以看到,library manager当中的所有library都是在这里“登记”过的,在这里删除这些“登记”记录,并不会真的删除这些library,只是会使得你无法再引用它们,如果想要引用列表中没有的库,只需要在这里增加一条记录,设定好名称和路径,就可以了。所有的这路径信息是保存在那里的呢?看看自己启动cadence的目录,下面是不是有个cds.lib?这些库的路径信息就是保存在这个文件当中的,此外cadence还会在启动目录下面生产一系列的log文件,所以,从哪个目录启动icfb这一点也是很重要的,建议在自己的目录下面创建一个Works目录,每次都先进入这个目录再启动icfb,当然,实际的项目开发工作中,可能不同的项目要引用的library是不同的,可以选择当前项目存放路径作为启动icfb的目录。我们已经为本次培训设定好了一个工艺库chrt35rf及一个做参考用的项目库lab_practice_demo现在我们创建一个新的项目库文件lab_practice:从icfb的主菜单(图1-1)中的Tools菜单->Library Manager,进入Library Manager窗口. 如图1-3所示,File->New->Library,在name栏中填入lab_practice,在director栏中选路径 /home/eda/wzh_lab/projects(即将lab_practice库创建在此目录下)。点击ok,进入选择工艺库界面,选Attach to an existing techfile,点击ok,在Technology Library栏中选chrt35rf作为引用工艺库。一个新的项目库lab_practice就建好了,可在library manager中看到这个项目库,如图1-3左下所示。创建新项目库图1-3 Library manager在这里,可以看到左边第一栏当中有很多的“库”,包括由自己刚才建立的那个lab_practice库,现在我们看到了刚刚建立的库lab_practice也在左边的库列表中,里面没有任何cell(单元电路)。我们可以新建一个cellview,首选选中lab_practice这个库,然file菜单->new->cellview图1-4 new cellview第一项是Library name,也就是这个Cell 应该属于那个库,这个一定要注意选中我们刚才建立的“lab_practice”。(如果是从图一的File进入,默认选项可能不是lab_practice),第二项是单元名称,我们填入opam,第四项tool中选择composer-schematic,第三项view name中就会出现schematic,点击ok进入图1-5所示Virtuoso软件的电路原理图绘制界面:图1-5 schematic绘制界面电路图的绘制主要是用界面左方一排工具,添加元件,点击左边第10个工具,是instance,点击出现了一个界面:图1-6 add instance点击browse从现成的库中选择一个p管单元和n管单元,在我们的机上,是在chrt35rf 的library当中。图1-7 Browser instance选好之后,在图1-8中填入names(名称) PM0,回车,在schematic当中,用鼠标点一下任何一个地方,将会出现一个P管,多次点击可出现多个P管,如图1-9所示:图1-8 器件属性图1-9 arrange instance用鼠标左键点击一下器件的中间,可以选中该器件,然后用鼠标的中键按住该器件,从弹出的菜单中选择Properties,或选中器件后按“q”,可以设置它的宽、长等属性,如图1-10所示:图1-10 instance edit用同样的方法放置一些n管(nmos)以及一个电容(CPIP035)。添加元件时可以点击sideways使元件镜像放置(图1-11)。图11 元件镜像放置如果是对已经放好的元件进行镜像,则按“m”,移动元件,再按“F3”,点击sideways(左右镜像)或upside Down(上下镜像)继续instance一个vdd,一个gnd,(注意,这两个cell的库不在chrt35rf库那里,而在analogLib中)。图1-12 vdd和gnd从analogLib中调用现在,全部的器件都已经从库里面调出来了,从左边的工具栏中选择Wire工具,然后用鼠标连线,为什么用“连”而不是用“画”呢,因为这个编辑器是不允许随地“画”线的,步骤应该是:先用鼠标选择wire工具,再点击一下器件的连接点A,然后点击另一个器件的连接点B,这样就可以用wrie把两个器件连接起来了,照此方法把电路连接起来,并接上电源和地。Wire (连线)Check & Save图1-13连线及检查保存用鼠标中键按住连接栅极的那根线,从出来的菜单中选择Add name,在弹出的对话框中的Names填入input,用同样的方法,把输出的那根线命名为output,然后从Design菜单当中选择,Check and Save ,出现一个对话框,说有一些 warnings 这是因为有一些线没有接上.电路参数VDD=3.3V C0=1.0118pF Ibias=54uA W1=18.5um L1=0.35um W2=1.1um L2=0.6um W3=5.0um L3=0.7um W4=17.6um L4=3.0um W10a=1160um L10a=20um W10b=1160um L10b=20um由于M10a和M10b的宽度W10a、W10b超过工艺规定的最大器件宽度100um,在输入1160um时需采用叉指结构。在Number of fingers栏中填上20,在宽度栏中填上1160um,这样每个finger的宽度为58um,小于规定的100um。或者Number of fingers栏还填1,宽度栏中填58um,但在multipliers栏中填20,即变成20个宽度为58u MOS的并联。为了能对电路进行仿真,还需要加上激励源,所选库及元件类型参考图1-14。各个电流电压值为:电源V4直流3.3 (后面的V系统自动加,不用写)共模电平VCM 直流1.5直流偏置电流Ibias 直流54u (后面的A系统自动加,不用写)差分输入负端V0Ac magnitude 0.5, amplitude 0.5m, Frequency 1K差分输入正端V1 Ac magnitude 0.5, amplitude 0.5m, Frequency 1K,正负端与V0相反放置这里看上去好像电压源并没有和电路直接连在一起,但是由于系统中所有标记相同的点电位都相同,所以,图中的这种接法等效于直接把V4接到电路的正负极。V0与V1AnalogLib/vsinVCMAnalogLib/vsource/DCV4AnalogLib/vsource/DCIbiasAnalogLib/isource/DC图1-14 加入激励源后的图按“p”加上输出端口“out”,完成全部的连线之后如图1-14,点击一下check&save完成opam仿真用电路图绘制。原理图编辑常用快捷键:“i” 加元件 “p” 加pin “w” 连线“m”移动元件 “c” 复制元件/Day 1二、Spectre仿真 (opam)(1)直流分析(DC Analyses)我们在共模输入管脚接一个可以调节的电压源VCM,使得这个电压源的电压从0升到高到3.3v然后我们测量output端的电压。从图1-14中的Tools菜单->Analog Environment调出spectre,我们将会看到一个窗口:图2-1 spectre仿真界面这个就是cadence提供的仿真工具spectre。我们可以先看一下本次仿真所用的模型库。图2-1 setup菜单->model librarys调出模型库设置窗口,可看到图2-2所示的模型库设置,本次使用仿真库文件为“sm-1k.scs”,MOS管用typical,还有电阻、电容、二极管及双极型三极管bjt等。图2-2 setup result点击ok,回到spectre的主窗口。提示:我们在创建库lab_practice的时候已经指定了工艺库为chrt35rf,因此这里的模型库是自动设置好的。现在我们要进行dc分析的设置了,从analyses菜单->choose调出分析设置窗口。选择DC分析,变化类型选择Component Parameter,Component name 填入 VCM参数为dc ,变化范围是0到3.3(见图2-3).图2-3 dc分析设置点击ok.回到了spectre主界面。到此,已经把仿真环境设置好了。现在我们要观察output端的波形,如何才能做到呢?从spectre的outputs菜单->to be plot->select from schematic,这个时候,会切换到schematic窗口,用鼠标点击一下output那条连线,看看发生了什么?线的颜色发生变化图2-4 select on the schematic没错,output端的颜色变了,标识出它的波形将会被显示。好了,现在,spectre的窗口已经变成了下面的样子:Netlist and run按钮图2-5a设置plot 输出电压后的spectre要看电路中的电流,则用鼠标点中元件的端口(如MOS管的漏端、源端等)。本电路想看一下电路的总电流,则用鼠标点中所加电压源的一个端口,点了之后,会出现一个圈,如图2-5b所示。由于V4即为所加的电压源,故该端口电流即为电路静态总电流。在V4电压源的端口有一个圈,表示要看流过V4的电流图2-5b设置测试电路总电流一切准备就绪,从Simulation菜单选择Netlist and run或点击Netlist and run快捷按钮(像红绿灯). 如果一切正常,那么下面的图像窗口将会自动出现:图 2-6 Output电压及总电流波形(结果显示共模输入电平在2.0V以下输出直流工作点基本不变)绿色那条线为输出电压,红色那条线为总电流,可以测得输出电压为1.56V,总电流为329uA左右。如果,波形没有出来,那么可能是某个过程出了问题。有可能是模型库的问题,也可能是软件设置的问题,不过,所有的出错都会有报告的,就看看它的报告来排除bug吧。DC分析,除了包含器件参数的仿真外,还可以进行温度仿真,设计变量仿真和器件模型参数仿真。有兴趣的话可以自己摸索一下。(2)AC分析我们必须先明确一下ac分析的目的,所谓的ac分析,就是在一定的静态工作点上,施加一个小信号,然后分析输出的的交流信号,可以看出放大系数,频率响应等的特性。先进行AC分析激励设置,将输入交流信号V1(正端)和V0(负端)的交流幅值设置为500mV,相位都为0。由于两端反向连接,故反向,差分交流输入的幅值为1V。图2-7 交流分析激励设置可能有人会奇怪,如果交流幅值为1.0 V的话,可能会严重影响静态工作点,因为这个”小”信号太大了。没关系,不论你设置成1.0 mV 还是100.0 V,系统都只会给出线性的结果。为了方便查看结果,我们就设置成1.0 V。注意这里的cell name不用vsource,而用系统提供的正弦信号vsin。 AC magnitude是为AC 分析用的,一般设为1.0 V,如果是差分的话两端分别设为0.5 V及-0.5 V(或两个都设为0.5V,但相位一个0度,另一个为180度)。Amplitude是为瞬态分析设置用的,一般比较小,如1.0 mV,如差分的话两端设为0.5 mv,相位相反,则差分输入幅度为1.0 mV。现在进行分析设置,重新调出图2-3的窗口,这次,我们选择AC分析。图2-8 ac分析设置设置频率从1变到1G,点击ok,然后netlist & run:从spectre的result菜单中选择Direct plot->AC magnitude & phase.然后会自动切换到schematic窗口,从这里点击output那条连线,致其变色,按“ESC”键。我们将看到有两条曲线,一条是以db形式出现的幅频特性图,另外一条是相频特性图。点击一下左边工具条中的倒数第四个,可以把两条曲线分开。现在,有没有让你想起模电书上的波特图呢?对于模拟设计者来说,频率特性是非常重要的,这两条曲线的意义,也将会在以后的运放设计中得到体现。图2-9 输出波形查看设置将两条曲线分开按钮图2-10 输出运算放大器的波特图现在测量一下图2-10中的运算放大器的低频增益(Av0)、3dB带宽(f0)、相位裕度(PM)等参数。有两种测量方法:Trace工具条测量法及calculator精确计算测量法a) 如果想粗略地看一下结果,可以用Trace方法,简单快速。按一下“V”按键,左上角出现一个红色的三角形标记,用鼠标左键按住这个红色三角形,然后向右边拖动到曲线平坦的地方。在白色小窗口内会显示测量的坐标值,可以读出此运放的低频增益。此处读出低频增益图2-11 用Trace工具条进行仿真参数的测量,此图读出低频增益为51.27dB-3dB带宽和相位裕度也可测出。此处读出-3dB带宽图2-12 用Trace工具条测量-3dB带宽(51.27dB-3dB=48.27dB),测出为484.83 kHz此处读出相位图2-13 用Trace工具条测量相位裕度,定义为增益为1(0dB)时对应的相位与-180 oC的距离。先从幅频特性中找出增益为0dB(此处为99.45mdB,近似0dB)对应的频率(121.91MHz),再在相频特性中找出此频率对应的相位,与-180 oC相减即为相位裕度(-125.82 oC -(-180 oC)=54.18 oC)如果想看一下增益带宽积(GBW),可以另开一个子窗口看低频增益的实际幅值此项显示的为增益的实际幅值而非dB值开子窗口按钮图2-14 以实际幅值而非dB值显示的幅频特性(因为输入为1.0 V,所以实测低频输出电压值即为放大器的低频增益值,365.98)b) 如果想精确计算仿真结果的参数,则需用Calculator工具。先Edit/Delete 删除第二个子窗口,只留下原来的幅频特性和相频特性在一起的图。Tools/Calculator弹出Calculator窗口图2-15 Calculator窗口先将options菜单中的set RPN那个勾去掉。选择ac分析,再点击vf选项,去到电路原理图中点击输出点(out),然后在右下白色窗口中选择测量bandwidth,再点击一下Append字样右边的plot按钮就可以计算出仿真波形的-3dB带宽( Hz,约480 kHz)。相位裕度也可用同样的方法计算(选phase margin,测出PM=54.15 oC)点击这里可以计算-3dB带宽图2-16 用Calculator计算运放的-3dB带宽三、建立opam的symbol:整个系统包括上面设计好的运算放大器 (opam) 模块和后面的带隙基准源 (bandgap) 模块。系统的设计采用层次化设计方法:顶层为系统电路,调用opam模块和bandgap模块。而要模块调用的话必须先为设计好的模块建立symbol。方法为:先将文件另存opam_simu作为仿真用,方法是对准lab_practice库中的Cell: opam 按鼠标右键,然后选copy,出现图3-1所示的复制单元窗口。图3-1 将opam另存为opam_simu重新进入opam文件修改先将电压源、电流源等删除,加pin(快捷键按p),加pin时可以单击鼠标右键对pin旋转。依次加上vdd,GND,Iin,vin+,vin-共五个输入pin,加上之前加的out输出pin,共六个pin。修改后的电路图如图3-2所示。图3-2 去电压源、电流源,以及gnd,再加相应地pin接着我们要对设计的原理图绘制symbol,生成symbol后,这个opamp就可以在其它电路中被调用。从原理图生成symbol的方法如下,在Virtuoso Schematic Editing窗口中,选择菜单Design->Create Cellview ->From Cellview.图3-3 从菜单创建symbol图3-4 在Tool/Data Type一栏中选Composer-Symbol图3-5 安排pin的位置图3-5只是pin摆放的一个例子。图3-6 创建好的opam模块的Symbol这时大家可以到Library Manager窗口中看看,是不是在lab_practice库中的opam单元中多了一个Symbol?这就是我们刚才创建的Symbol。图3-7 创建的Symbol在Library Manager中体现/Day 2四、bandgap模块由于时间关系,Bandgap模块我们就不画原理图了,直接将lab_practice_demo库中的bandgap_simu单元copy到lab_practice库中就可以了。图4-1 将bandgap_simu单元从lab_practice_demo库中copy到lab_practice库中,可以看到,电路中已经加上了电源电压V0 (vsource/dc/3.3 V)和交流仿真激励V1 (vsin/1V/1kHz)。现在可以进行仿真了。(1)温度系数仿真图4-2 温度从0到100 oC变化时bandgap电压输出的变化系数仿真设置最大最小电压差DY最小电压Ymin最大电压Ymax图4-3 bandgap温度系数仿真结果按“D”按键使用两点差测量工具,出来一个红色三角形和一个绿色三角形。将红色条拉到输出电压最大位置,绿色条拉到输出最小位置,可以读出波形的最大电压(Ymax)、最小电压(Ymin)及最大最小电压差(DY),从而计算出bandgap的温度系数TC。TC = (Ymax-Ymin)/(1/2) (Ymax+Ymin)/100 = 2*0./(2.+1.)/100= 15.14 ppm(2) PSRR仿真在直流VDD的上面加一交流信号(图4-4),设置交流仿真的频率范围(图4-5),看out1信号(图4-6)。图4-4 PSRR 激励仿真设置图在直流电源VDD的基础上加一交流信号vdd,模拟电源电压波动对电路输出的影响(电源抑制比,PSRR(dB) = 20log(DVout/DVDD))图4-5 电源抑制比仿真设置图4-6 电源抑制比仿真结果从仿真结果图4-6可知,在频率 < 1 kHz时,PSRR < -35 dB五、总电路(调用bandgap和opam模块):将lab_practice库中的bandgap_simu单元copy成bandgap单元,打开bandgap单元电路,删除直流电压源和交流电压源,创建bandgap单元的Symbol。在lab_practice库中创建顶层系统电路lab_top单元,然后调用bandgap和opam子电路,加上几个PMOS和NMOS管做镜像电流源缓冲,再加上直流电源(V0)、运放的差分共模电压(VCM)及差分输入交流信号激励(VINP、VINN),如图5-1所示。注,lab_practice_demo中的lab_top中的两个差分输入信号的设置在瞬态仿真时会出错,需要修改,将VINN的方向翻转180度,与VINP反向,并将AC phase由180度改为0度。图5-1 使用bandgap模块和opam模块构成的电路总图(1)先做瞬态仿真调静态偏置工作点图5-2做瞬态仿真设置图5-3 瞬态仿真输出波形选择NM1的漏端(可看NM1的漏极电流)及输出电压(out端)图5-4 瞬态仿真波形从图5-4可以看出,0.25us后NM1输出给opam的偏置电流基本保持在54.2 uA。输出电压V(out)则在不断变化,这是由于输入加了1 mV的差分正弦信号引起的。如果要看清楚V(out)的整个变化,只要将仿真截止时间拉长至10 mS以上就可以了,此时,输入激励以及输出响应如图5-5。请注意,输出响应out 的相位跟VINP是一致,跟VINN的相位是相反的。图5-5 仿真时间为10mS的瞬态响应波形(2)再做AC分析图5-6 AC分析时VINP和VINN设置由于在lab_top的连接图中,两个输入激励的连接是相反的,这样VINP和VINN就是幅度都为0.5 V但相位相反的正弦信号,从而差分信号(VINP-VINN)为幅值为1.0 V的正弦信号。图5-7 AC仿真结果图5-7中左边子窗口可以看出低频增益为365.93。用calculator工具对子窗口 2中的特性进行测量,测得其带宽为493.166 kHz,相位裕度PM = 54.11o/Day3六、画版图1. 先画bandgap模块,打开library manager,新建版图文件 图6-1 新建bandgap的版图文件图6-2 进入版图编辑器界面在版图界面选择Tools/Layout XL打开相应模块的schematic图6-3 使用Layout XL进行原理图和版图的交互编辑图6-4将schematic中的元件对应加到layout编辑器中在Virtuoso XL Layout 中,选择菜单Create/Pick From Schematic,然后鼠标点击schematic中的元件,在layout编辑器中放入。图6-5刚放入是带框的图6-6按Shift-F可显示具体信息,Ctrl-F可回框显示。对应的元件可以这样全部放入layout编辑器中。布图设计分为两步:元件布局与布线在布局阶段需要根据原理图的设计考虑元件之间的匹配,此处建议的匹配方式:(1) 两个三极管,本电路大小比为1:8,所以小的管放中间,大管分成8个相同的方块以小管为中心均匀分布;(2)电阻R16、R19、R20,RA=RB=10RC电阻匹配采用一维对称A1 B1 A2 B2.A5 B5 C B6 A6 B7 A7B10 A10原理图中R20 (L/W=21.25um/2.5um)、R16 (L/W=192.85um/2.5um)、R19 (L/W=192.85um/2.5um)这三个电阻需匹配。故将R16和R19拆分成8段21.25um/2.5um再加上两段11.425um/2.5um,以R20为中心交叉对称放置于R20两边;在原理图中有两个电阻什么都没接,这两个电阻即为dummy电阻,放在上面和下面,使所有的电阻单元工艺环境相同。(3) MA=MB=MC=2MD的MOS管匹配也采用一维对称 0.5MA 0.5MB 0.5MC MD 0.5MC 0.5MB 0.5MA;原理图中的PM66、PM65、PM68、PM69这四个晶体管为镜像电流源,故需要较好匹配。各管的宽长比为PM66(5um/2um)、PM65(10um/2um)、PM68(10um/2um)、PM69(10um/2um),将这些管拉到版图界面后发现PM66的宽度和其他三个管的宽度不一样,这样很难匹配。故修改原理图,将PM65、PM68、PM69三个管的宽长比改为和PM66一样(5um/2um),同时将这三个管的multiplier设置为2,这样这三个管的实际宽长比相当于两个PM66的并联,即为10um/2um。这样布版图时就可以匹配了。同样在原理图中有两个dummy MOS管,需要加到两边。(4)参数相同的MOS管元件匹配:差分对,电流镜等。需要在原理图中将匹配的每个MOS管的宽度改为原来的一半,同时将multiplier设置为2,即拆成两个一半大小的MOS管的并联,且加上两个dummy管。当调到版图中按上面的方式对称布局。(5)参数相同的电阻元件匹配:R15、R17。在版图中拆成两段长度为一半的电阻,记得在原理图中加入dummy元件。将多个匹配的元件对齐:首先将匹配的七个MOS版图水平对齐,方法是Edit/Others/Align然后弹出对齐设置窗口,按图6-7所示设置,然后点击Set New Reference,在Layout中先选中中间MOS版图作为对齐中心,然后依次点击其他六个MOS,这样这七个MOS管就水平对齐了(元件之间空隙为1.0 um)。图6-7 元件对齐设置接着垂直方向对齐电阻,这回将图6-7的Alignment direction选项中的Horizontal改为Vertical,Spacings改为3.0 um,点击Set New Reference,在Layout中先选择中间那个电阻作为参考位置,然后依次点击上面和下面的电阻,将它们全部对齐。最后对齐九个三极管,先将中间三极管位置放好,然后用上面的方法水平和垂直对齐其他三极管,这里Spacings设置为3.0 umVDD标识图6-8 三极管、电阻及MOS管匹配金属标识层图6-9 加VDD Label/Day4当所有的元件都放进来并对齐位置后,布局就完成了,接下来是布线。先用第一层金属MET1 drw层在最上面画一条VDD线,在最下面画一条GND线,并标上VDD和GND。画线的方法是:先在左边LSW窗口中选择需要画的层(如这里电源和地线选MET1 drw层),回到Layout编辑窗口,按“r”就可以画方形的连线了。在对整个版图布线完成之后,要对版图加上pin标示,以便版图与原理图一一对应起来。在chrt35rf工艺中,在pin的标识是这样加的:先在左边LSW窗口中添加MET1 blog层,LSW窗口中Edit/Set valid layers选MET1 be,这一层到了LSW窗口中就变成MET1 blo层了;然后选中MET1 blo层,到layout编辑窗口中按“L”进入Label编辑,在label一栏中填入VDD,将hight改为5,点击上面电源线即可加上VDD标识,如图6-9中所示,GND的标识一样添加。如果是用了第二金属做连接,那么就要把pin标示加在METAL 2 上,那么对应的pin标识层为MET2 blo,要在Edit/Set valid layers选中MET2 be. 以此类推,如果是第三层金属做连接,那么就用METAL3 blo做pin的标识层。为了将元件的衬底接到VDD或GND,以及对匹配的所有元件进行防干扰,所以对需要的管子加guardring: PMOS管加well-guardring, NMOS管加p-guardring。加方法(以pmos为例):调出Layout XL,放置nwell层框将要加well-guardring的所有pmos框起来,选中nwell框,shift-G,双击nwell框之外的地方将guardring放好,按“s”(拉伸线条)将nwell框拉到围住guardring的内框,如图6-10所示。nmos管加完p-guardring后,则将之前放置的nwell层框删除。按原理图连接关系进行连线,可以用MET1 drw至MET4 drw四层金属进行连线,各层金属之间的连接通过过孔(Via),MET1和栅多晶(poly2)之间用接触孔(contact)进行连接。加接触孔和过孔的方法是:按“o”,选择不同的过孔或接触孔,如metal1-poly2或m1-m2等。注:本虚拟机有bug,VDD线和GND线放好后,先按原理图颜色显示将其中一个元件连接至VDD,另一个元件连接至GND,使版图可以正确显示VDD和GND的连接关系。之后,guardring放好后,在其他管未连线之前要先将guardring的金属线与相应的VDD和GND相连(对well-guardring接VDD,对p-guardring接GND),再连其他管,这样就可以按原理图连接关系显示进行连接,比较方便。图6-10 给PM65、PM66、PM68、PM69四个PMOS加保护环(guardring)2. 再画OPAM的版图,方法如画Bandgap。为画版图方便,可以考虑将OPAM原理图中的M10a和M10b的长、宽都降低10倍,即改为:W10a=58um,L10=2um,Multiplier=2 (可以试一下将M10a和M10b的长改成2um,宽改成116um重新仿真OPAM或lab_top,看看影响有多大)原理图中所有需要匹配的元件都要拆成两个,并加上dummy元件。/Day5Calibre的quickstart一、DRC1. 先做bandgap的drc。Virtuoso界面菜单最右边Calibre/Run DRC,出现如图1所示界面图1 DRC运行界面在wzh_lab/verify/drc目录中创建目录bandgap,然后将drc的工作目录设为bandgap目录,如图2所示。然后按图2中的Run DRC按钮,稍等片刻,出现图3所示的DRC检查结果。图2 设定工作目录和DRC文件错误01的四个角的坐标,双击其中任意一个坐标,可在layout中显示错误位置文字说明违反哪一条规则。图3 DRC运行结果关于本演示设计规则可以查阅规则说明文件:/home/eda/wzh_lab/Library/chartered0.35/0.35um_ANALOG_3.3V_Salicide_458/design_rule/yi-046-dr002/attachement/yi-046-dr002_rev_1k.doc多次修改错误及重新run DRC,至最后除了金属密度之外无其他错误。图4 DRC成功界面/Day6/Day7(继续画图)二、Layout VS Netlist (LVS)由于要设置工艺对比文件,请做如下步骤:1. 退出刚刚做的DRC环境,同时退出icfb2. 在eda目录下,建立工艺库特性比较文件, 请键入source /home/eda/wzh_lab/Library/chartered0.35/sourceme如果有错误提示,请在source 该文件前,先键入csh,回车后在键入上述命令。3. 重新进入icfb,export schematic电路的netlist(取名bandgap.cdl)至/home/eda/wzh/verify/lvs/netlist目录中;export方法:icfb主界面,File/Export/CDL,如图5所示,随即进入图6所示的界面,填入top cell name项、output file项及run directory项,ok之后如出现图7所示信息则表示电路网表导出成功。图5 导出电路网表菜单操作