CMOS模拟集成电路实训第二讲东南大学集成电路学院IC实验室yunjuanyunsan@163.com内容•Lab1-电流源负载共源级放大器•Lab1-两级运放的设计和仿真写在开始前……•根据工艺库文件查找几个计算需要的参数:21()(1)2dsgstdsWIKVVVLoxKC:是电子或空穴的迁移率2F/)oxCcm:单位面积栅氧化物电容(03.9oxoxoxoxCtt:ox二氧化硅介电常数0F-14=8.85410/cm,自由空间介电常数因此需要在工艺库中查找的或计算得出的参数有:oxttV:栅氧厚度:阈值电压:沟道长度调制参数、、CSMC0.5umCMOS00oxnoxpthnthpttVV-8-8=1.2810,=1.2410;=0.716;=-0.9508没有找到22np404.257cm219.5cm。/v.s,/v.s。142420nnnnn8n3.93.98.85410F/K'=404.257cm/vs1.09110A/v1.2810oxoxoxoxncmCttm142420ppppp8pp3.93.98.85410F/K'=219.5cm/vs0.61110A/v1.2410oxoxoxoxcmCttm21()(1)2dsgstdsWIKVVVL4211.09110(0.716)(1)2dsngsdsWIVVL4210.61110(0.958)(1)2dspgsdsWIVVLLab1-电流源负载共源级放大器VDDM3M2M1CLVinVoutIREF1IO设计指标:VDD=5VIREF=100uACL=10pfAV=35dBGB=9MHz一、电路分析312dBoutLfRC2(/)1NVmoutREFNPKWLAgRI131122mVdBmoutoutLLgGBAfgRRCC12mLgCGB221262146nn23.141010910214.62K'2K'21.0911010010LmndsndsnCGBgWLII(1)(2)(3)15nWL取230pnWWLL同时通过(1)和(3)式得出,可以通过增加(W/L)n来获得大的电压增益和GB。关键语句二、直流分析及关键语句直流分析网表b1-DCanalysis.sp(一)任选项语句.OPTION(二)库文件调用语句(三)模型描述语句(.MODEL语句)(四)直流扫描分析.DC(五)输出控制语句(一)任选项语句.OPTION一般形式:.OPTIONopt1opt2opt3…其中:opt1…是所有输入控制选项。一般以opt=x形式出现。其中,opt是控制选项名称,“x”表示那些选项的赋值。不同的任选项在语句中可任意顺序排列。一种是无值的,一种是有值的。ACCT打印出计算和运行时间统计;LIST打印出输入数据总清单;NODE打印出结点表;NOMOD抑制模型参数的打印输出;POST指定分析数据的输出形式.OPTIONPOST创建二进制文件;同POST=1.OPTIONPOST=2创建ASCII(美国信息互换标准代码)文件还有其他的功能,如控制Accuracy(精度)、Algorithms(算法)、Speed(速度)(二)库文件调用语句一般形式:.LIB′filepathfilename′entryname或.LIBlibnumberentryname其中:filepath指明库文件所在的路径,当库文件与HSPICE运行在一目录下,则可缺省目录路径。“../”表示当前目录的上一级目录。filename包含在数据文件的文件名,所有文件目录路径和文件名组合最长不超过256个字符。文件目录路径和文件名必须包含在单引号或双引号中。entryname进入文件的类型名,这个名字的第一个字符不能是一个整数。libnumber参考库文件的另一种方法。值得注意的是在不同的操作系统下,数字定义域不同,如11~89可以用在除UNIX以外的所有系统中。UNIX系统一般用9~14。例:.LIB′MODELS′cmos1.LIB′../sum/MODELS′cmos1.LIB14lm101(三)模型描述语句(.MODEL语句)一般形式是:.MODELmnametypeprame1=val1pname2=val2...其中:mname模型参考名、元件必须靠这个名字来指明所要参考的模型。type用来选择模型类型、模型类型必须是下列类型中的一种:AMP:运算放大器模型;C:电容模型CORE:磁芯模型D:二极管模型L:磁芯互感模型NJF:n沟JFET模型NMOS:n沟MOSFET模型PMOS:p沟MOSFET模型NPN:npn双极型晶体管模型OPT:优化模型PJF:p沟JFET模型PNP:pnp双极型晶体管模型PLOT:针对.GRAPH语句的硬拷贝绘图模型R:电阻器模型pname1…用来设置模型参数名。模型参数名必须是相应模型中存在的参数,未给定的参数名和值就由程序中的缺省值代替。模型参数值由圆括号内参数表中的参数值给出。每个独立参数之间用空格或逗号分隔,续行前要加”+”号。例:.MODELMOD1NPNBF=50IS=1E-13VBF=50AREA=2+PJ=3N=1.05(四)直流扫描分析.DC该语句规定了直流传输特性分析时所用的电源类型和扫描极限。在直流分析中,.DC语句可进行:a.直流参数值扫描;b.电源值扫描;c.温度范围扫描;d.执行直流蒙特卡罗分析(随机扫描);e.完成直流电路优化;f.完成直流模型特性化.DC语句具体格式取决于实际应用需要,下面给出直流参数值扫描应用格式:.DCvar1START=start1STOP=stop1STEP=incr1.DCvar1START=param-expr1STOP=param-expr2+STEP=param-expr3.DCvar1start1stop1incr1var2start2stop2incr2(五)输出控制语句.PRINT:在输出的list文件中打印数字的分析结果,如果.OPTIONS中有POST则同时输出到post-processor中。.PLOT:在输出的list文件中打印低分辨率的曲线(由ASCII字符组成),如.OPTIONS中有POST则同时输出到post-processor中。.GRAPH:生成用于打印机或PostScript格式的高分辨率曲线。.PROBE:把数据输出到post-processor,而不输出到list文件。直流仿真过程lab1-dcanalysis-1lab1-dcanalysis-2由仿真结果可以看出,在VIN=1.23300左右增益达到最大。交流分析lab1-acanalysis-1.sp关键语句(一)直流工作点分析.OP(二).AC(三).MEASURE(一)直流工作点分析.OP会在输出文件(.lis文件)中列出一些直流参数和各结点的工作点电压与支路电流、静态功耗,对电路分析非常有用。直流或交流扫描中(.acor.dc),计算的是初始工作点。瞬态分析中(.tran),计算某一时刻的工作点,默认时间是0。例如:.op3n,计算3纳秒时电路的工作情况。一般形式:.OPformattimeformetime其中:format是下述关键字中的任何一个(缺省值为ALL):ALL、BRIEF、NOTE、CURRENT、DEBUG、OLTAGE。上述关键字有一点值得特别注意,这些关键字互相不兼容,同一时间只能用一个关键字定义。time这个参数直接跟在All、Voltage、Current或DEBUG等参数后面,用来确定这些参数值输出打印的时间。下面给出两个进行直流工作点分析的例子:例:.OP.5NSCUR10NSVOL17.5NS20NS25NS在例中计算了直流工作点,并要求在0.5ns时打印出所有直流工作点值,此外电流在10ns,电压在17.5ns、20ns以及25ns时进行瞬态分析。ALL提供全部工作点值,包括电压、电流、电导和电容等值;BRIEF每一个元件都产生一行电压、电流和功率值,电流单位是mA,功率单位是mw;CURRENT提供一种带有元件电流和功率的电压表格样式的简明结果;NOTE,禁止节点和元件打印输出,但允许执行时附加分析规定;OLTAGE仅提供电压输出表格形式。DEBUG此参数同上只有在模拟结果不收敛的情况下才由程序来调用。并能调整打印出收敛节点的新、老电压以及不收敛的程度(容差),它也能打印出带容差值的不收敛元件。(二).AC对电路进行交流分析AC:V(2),VI(3),VM(5,7),VDB(OUT),IP(9),IP4(M4)R:RealI:ImaginaryM:MagnitudeP:PhaseDB:Decibels例:.ACDEC101K100MEG$1kHz-100MHz,每10倍频10个采样点。(三).MEASURE1)Rise,Fall,andDelay(TRIG-TARG)2)AVG,RMS,MIN,MAX,&Peak-to-Peak(FROM-TO)3)FIND-WHEN.MEASUREDC|AC|TRANresult_varTRIG...TARG...OptimizationOptionresult_var:NameGiventheMeasuredValueinHSPICEOutputTRIG...:TRIGtrig_varVAL=trig_valueTD=time_delayCROSS=n+RISE=r_nFALL=f_n|LASTTARG...:TARGtarg_varVAL=targ_valueTD=time_delay+CROSS=n|LASTRISE=r_n|LASTFALL=f_n|LASTTRIG...:TRIGAT=valueOptimizationOption:GOAL=valMINVAL=valWEIGHT=valExample:.measTRANtproptrigv(in)val=2.5rise=1targv(out)val=2.5fall=11)Rise,Fall,andDelay(TRIG-TARG).MEASUREDC|AC|TRANresultFUNCout_varFROM=val1TO=val2+OptimizationOptionresult_var:NameGiventheMeasuredValueinHSPICEOutputFUNC:AVG-----AverageMAX-----MaximunPP----Peak-to-PeakMIN------MinimumRMS-----RootMeanSquareOptimizationOption:GOAL=valMINVAL=valWEIGHT=valout_var:NameoftheOutputVariabletobeMeasuredExample:.measTRANminvalMINv(1,2)from=25nsto=50ns.measTRANtot_powerAVGpowerfrom=25nsto=50ns.measTRANrms_powerRMSpower2)AVG,RMS,MIN,MAX,&Peak-to-Peak(FROM-TO).measureDC|AC|TRANresultWHEN...OptimizationOption.measureDC|AC|TRANresultFINDout_var1WHEN...OptimizationOption.measureDC|AC|TRANresult_varFINDout_var1AT=valOpti