1、电路与网表 指标分析 偏置电流与功耗、开环增益、GBW与相位裕度、压摆率、Swing Range、失调、噪声、工艺corner分析、温度特性分析等v_vp vdd 0 5v r_rz vo1 n_0001 rzv c_cc n_0001 vo ccv c_cl 0 vo clv c_cb 0 vb 10p r_rb vb vdd 100k m_u2 vo1 vip n_0002 0 nenh l=0.6u w=12u m=2 m_m1 n_0003 n_0003 vdd vdd penh l=2u w=12u m=2 m_m3 vo vo1 vdd vdd penh l=0.6u w=12u
2、m=8 m_u1 n_0003 vin n_0002 0 nenh l=0.6u w=12u m=2 m_u4 vo vb 0 0 nenh l=5u w=12u m=8 m_u5 vb vb 0 0 nenh l=5u w=12u m=1 m_u3 n_0002 vb 0 0 nenh l=5u w=12u m=4 m_m2 vo1 n_0003 vdd vdd penh l=2u w=12u m=2存在文件 中1、工作点分析、工作点分析Hspice执行网表(执行网表(otas1.sp).title ota operation point and ac analysis.options po
3、st nomod.param rzv=1k ccv=1p clv=1p.prot.lib LIB_PATHcz6h_v28.lib tt.unprot.inc NETLIST_PATHV_Vac vin 0 DC 2.5V AC 1V 0V_Vdc vip 0 2.5V*.probe ac v(vo1)v(vo)vp(vo).op*.ac dec 10 1k 1g.end工作点分析工作点分析 浏览并分析.lis文件的内容.prot与.unprot使用将使得其中的内容不在.lis中出现 用oper查找,即可找到operating point information这一段,可看到电路各节点的电压、
4、各元件的工作状态 注意此时vo=4.8967 对于提供电源的电压源v_vp,注意其功耗就是电路功耗,因此可查得电路功耗为2.3596mW 对于MOS管,注意各参量的含义:region、id、vgs、vds、vth、vdsat、gm、gmb、gds可查得流过M_U3的偏置电流为140uA,并注意到M_M3的region为Linear2、直流扫描分析、直流扫描分析(otas2.sp)Ota simulationOta simulation.prot.prot.lib LIB_PATH.lib LIB_PATHcz6h_v28.libcz6h_v28.lib tt tt.unprot.unprot.
5、option post probe.option post probe.para rzv=1k ccv=1p clv=1p.para rzv=1k ccv=1p clv=1p.inc NETLIST_PATH.inc NETLIST_PATHV_Vac vin 0 DC 2.5V AC 1V 0V_Vac vin 0 DC 2.5V AC 1V 0V_Vdc vip 0 2.5VV_Vdc vip 0 2.5V.print dc v(vo1)v(vo).print dc v(vo1)v(vo).op.op.dc v_vdc 2.45 2.55 0.001.dc v_vdc 2.45 2.55
6、0.001.end.end粗扫直流扫描分析vovo1dvo对vo求导小信号增益Gain=d(vo)/d(v_vdc)确定精扫扫描范围直流扫描分析直流扫描分析Ota simulationOta simulation.prot.prot.lib LIB_PATH.lib LIB_PATHcz6h_v28.libcz6h_v28.lib tt tt.unprot.unprot.option post probe.option post probe.para rzv=1k ccv=1p clv=1p.para rzv=1k ccv=1p clv=1p.inc NETLIST_PATH.inc NETL
7、IST_PATHV_Vac vin 0 DC 2.5V AC 1V 0V_Vac vin 0 DC 2.5V AC 1V 0V_Vdc vip 0 2.5VV_Vdc vip 0 2.5V.print dc v(vo1)v(vo).print dc v(vo1)v(vo).op.op.dc v_vdc 2.484 2.494 0.0001.dc v_vdc 2.484 2.494 0.0001.end.end精扫直流扫描分析对于增益要求G0,存在对应的输出swing range,若用小信若用小信号增益号增益gainG0作为作为swing range,则一定满足增益要求,则一定满足增益要求例如G
8、0=300,则根据下图其swing range (0.574,4.194)若取输出中心电压为vdd/2,而令vo=vdd/2时,可测得此时v_dc=2.4876V故ota的系统失调:Vos=12.4mV3.交流扫描分析(otas3.sp)Ota simulationOta simulation.prot.prot.lib LIB_PATH.lib LIB_PATHcz6h_v28.libcz6h_v28.lib tt tt.unprot.unprot.option post probe.option post probe.probe ac v(vo1)v(vo)vp(vo).probe ac
9、v(vo1)v(vo)vp(vo).op.opV_Vac vin 0 DC 2.5V AC 1V 0V_Vdc vip 0 2.4876V.ac dec 10 1k 1g.ac dec 10 1k 1g$sweep rzv 0 2k 0.2k$sweep rzv 0 2k 0.2k.para rzv=0 ccv=1p clv=1p.para rzv=0 ccv=1p clv=1p.inc NETLIST_PATH.inc NETLIST_PATH.end.end表示没有补偿电阻Rz交流扫描分析GBW=99.5MHz相位裕度18.7度直流small-signal gain交流扫描分析 单位增益带
10、宽 GBW gm1/(Cc+CGD3)主极点 p1 1/Ro1gm3Ro(Cc+CGD3)第二极点 p2 gm3/(CL+Co)零点 z 1/(Cc+CGD3)(gm3-1-Rz)查看.lis文件 可知gm3 2m gm1 0.83m gm1b 0.13m由于零点的作用,相位裕度从60多度减小至39度!gm1为输入管M_U1的跨导gm3为第二级输入管M_M3的跨导交流扫描分析Ota simulation.prot.lib LIB_PATHcz6h_v28.lib tt.unprot.option post probe.probe ac v(vo1)v(vo)vp(vo).op*.dc v_vd
11、c 2.48 2.495 0.0001*.trans 10ns 200ns 20ns 0.1ns.ac dec 10 1k 500meg sweep ccv 0 5p 1p.para rzv=0 ccv=1p clv=1p.inc NETLIST_PATH.end分析miller补偿效应交流扫描分析增加Cc,p1 向下移动,GBW减小相位裕度增加增加Cc到5p时,相位裕度增加到约59度,而GBW已经减小到24.8MHz!交流扫描分析Ota simulation.prot.lib LIB_PATHcz6h_v28.lib tt.unprot.option post probe.probe ac
12、v(vo1)v(vo)vp(vo).op*.dc v_vdc 2.48 2.495 0.0001*.trans 10ns 200ns 20ns 0.1ns.ac dec 10 1k 500meg sweep rzv 0 2k 0.2k.para rzv=0 ccv=1p clv=1p.inc NETLIST_PATH.end分析零极点抵消效果加Rz,可减弱零点的作用,提高相位裕度;当达到零极点抵消时,应满足:Rz (CL+Cc)/(gm3Cc)得出 Rz 1k交流扫描分析Rz增加到0.6k时,相位裕度增加到约55度,GBW约76MHzRz增加到1k时,相位裕度增加到约67度,GBW约103MH
13、z4.噪声分析Ota simulation.prot.lib LIB_PATHcz6h_v28.lib tt.unprot.option post probe.probe ac v(vo1)v(vo)vp(vo).op*.dc v_vdc 2.48 2.495 0.0001*.trans 10ns 200ns 20ns 0.1ns.ac dec 10 1k 500meg$sweep rzv 0 2k 0.2k.noise v(vo)v_vac 10.para rzv=1k ccv=1p clv=1p.inc NETLIST_PATH.end分析热噪声噪声分析.lis文件中会给出每一个频率采样点
14、上的噪声频谱密度,以及从文件中会给出每一个频率采样点上的噪声频谱密度,以及从开始频率到该频率点的等效噪声电压等开始频率到该频率点的等效噪声电压等找到如下一段:找到如下一段:*the results of the sqrt of integral(v*2/freq)from fstart upto 100.0000 x hz.using more freq points results in more accurate total noise values.*total output noise voltage =2.5009m volts*total equivalent input nois
15、e=64.7944u 注意注意.lis文件中各个文件中各个MOS元件的噪声大小对比,并根据电路图进元件的噪声大小对比,并根据电路图进行对应的分析行对应的分析还可以改变Cc的值,来看总的等效输入噪声有什么变化5.失调分析 系统失调之外的失调主要来源:输入差分对u1和u2、电流镜m1和m2的失配 U1,u2电压失调为:M1,m2带来的失调为:NgsNtNosWWVVV21 mNmPPgsPtPosggWWVVV*22Vt,W为元件间的阈值电压和跨导之差失调分析 晶体管随机失配 在良好的版图设计条件下 阈值电压(mV)栅宽(u)均与栅面积的平方根成反比MWLtsoxVt1.0MWLWsW04.0NM
16、OS:tox=1.25e-08+toxnPMOS:tox=1.3e-08+toxptoxn,toxp的值与model的corner有关,在tt情况下,toxn=toxp=0根据类似工艺的一个估计值tox的单位为e-10在MOS晶体管的参数中考虑失配例:原有的 W=30u,M=8 修改为W=30u+30u*0.04u*alfa/sqrt(2*30um*5um)M=8 delvto=12.5n*alfa/sqrt(2*30um*5um)这里alfa为(0,1)高斯分布变量依次将网表的内容按照上面的方法修改失调分析失调分析Ota simulation.prot.lib LIB_PATHcz6h_v2
17、8.lib tt.unprot.option post probe.probe dc v(vo1)v(vo).op.dc v_vdc 2.45 2.51 0.0001 sweep monte=30*.trans 10ns 200ns 20ns 0.1ns*.ac dec 10 1k 500meg$sweep ccv 0 5p 1p*.noise v(vo)v_vac 20.para rzv=1k ccv=1p clv=1p alfa=agauss(0,3,3).inc NETLIST_PATH.end用monte-carlo仿真来分析失配导致的失调分布失调分析30次monte-carlo仿真结
18、果由此可见ota的失调分布可达(-10mV10mV)可增大晶体管来减小Vos,但是会带来速度问题6.压摆率分析在输入端输入一个较大的脉冲信号,以观察输出端的电压摆率V_vac的定义换成:V_vpulse vin 0 PULSE 2 3 20ns 0.1n 0.1n 100n 200n压摆率分析Ota simulation.prot.lib LIB_PATHcz6h_v28.lib tt.unprot.option post probe.probe tran v(vo1)v(vo).op*.dc v_vdc 2.45 2.51 0.001 sweep monte=30.trans 0.1ns 1
19、000ns*.ac dec 10 1k 500meg$sweep ccv 0 5p 1p*.noise v(vo)v_vac 20.para rzv=1k ccv=1p clv=1p$alfa=agauss(0,3,3).inc NETLIST_PATH.end用瞬态仿真来分析ota输出slew rate压摆率分析压摆率仿真结果由右图可测得ota的上升和下降压摆率分别为141V/us和131V/usProblem:在电路图中如何分析上升和下降压摆率?将结果与仿真结果进行对比7.模型corner仿真V_vpulse的定义换回来:V_Vac vin 0 DC 2.5V AC 1V 0模型corne
20、r仿真Ota simulation.prot.lib LIB_PATHcz6h_v28.lib tt.unprot.option post probe.probe dc v(vo).op.dc v_vdc 2.45 2.51 0.0001$sweep monte=30*.trans 0.1ns 1000ns*.ac dec 10 1k 500meg$sweep ccv 0 5p 1p*.noise v(vo)v_vac 20.para rzv=1k ccv=1p clv=1p$alfa=agauss(0,3,3).inc NETLIST_PATH.end做DC扫描,分析各种corner下的增益
21、和失调的变化模型corner仿真在在.end前插入前插入.alter语句,如下:语句,如下:Ota simulation.alter.lib LIB_PATHcz6h_v28.lib ff.alter.lib LIB_PATHcz6h_v28.lib fs.alter.lib LIB_PATHcz6h_v28.lib sf.alter.lib LIB_PATHcz6h_v28.lib ss.end模型corner仿真ttttfffffsfssfsfssssFf时增益最小,ss时增益最大Vo=vdd/2分别对应于V_vdc为:2.48762.48142.48612.48812.4912模型cor
22、ner仿真Ota simulation.prot.lib LIB_PATHcz6h_v28.lib tt.unprot.option post probe.probe ac v(vo)vp(vo).op*.dc v_vdc 2.45 2.51 0.0001$sweep monte=30*.trans 0.1ns 1000ns.ac dec 10 1k 500meg$sweep ccv 0 5p 1p*.noise v(vo)v_vac 20.para rzv=1k ccv=1p clv=1p$alfa=agauss(0,3,3).inc NETLIST_PATH.end知道了各种corner下
23、的失调后,就可以设置V_vdc做AC扫描,分析各种corner下的增益和GBW的变化模型corner仿真.alterV_Vdc vip 0 2.4814V.lib LIB_PATHcz6h_v28.lib ff.alterV_Vdc vip 0 2.4861V.lib LIB_PATHcz6h_v28.lib fs.alterV_Vdc vip 0 2.4881V.lib LIB_PATHcz6h_v28.lib sf.alterV_Vdc vip 0 2.4912V.lib LIB_PATHcz6h_v28.lib ss.end对于各种corner加入了对应的V_vdc定义模型corner仿
24、真ffss模型corner仿真ffssffss模型corner仿真由仿真结果可测得:gainGBWPhase margintt989103MHz 67.2ff585122MHz 75.9fs922108MHz 64.8sf93997.9MHz71.2ss1.46k87.4MHz62.48.温度分析Ota simulation.prot.lib LIB_PATHcz6h_v28.lib tt.unprot.option post probe.probe dc v(vo).op.dc v_vdc 2.45 2.51 0.0001 sweep temp 0 100 20*.trans 0.1ns 1
25、000ns*.ac dec 10 1k 500meg$sweep ccv 0 5p 1p*.noise v(vo)v_vac 20.para rzv=1k ccv=1p clv=1p$alfa=agauss(0,3,3).inc NETLIST_PATH.end做温度扫描,分析各种温度下增益和失调的变化温度分析温度变化对系统失调和增益的影响00100100Vo=vdd/2分别对应于V_vdc为:2.48822.48772.48732.48682.48632.4858温度分析Ota simulation.prot.lib LIB_PATHcz6h_v28.lib tt.unprot.option
26、 post probe.probe ac v(vo)vp(vo).temp 0*.dc v_vdc 2.45 2.51 0.0001$sweep monte=30*.trans 0.1ns 1000ns.ac dec 10 1k 500meg$sweep ccv 0 5p 1p*.noise v(vo)v_vac 20.para rzv=1k ccv=1p clv=1p$alfa=agauss(0,3,3).inc NETLIST_PATH.end知道了各种温度的失调后,就可以设置V_vdc做AC扫描,分析各种温度下的增益和GBW的变化插入下一页内容将的V_vdc定义改为:V_vdc vip
27、0 2.4882V温度分析.alter.temp 20V_Vdc vip 0 2.4877V.alter.temp 40V_Vdc vip 0 2.4873V.alter.temp 60V_Vdc vip 0 2.4868V.alter.temp 80V_Vdc vip 0 2.4863V.alter.temp 100V_Vdc vip 0 2.4858V.end对于各种温度加入了对应的V_vdc定义温度分析不同温度下的AC分析结果1000温度分析不同温度下的AC分析结果1000温度分析由仿真结果可测得:temp gainGBWPhase margin01.03k109MHz68.320998104MHz67.44096298.3MHz 66.86093694.5MHz 66.28091390.7MHz 65.710089086.7MHz 65.4温度升高性能变差!