HSPICE王冠男郭娟imeanalog2010@gmail.com联系方式•郭娟:15210361673guo_juan_2008@yeah.net实验室:2615•王冠男:13581798768dorahome@163.com实验室:2620Outline•Hspice历史•Hspice下载安装•Hspice使用流程•Hspice语法•Hspice实例HSPICE历史SPICE•SimulationProgramwithIntegratedCircuitEmphasis•1972年由UCBerkeley的电气工程和计算机科学系开发HSPICE•最初由Meta-Software开发,现属于Synopsys•模型较多,仿真精度高,收敛性强•在亚微米和深亚微米工艺中表现出色Hspice2007安装下载地址IME的FTP/incoming/EE_incoming•hspice_vA-2007.09_Win_setup.exe•hspice200709.licHSPICE2007的安装HSPICE2007的安装HSPICE2007的安装HSPICE2007的安装NEXT...NEXT...HSPICE2007的安装设置系统环境变量点击“开始”右键“我的电脑”选择“属性”选择“高级”选择“环境变量”HSPICE2007的安装HSPICE2007的安装设置系统环境变量LM_LICENSE_FILE=pathofyourlicensefileHSPICE2007的安装•如果运行不成功,可试试在环境变量的个人用户变量里增加几个值•变量名:installdir•变量值:D:\soft\HSPICE(软件安装所在路径)•变量名:installdir_A-2007.09•变量值:D:\soft\HSPICE(软件安装所在路径)•注意:必须安装在全英文路径下。Hspice使用流程流程:•1.用windows的记事本新建一个文件,并将其扩展名修改为.sp,例如改名为inv.sp;•2.选中并右键选择打开方式,选写字板或记事本,然后编写hspice代码。•3.用HSPICE进行仿真,并查看仿真结果•注意:.sp文件必须在全英文路径下。•1.运行HSpuiA-2007.09(其它版本类似)•2.点击OPEN,导入编写好的“inv.sp”文件Hspice使用流程2009.10Hspice使用流程•3.点击Simulate,开始仿真,将弹出一个运行框。仿真运行完毕,该框会自行消失。2009.10Hspice使用流程•4.点击主界面EditLL,查看.lis输出文件里面是否有error,有则修改代码,重新仿真2009.10Hspice使用流程•5.点击Avanwaves,查看仿真结果2009.10Hspice使用流程•6.如果软件的安装及网表代码的编写都正确,则会弹出如下两个框:2009.10Hspice使用流程•7.点击选中小窗口里仿真类型、需要输出的电流或电压节点,结果会在大窗口里显示。Hspice输入文件•.sp文件文件结构1.标题语句:放在代码的第一行,通常情况下代码的第一行在执行时会被忽略。2.电源和信号源描述语句:指明了电路中使用的电源和信号源的类型、连接关系和参数。3.元器件描述语句:指明了电路中元器件的类型和它们之间的连接关系,以及元器件参数和模型参数等。4.仿真类型语句:指明进行什么类型的仿真分析,如直流、交流、瞬态分析等。5.模型语句:指明元器件采用的模型,可以调用已有模型,也可以在代码中自己定义。6.结束语句:.end(位于最后一行,表示代码结束)Hspice输入文件•.sp文件文件结构Hspice的输入•输入行格式•文件名、语句、等式的长度不能超过256字符;•上标和下标将被忽略;•对英文字符大小写不敏感•用加号(+)表示续行,此时加号应该是新续之行的第一个非空格字符;•星号(*)和美圆符号($)可以引出注释行,但*必须是每行第一个字母,而$一般跟在一个语句后,并与语句有至少一个空格。元件库语句•.lib.libC:\synopsys\VLSI_HW\ms018_v1p8.libtt•.include.includeC:\synopsys\VLSI_HW\ms018_v1p8.mod标题信号源元器件仿真类型模型结束语句.model•.model引导模型说明语句.MODEL模型名元器件类型元器件参数例如:nmos模型.modelmod1nmosVTO=1.0KP=4.5E-5LAMBDA=0+GAMMA=0.4TOX=1.0E-7NSUB=4.0E+15LD=0.06U+CJ=2.0E-4MJ=0.5CJSW=2.0E-10MJSW=0.4+CGSO=1E-10CGDO=1E-10CGBO=2E-9标题信号源元器件仿真类型模型结束语句信号源1•直流源Vxxxnode1node2DC5V•交流源Vxxxnode1node2AC1V90•混合Vxxxnode1node2DC=5AC=190标题信号源元器件仿真类型模型结束语句信号源-2•正弦电压源•形式为:•Vxxxnode1node2sin(VOVPFREQTDDFPHASE)–VO:直流部分的偏置值–VP:交流部分的振幅–FREQ:频率–TD:延迟时间–DF:阻尼系数–PHASE:初相位•例如:V1absin(0.5V2V1000HZ000)信号源-3•周期性方波电压源•形式如下:Vxxxnode1node2PULSE(V1V2tdt1t2pwperiod)–V1初始值–V2峰值–td延迟时间–t1上升时间–t2下降时间–pw脉冲宽度–period脉冲周期VoltTimetdt1pwt2periodV1V2信号源-4•自定义脉冲源(利用坐标来自定义折线)•举例如下:•V1m0PWL120n0v,130n5v,170n5v,180n0v信号源-4元器件与节点•元器件一般由字母或数字命名,必须以字母开头,字母不区分大小写•元器件首字母代表其属性。常用的元器件种类有:R、C、L、D、Q、M•节点由字母或数字命名,如vdd,1,node1•节点0,GND,GND!,GROUND默认表示”地”标题信号源元器件仿真类型模型结束语句比例因子F1E-15P1E-12N1E-9U1E-6M1E-3K1E3MEG1E6G1E9T1E12实例-元器件•ron203MEG•c13220p•mndgsbmod1w=1ul=1u遵循“漏、栅、源、衬”的顺序•mpdgsbpmodw=3ul=2u.modelmod1nmos……参数变量•.Paramname=value•.Paramlength=1uwidth=3u•mpdgsbpmodw=widthl=length子电路定义.subcktnamenode1(node2…)….endsname若后有子电路名,表示该子电路定义结束;若没有,表示所有子电路定义结束子电路调用,以x作为开头,与元器件实例化规则相同。37123inv1inv2inv3MpMn01238/14/1.subcktinv123mp2133pmodw=8ul=1umn2100nmodw=4ul=1u.endsxinv112vddinvxinv223vddinvxinv331vddinv实例-子电路38123inv1inv2inv3MpMn01238/14/1.subcktinv12mp21vddvddpmodw=8ul=1umn2100nmodw=4ul=1u.ends.globalvddxinv112invxinv223invxinv331inv实例-子电路分析语句•直流工作点.op•直流.dc•交流.ac•瞬态.tran.op语句•工作点分析.OP•此语句规定计算电路的直流工作点。这时电路中的电感按短路、电容按开路处理。设置了该语句,仿真的输出生成文件里可观察到电路的完整直流工作点。•无论输入文件中有无.OP语句,程序在进行直流、交流和瞬态分析时,都要自动进行直流偏置点分析。.dc语句Type:DEC(十进位)/OCT(倍频)/LIN(线性)/POI(列表)Np-单位范围内的点数(依type而定)SWEEP后的变量可是电压、电流或温度等变量。•对指定的变量在指定的范围内进行扫描,每给一个变量的扫描点,就对电路进行一次直流分析计算。对哪个变量扫描,哪个变量就是自变量,即仿真图形里的横坐标。例如对MOS管的Vgs进行DC扫描,检测Ids,则仿真图形得到MOS管的转移特性曲线Ids-Vgs。•.DCLINVin-0.50.50.01•.DCVin-0.50.50.01•表示对电压源Vin从-0.5V到0.5V进行线性扫描,步长为0.01V.dc语句.ac语句•交流分析.AC•一般在电路中只能设一个非零交流电源(AC源),交流分析时语句所对应的信号源就为该交流电源,无需再列出。.ACLIN101100HZ200HZ线性扫描,扫描频率初值是100HZ,终值是200Hz,中间共有101个扫描点。.ACDEC201MEG100MEG10倍频程扫描,扫描频率初值1MEG,终值100MEG,每10倍频程含20个扫描点。.tran语句•瞬态分析.TRAN•计算电路各输出变量(电压、电流等)随时间变化的规律。.TRAN5u1m该语句的含义是总分析时间为1ms,步长5us。.TRAN1n100nUIC使用初始条件。.ICv15V输出控制•测量仿真延迟.measuretrant1trigV(in)val=0.6rise=1targV(out)val=0.6fall=1.measuretrant2trigV(in)val=0.6fall=3targV(out)val=0.6fall=3•平均功耗测量.MEASTRANAvgPower1AVGP(vcc)FROM=100nsTO=400ns•峰值测量.MEASTRANVmaxMAXv(out)FROM=0TO=20n.MEASTRANVminMAXv(out)FROM=0TO=20n例子:简单跨导放大器分析——HSPICE分析举例电路指标分析直流工作点分析,偏置电流与功耗等交流分析:开环增益、GBW与相位裕度等瞬态分析等电路网表*Otasimulation*.prot.LIB'F:\HSPICE\H05MIXDDST02V12.LIB'TT*.unprot.optionpostprobe.probeacv(vo1)v(vo)vp(vo)*.probedcv(vo1)v(vo).op.dcv_vdc2.482.4950.0001*.acdec101k200megsweepccv05p1p*.acdec101k200megsweeprzv02k0.2k.pararzv=1kccv=1pclv=1p*circuitnetlistV_Vpvdd05VV_Vdcvin02.5V*V_Vacvip0DC2.4779VAC1V0R_Rzvo1N_0001rzvC_CcN_0001voccvC_CL0voclvC_Cb0vb10pR_Rbvbvdd100kM_U2vo1vipN_00020NVNL=0.6uW=12uM=2M_M1N_0003N_0003vddvddNVPL=2uW=12uM=2M_M3vovo1vddvddNVPL=0.6uW=12uM=8M_U1N_0003vinN_00020NVNL=0.6uW=12uM=2M_U4vovb00NVNL=5uW=12uM=8M_U5vbvb00NVNL=5uW=12uM=1M_U3N_0002vb00NVNL=5uW=12uM=4M_M2vo1N_0003vddvddNVPL=2uW=12uM=2*V_Vdcvip0pulse(0v5v1n1p1p600n1200n)*M_U1N_0003voN_00020NVNL=0.6uW=12uM=2*.probetranv(vip)v(vo)*.tran5n2u.saveall.end工作点分析•浏览并分析.lis文件的内容•用oper查找,即可找到operatingpoi