《模拟集成电路设计实习.doc》由会员分享,可在线阅读,更多相关《模拟集成电路设计实习.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、生产实习 课程名称 模拟集成电路设计实习 学生学院_材料与能源学院_ 专业班级_10微电子2班_学 号 3110007483 学生姓名_ 何俊鑫 _ 指导教师_ 贺小勇_2014 年 1 月 17 日模拟集成电路设计实习培训内容介绍培训目的1. 学会使用数模混合集成电路设计EDA工具进行简单的模拟集成电路设计的流程,包括Cadence的Virtuoso原理图输入、版图设计,Cadence的Spectre电路仿真,及Mentor Graphics的Calibre版图规则检查(DRC)、电路图版图一致性检查(LVS)。2. 学会使用三大常用的仿真方式(DC,AC,以及Transient)来对电路进
2、行性能的验证与设计参数的调整培训内容本培训首先设计一个运算放大器,在该放大器中采用了一个理想的电流源做偏置。接着设计一个带隙基准源(Bandgap reference)来提供这个运算放大器中用到的电流源,然后对整个电路进行仿真验证。整个电路Lab_top电原理图以及仿真激励如下图所示。 最后,参加培训的学员要求对所设计的Bandgap reference进行版图设计以及DRC、LVS检查,时间充裕的学员进一步设计运算放大器的版图及对其进行DRC/LVS的检查。图 1-0 Lab_top 原理图上图中的运算放大器(opam)电路如下图所示,值得注意的是,该运算放大器需要一个current sin
3、k做偏置,该current sink由上图中的NM1来提供。其中的bandgap电路如下图。Schematic 到layout的Quick start一、Schematic (opam)1. 运行虚拟机vmware;2. 在虚拟机界面中打开并运行CentOS.vmx;3. 用户登陆,登录名:eda,登录密码:123456;4. 界面按鼠标右键-选Open Terminal进入eda根目录下的命令行界面;5. 输入csh并回车;6. 输入icfb&命令后台运行Cadence的工具进入icfb界面。图1-1 icfb的主界面在icfb中,任何一个电路,不论是已经存在的可以引用的库,还是用户新建立的
4、一个电路,都是一个library. 一个library一般有若干个Cell(单元电路),每个cell由多个CellView组成,CellView可以是schematic(电路原理)和layout(版图)或symbol(符号),或者其他Cadence工具所调用的hspiceS等。7. 导入工艺库文件二、Spectre仿真 (opam)(1)直流分析(DC Analyses)我们在共模输入管脚接一个可以调节的电压源VCM,使得这个电压源的电压从0升到高到3.3v然后我们测量output端的电压。从图1-14中的Tools菜单-Analog Environment调出spectre,我们看到一个窗口
5、:图2-1 spectre仿真界面这个就是cadence提供的仿真工具,其实,不仅仅包含了spectre。但本文只讨论spectre. 调出spectre后的第一步,是设置模型库。图2-1 setup菜单-model librarys调出模型库设置窗口。点击Browse找到使用的仿真文件“sm083006-1k.scs”,Section那栏填入:typical,然后点击 ADD 。依次在Section栏中加入bjt, capacitor, diode,resistor并点击加入,结果如图:图2-2 setup result点击ok,回到spectre的主窗口。我们在创建库lab_practic
6、e的时候已经指定了工艺库为chrt35rf,因此这里的模型库是自动设置好的。现在我们要进行dc分析的设置了,从analyses菜单-choose调出分析设置窗口。选择DC分析,变化类型选择Component Parameter,Component name 填入 VCM参数为dc ,变化范围是0到3.3(见图2-3).图2-3 dc分析设置一切准备就绪,从Simulation菜单选择Netlist and run或点击Netlist and run快捷按钮(像红绿灯).Output波形:图 2-6 Output波形(结果显示共模输入电平在2.0V以下输出直流工作点基本不变)(2)AC分析先进行
7、AC分析激励设置,将输入交流信号V1(正端)和V0(负端)的交流幅值设置为500mV,相位都为0。由于两端反向连接,故反向,差分交流输入的幅值为1V。图2-7 交流分析激励设置现在进行分析设置,重新调出图2-3的窗口,这次,我们选择AC分析。图2-8 ac分析设置设置频率从1变到1G,点击ok,然后netlist & run:从spectre的result菜单中选择Direct plot-AC magnitude & phase.然后会自动切换到schematic窗口,从这里点击output那条连线,致其变色,按“ESC”键。我们看到有两条曲线,一条是以db形式出现的幅频特性图,另外一条是相频
8、特性图。点击一下左边工具条中的倒数第四个,可以把两条曲线分开。图2-9 输出波形查看设置图2-10 输出运算放大器的波特图现在测量一下图2-10中的运算放大器的低频增益(Av0)、3dB带宽(f0)、相位裕度(PM)等参数。有两种测量方法:Trace工具条测量法及calculator精确计算测量法a) 如果想粗略地看一下结果,可以用Trace方法,简单快速。按一下“V”按键,左上角出现一个红色的三角形标记,用鼠标左键按住这个红色三角形,然后向右边拖动到曲线平坦的地方。在白色小窗口内会显示测量的坐标值,可以读出此运放的低频增益。图2-11 用Trace工具条进行仿真参数的测量,此图读出低频增益为
9、51.27dB-3dB带宽和相位裕度也可测出。图2-12 用Trace工具条测量-3dB带宽(51.27dB-3dB=48.27dB),测出为491.11 kHz图2-13 用Trace工具条测量相位裕度,定义为增益为1(0dB)时对应的相位与-180 oC的距离。先从幅频特性中找出增益为0dB(此处为50.53mdB,近似0dB)对应的频率(123.72MHz),再在相频特性中找出此频率对应的相位,与-180 oC相减即为相位裕度(-122.42 oC -(-180 oC)=57.58 oC)如果想看一下增益带宽积(GBW),可以另开一个子窗口看低频增益的实际幅值图2-14 以实际幅值而非d
10、B值显示的幅频特性(因为输入为1.0 V,所以实测低频输出电压值即为放大器的低频增益值,365.98)b) 如果想精确计算仿真结果的参数,则需用Calculator工具。先Edit/Delete 删除第二个子窗口,只留下原来的幅频特性和相频特性在一起的图。Tools/Calculator弹出Calculator窗口图2-15 Calculator窗口选择ac分析,再点击vf选项,去到电路原理图中点击输出点(out),然后在右下白色窗口中选择测量bandwidth,再点击一下Append字样右边的plot按钮就可以计算出仿真波形的-3dB带宽(491500 Hz,约480 kHz)。相位裕度也可
11、用同样的方法计算(选phase margin,测出PM=54.15 oC)图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
12、重新进入opam文件修改将电压源、电流源等删除,加pin(快捷键按p),加pin时可以单击鼠标右键对pin旋转。依次加上vdd,GND,Iin,vin+,vin-共五个输入pin,加上之前加的out输出pin,共六个pin。修改后的电路图如图3-2所示。图3-2 去电压源、电流源,以及gnd,再加相应地pin从原理图生成symbol,在Virtuoso Schematic Editing窗口中,选择菜单Design-Create Cellview -From Cellview.图3-3 从菜单创建symbol图3-4 在Tool/Data Type一栏中选Composer-Symbol图3-5
13、 安排pin的位置图3-5只是pin摆放的一个例子。图3-6 创建好的opam模块的Symbol到Library Manager窗口中看看,在lab_practice库中的opam单元中多了一个Symbol。图3-7 创建的Symbol在Library Manager中体现四、bandgap模块由于时间关系,Bandgap模块我们就不画原理图了,直接将lab_practice_demo库中的bandgap_simu单元copy到lab_practice库。图4-1 将bandgap_simu单元从lab_practice_demo库中copy到lab_practice库中,可以看到,电路中已经
14、加上了电源电压V0 (vsource/dc/3.3 V)和交流仿真激励V1 (vsin/1V/1kHz)。现在进行仿真。(1)温度系数仿真结果图4-2 温度从-40到125 oC变化时bandgap电压输出的变化系数仿真设置图4-3 bandgap温度系数仿真结果(2) PSRR仿真在直流VDD的上面加一交流信号(图4-4),设置交流仿真的频率范围(图4-5),看out1信号(图4-6)。图4-4 PSRR 激励仿真设置图在直流电源VDD的基础上加一交流信号vdd,模拟电源电压波动对电路输出的影响(电源抑制比,PSRR(dB) = 20log(DVout/DVDD))图4-6 电源抑制比仿真结
15、果从仿真结果图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所示。图5-1 使用bandgap模块
16、和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。图5-5 仿真时间为10mS的瞬态响应波形(2)再做AC分析图5-6 AC分析时VINP和VINN设置由于在lab
17、_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六、画版图1. 先画bandgap模块,打开library manager,新建版图文件 图6-1 新建bandgap的版图文件图6-2 进入版图编辑器界面在版图界面选择Tools/Layout XL打开相应模块的schema
18、tic图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编辑器中。布图设计分为两步:元件布局与布线将多个匹配的元件对齐:首先将匹配的七个MOS版图水平对齐,方法是Edit/Others/Align然后弹出对齐设置窗口,按图6-7所
19、示设置,然后点击Set New Reference,在Layout中先选中中间MOS版图作为对齐中心,然后依次点击其他六个MOS,这样这七个MOS管就水平对齐了(元件之间空隙为1.0 um)。图6-7 元件对齐设置接着垂直方向对齐电阻,在Layout中先选择中间那个电阻作为参考位置,然后依次点击上面和下面的电阻,将它们全部对齐。最后对齐九个三极管,先将中间三极管位置放好,然后用上面的方法水平和垂直对齐其他三极管,这里Spacings设置为3.0 um如图: 最后对齐九个三极管,先将中间三极管位置放好,然后用上面的方法水平和垂直对齐其他三极管,这里Spacings设置为3.0 um如图:当所有的
20、元件都放进来并对齐位置后,布局就完成了,接下来是布线。在对整个版图布线完成之后,要对版图加上pin标示,以便版图与原理图一一对应起来。按原理图连接关系进行连线,用MET1 drw至MET4 drw四层金属进行连线,各层金属之间的连接通过过孔(Via),MET1和栅多晶(poly2)之间用接触孔(contact)进行连接。加接触孔和过孔的方法是:按“o”,选择不同的过孔或接触孔,如metal1-poly2或m1-m2等。如图:图6-10 给PM65、PM66、PM68、PM69四个PMOS加保护环(guardring)图6-11 bandgap layoutCalibre的quickstart一
21、、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文件图3 DRC运行结果多次修改错误及重新run DRC,至最后除了金属密度之外无其他错误。图4 DRC成功界面二、Layout VS Netlist (LVS)由于要设置工艺对比文件,请做如下步骤:1. 退出刚刚做的DRC环境,同时
22、退出icfb2. 在eda目录下,建立工艺库特性比较文件, 请键入source /home/eda/wzh_lab/Library/chartered0.35/sourceme如果有错误提示,请在source 该文件前,先键入csh,回车后在键入上述命令。3. 重新进入icfb,export schematic电路的netlist(取名bandgap.cdl)至/home/eda/wzh_lab/verify/lvs/netlist目录中;export方法:icfb主界面,File/Export/CDL,如图5所示,随即进入图6所示的界面,填入top cell name项、output fil
23、e项及run directory项,ok之后如出现图7所示信息则表示电路网表导出成功。图5 导出电路网表菜单操作输出netlist文件的文件名输出文件的路径图6 导出电路网表界面图7 网表导出成功提示界面提示: 如果输出netlist(在本例子中为bandgap.cdl)不成功, 请再打开schematic,并点击 check&save 后重新输出netlist成功输出原理图netlist后就可以运行LVS了。与DRC一样,我们采用Calibre软件来进行LVS检查。 LVS检查指的是检查所设计的版图跟所设计的原理图是否一致。Calibre LVS检查是将版图以及原理图输出的网表进行比对。因此
24、, 做LVS有三个输入,分别如下:a) LVS比较规则, 也就是rules file,该rules file 由foundry提供。b) 版图, Calibre自动对版图输出成网表c) 原理图网表, 该网表就是前面步骤 3 中所生成的netlist下面进行LVS检查操作在Virtuoso layout界面菜单中,CalibreRun LVS进入界面设置 Rules, Calibre-Lvs Rules File: /home/eda/wzh_lab/verify/lvs/lvsfile/chrt035rf.sg.lvs.calCalibre-Lvs Run Directory: /home/e
25、da/wzh_lab/verify/lvs/输入1-rules file Inputs,Layout: 选择Export from layout viewer每次运行LVS都输出一次layout netlist输入2-layout netlist输入3-原理图输出的netlist此按钮不能选中其他基本不用设置,然后Run LVS,结果如图8所示,Schematic输出的netlistLayout输出netlistLVS规则文件图8 LVS结果,出现82个不一样的地方4. 修改导出的netlist文件(bandgap.cdl) 该文件是原理图输出的netlist,在上述例子中,该文件位于 /ho
26、me/eda/wzh_lab/verify/lvs/netlist加文件等效语句(解决在chrt35rf工艺中schematic输出的netlist和layout提取的netlist中使用模型名字不同的问题),将下列语句加到网表文件bandgap.cdl中语句.PARAM 的下面,每行一句:*.EQUIV nmos_3p3=NM*.EQUIV pmos_3p3=PM*.EQUIV npolyf_u_1k=YAK*.EQUIV PIP=CP*.EQUIV VPNP_5x5=BV对电容的修改: 把电容的调用语句添加上以下画线的部分,尺寸值用原理图上的尺寸。CC10 net86 net72 875.
27、00f c_length=20u c_width=35u $CP M=1对电阻的修改: 把电阻调用语句的第三端去掉,即以下画线部分去掉。RR20 net64 net6 8.71831K $SUB=net42 $YAK然后,加上电阻相应的宽和长,尺寸值用原理图上的尺寸,如下面画线部分:RR20 net64 net6 8.71831K w=2.5u l=21.25u $YAK 以上仅仅是修改了电阻RR20,其他的电阻请参照电阻RR20修改的方式进行修改,其中各个电阻的宽度w=和长度l=中的值需要用原理图中的数字来加。电阻和电容做LVS时,有可能出现电阻或者电容值存在微量的偏差,如0.5%,只要偏差在可接受范围就行。全部修改完后,再运行Run Lvs,出现笑脸则成功。图9 通过LVS检查的提示界面实习心得: 这次为期两个星期的实习,使我受益匪浅。我不但学会了candence软件的使用方法,还认识到画版图需要非常有耐心和毅力;同时我也非常感谢同学们的帮助。在画完layout后,通过两天的仔细查找,一个个地解决DRC和LVS出现的错误,最终完成了版图设计。最后非常感谢学校为我们提供学习使用candence软件的条件,让我们掌握了一门日后对就业有帮助的技术。
限制150内