hspice-tutorial
- 格式:pptx
- 大小:1.47 MB
- 文档页数:23
HSPICE 入门说明:1. 网上已经有大量有关SPICE如何使用的说明文档,所以本篇不拟详细介绍SPICE的语法,而把重点放在软件的安装和范例上.2. SPICE诸多版本(such as HSPICE,PSPICE,TSPICE,IsSPICE,SPICE2G.6,spice3e,etc)其内核是相同的,它们的语法绝大部分也彼此兼容(注意:也有例外).3. 本文中使用的是SYNOPSYS公司的HSPICE PC版(Hspice_2002.2.2_pc).4. 简单的HSPICE语法请参考<HSPICE使用流程>(与本篇放在同一文夹中).详细的SPICE语法,使用方面的资料放在服务器上,地址: \\Rddomain\规范标准\教材\other5. 后面附有HSPICE安装说明,和BIAS前后的尺寸变换原则.模拟集成电路的仿真工具是众多EDA工具中的一个重要组成部分.模拟电路复杂的性能和多样的电路结构,决定了其对仿真工具的精度,可靠性,收敛性以及速度等都有很高的要求.国际上公认的模拟电路通用仿真工具是美国加利福尼亚大学Berkeley分校开发的SPICE程序,目前享有盛誉的EDA公司的模拟电路工具,都是以SPICE为基础开发的. SPICE-------S imulation P rogram with I ntegrated C ircuit E mphasis.输入HPSICE程序进行分析的电路,由一组元件语句和一组分析控制语句来描述.用元件语句指定电路的拓扑关系和元件值;用分析语句来规定电路的分析类型,模型参数和运行的控制.一.HSPICE语法简介:SPICE可以做直流分析(DC Analysis),交流分析(AC Analysis),瞬态分析(Transient Analysis)等.(一)分析类型.1) .OP计算并打印工作点.2) .DC var1 start1 stop1 incr1 [var2 start2 stop2 incr2]DC 扫描分析.例:.DC Vin 0.25 5.0 0.25$从0.25V到5 V扫描Vin,步长0.25V.DC Vds 0 5 0.1 Vgs 0 5 1$在Vgs分别在0,1,2,3,4,5V这六个电压点上,以步长0.1V从0V到5V扫描Vds..DC TEMP –55 125 25$从-55度到125度以25度的步进扫描TEMP3).AC type npoint fstart fstopAC小信号分析.例:.AC DEC 10 1K 100MEG$Freq.sweep 10 points per decade for 1khz to 100meghz.AC lin 100 1 100hz$linear sweep 100 points from 1hz to 100hz4).TRAN tincr1 tstop1 [tincr2 tstop2……..] [start=val]瞬态分析.例如:.TRAN 1ns 100ns$Transient analysis is made from 0 to 100ns and printed per 1ns.Tran 0.1ns 25ns 1ns 40ns start=10ns$calculation is made every 0.1ns for the first 25ns ,and then every 1ns until 40ns .the printing and plotting begin at 10ns(二) 元件语句1) Rstring n+ n- rval电阻语句,n+表示电阻高电位,n-表示低电位,rval表示电阻值.2) Cstring n+ n- cval [IC=Vval]电容语句. 其中可选项IC=VV AL表示电容的初始电压.3)Lstring n+ n- LV AL [IC=CV AL]电感语句.其中IC=CV AL表示电感的初始电流.4)MSTRING ND NG NS [NB] MNAME [L=V AL] [W=V AL][VDS=V AL] …………MOS管语句,ND NG NS NB 分别表示源,栅,漏极和衬底的结点名.二.几个例子1.当反向器的输入电压由0V线性上升到3V时,分析反向器的输出波形我们用COHESION画原理图,并提出后缀为.spi的网表(也可以用其它工具来提网表).下图是用COHESION画的原理图,提出的网表如下:M1 vout vin VCC VCC PMOS L=1u W=4uM2 vout vin gnd GND NMOS L=1u W=2uMOS管我们用MC30模型:* mc30.model nmos nmos level=4 tox=45e-9 vto=0.90 tpg=0.model pmos pmos level=4 tox=45e-9 vto=-0.10 tpg=0下面是完整的输入文件,语句的说明在后面以注释的形式给出,*inversorM1 vout vin VCC VCC PMOS L=1u W=4uM2 vout vin gnd GND NMOS L=1u W=2u* mc30.model nmos nmos level=4 tox=45e-9 vto=0.90 tpg=0.model pmos pmos level=4 tox=45e-9 vto=-0.10 tpg=0vcc vcc gnd 3*电源电压直流3Vvin vin gnd pwl(0 0 2 3 3 3 5 0)*输入为分段线性电压.tran 100u 6 *瞬态分析,0~6秒,步长100us.end注意:COHESION提出的网表文件后缀为.spi,在进行仿真时后缀必须改为.sp.在HSPICE的主界面(见图1) 上,单击"OPEN",找到仿真文件所在目录,并且选中要仿真的文件,再单击界面上的"SIMULATE"进行仿真,完毕后,单击"EDIT LL"查看仿真情况,如果有错误,HSPICE会在这个文件(.lis文件)中说明.若无错误,则单击"AVANWAVE"查看仿真结果.(图1:HSPICE界面)下面是单击"AVANWAVE"弹出的窗口:点击 “Transient *inversor”和 “V oltages”,最后双击“0”, “vcc”, “vin”, “vout” ,可以看到下面的结果:二.斯密特触发器仿真.下面是原理图:下面是仿真文件:* schmitt.spi - 2005-3-27 9:12:16 下午*.GLOBAL GND VSS VDD VCC*M1 VCC VI N_2 VCC PMOS L=0.2U W=2.5UM2 N_2 VI VO VCC PMOS L=0.2U W=2.5UM3 N_2 VO GND VCC PMOS L=0.2U W=4UM4 VO VI N_1 GND NMOS L=0.2U W=2.5UM5 N_1 VI GND GND NMOS L=0.2U W=2.5UM6 VCC VO N_1 GND NMOS L=0.2U W=4Uvcc vcc gnd 3vin vi gnd pwl(0 0 1u 3 2u 3 3u 0 r=0) *分段电压,从R=0开始重复.tran 0.1u 20u.op.model pmos pmos level=47.model nmos nmos level=47.end下面是输出结果:黄线表示输入,红线表示输出.三,RC振荡器仿真.仿真下面的电路,要求I_12,I_11两管的宽在20U到70U之间取五个值,查看电路振荡的情况.下面是仿真文件:* rc.sp.GLOBAL GND VSS VDD VCC*M1 N_3 N_1 VCC VCC PMOS L=1U W=3UM2 N_3 EN VCC VCC PMOS L=1U W=3UM3 N_5 N_3 VCC VCC PMOS L=2U W=16UM4 N_6 N_5 VCC VCC PMOS L=2U W $W为变量M5 OSC0 N_6 VCC VCC PMOS L=2U WM6 CLKOUT OSC0 VCC VCC PMOS L=2U W=8UM7 N_1 OSC1 VCC VCC PMOS L=2U W=6.2UM8 N_5 N_3 GND GND NMOS L=2U W=7UM9 N_6 N_5 GND GND NMOS L=2U W=28UM10 OSC0 N_6 GND GND NMOS L=2U W=28UM11 N_4 N_1 N_3 GND NMOS L=1U W=3UM12 CLKOUT OSC0 GND GND NMOS L=2U W=4UM13 N_4 EN GND GND NMOS L=1U W=3UM14 GND OSC1 N_1 GND NMOS L=2U W=3UC15 N_6 OSC1 10PR16 OSC0 OSC1 350Kvcc vcc gnd 3vven en gnd 3v*TSMC MOS MODEL.model nmos nmos level=13+vfb0=-8.27348e-01 lvfb=1.42207e-01 wvfb=3.48523e-02 +phi0=7.87811e-01 lphi=0.00000e+00 wphi=0.00000e+00 +k1=9.01356e-01 lk1=-1.96192e-01 wk1=1.89222e-02 +k2=4.83095e-02 lk2=-4.10812e-02 wk2=-2.21153e-02 +eta0=2.11768e-03 leta=3.04656e-04 weta=-1.14155e-03+muz=4.93528e+02 dl0=5.39503e-02 dw0=4.54432e-01+u00=5.81155e-02 lu0=4.95498e-02 wu0=-1.96838e-02+u1=-5.88405e-02 lu1=6.06713e-01 wu1=4.88790e-03+x2m=9.22649e+00 lx2m=-8.66150e+00 wx2m=9.55036e+00 +x2e=-7.95688e-04 lx2e=2.67366e-03 wx2e=3.88974e-03+x3e=2.14262e-03 lx3e=-7.19261e-04 wx3e=-3.56119e-03+x2u0=2.05529e-03 lx2u0=-3.66841e-03 wx2u0=1.86866e-03+x2u1=-1.64733e-02 lx2u1=-3.63561e-03 wx2u1=3.59209e-02+mus=4.84793e+02 lms=3.14763e+02 wms=-3.91874e+01+x2ms=-4.21265e+00 lx2ms=-7.97847e+00 wx2ms=3.50692e+01+x3ms=-5.83990e+00 lx3ms=6.64867e+01 wx3ms=-1.99620e+00 +x3u1=-1.44106e-02 lx3u1=8.14508e-02 wx3u1=7.56591e-04+toxm=2.30000e-02 tempm=2.30000e+01 vddm=5.00000e+00+cgdom=5.04000e-10 cgsom=5.04000e-10 cgbom=1.91000e-09+xpart=1.00000e+00 dum1=0.00000e+00 dum2=0.00000e+00+n0=2.00000e+02 ln0=0.00000e+00 wn0=0.00000e+00+nb0=0.00000e+00 lnb=0.00000e+00 wnb=0.00000e+00+nd0=0.00000e+00 lnd=0.00000e+00 wnd=0.00000e+00* n+ diffusion layer+rshm=80.0 cjm=7.000e-004 cjw=4.20e-010+ijs=1.00e-008 pj=0.700e000+pjw=0.8000e000 mj0=0.5 mjw=0.33+wdf=0 ds=0*pmos model.model pmos pmos level=13+vfb0=-5.63441e-01 lvfb=-1.06809e-01 wvfb=1.32967e-01+phi0=7.46390e-01 lphi=0.00000e+00 wphi=0.00000e+00+k1=6.57533e-01 lk1=1.94464e-01 wk1=-1.60925e-01+k2=-2.55036e-03 lk2=1.14752e-01 wk2=-8.78447e-02+eta0=-5.59772e-03 leta=2.50199e-02 weta=-5.66587e-04+muz=1.73854e+02 dl0=2.72457e-01 dw0=6.57818e-01+u00=1.26943e-01 lu0=4.25293e-02 wu0=-4.31672e-02+u1=-1.00718e-02 lu1=1.50900e-01 wu1=-1.00228e-02+x2m=1.03128e+01 lx2m=-3.94500e+00 wx2m=1.87986e+00 +x2e=1.55874e-03 lx2e=4.80364e-03 wx2e=-1.45355e-03+x3e=4.20214e-04 lx3e=-2.05447e-03 wx3e=-7.44369e-04+x2u0=1.00044e-02 lx2u0=-4.43607e-03 wx2u0=1.05796e-03+x2u1=-5.64102e-04 lx2u1=1.97407e-03 wx2u1=6.65336e-04+mus=1.77550e+02 lms=1.02937e+02 wms=-2.94207e+01 +x2ms=8.73183e+00 lx2ms=1.51499e+00 wx2ms=9.06178e-01 +x3ms=1.11851e+00 lx3ms=9.75265e+00 wx3ms=-1.88238e+00 +x3u1=-4.70098e-05 lx3u1=9.43069e-04 wx3u1=-9.19946e-05+toxm=2.30000e-02 tempm=2.30000e+01 vddm=5.00000e+00 +cgdom=1.00000e-09 cgsom=1.00000e-09 cgbom=1.91000e-09+xpart=1.00000e+00 dum1=0.00000e+00 dum2=0.00000e+00+n0=2.00000e+02 ln0=0.00000e+00 wn0=0.00000e+00+nb0=0.00000e+00 lnb=0.00000e+00 wnb=0.00000e+00+nd0=0.00000e+00 lnd=0.00000e+00 wnd=0.00000e+00*p+ diffusion layer+rshm=140.0 cjm=4.0e-004 cjw=2.4e-010+ijs=1.00e-008 pj=0.700e000+pjw=0.8000e000 mj0=0.5 mjw=0.33+wdf=0 ds=0.tran 10n 20u sweep w lin 5 20u 70u $20U到70U间线性取5个值..end下面是仿真后的波形.附录:一.HSPICE安装说明:HSPICE安装文件放在服务器上:\\Rddomain\电子设计\Hspice解压后双击图标安装,默认情况下安装在C:\Synopsys\Hspice2002.2.2.因为是盗版软件,需要在安装完后做一下修改(添加环境变量),步骤是:1.在桌面上,右键单击“我的电脑”----“属性”----“高级”-----“环境变量”-----“新建”,在“变量名”一栏中填写 “ installdir”,在“变量值”一栏中填写HSPICE安装的路径, 本次就是"C:\synopsys\Hspice2002.2.2",填好后点击 “确定".2.安照上面的步骤添加第二个变量,变量名为"LM_LICENSE_FILE","变量值"为licence.dat文件(这个文件在原来的安装文件中找)的路径,比如放在c:\flexlm中,则填写"c:\flexlm\licence.dat”,填好后点击"确定".至此,我们添加了两个环境变量,最后重新启动一下机子就可以用了.注意:有的机子在修改系统时间后才能正常使用HSPICE,这时只要把系统时间修改一下(只能超前改),比如改为2005年,2007年.二.MOS管BIAS前后的尺寸变换原则.(适应于05E,TC3工艺)考虑到制造过程中工艺的影响(P+,N+区收缩),为使生产出的电路性能尽可能接近仿真时的情况,经仿真确定的电路交给LAYOUT组画图前要对原来的MOS管宽长比进行变换,尺寸变换基于以下三个原因:1.P +,N+区在实际生产时会沿边界往内收缩0.5UM.2.光刻机可刻的最小线宽1.5UM.3.当L(版图尺寸)>=2.5UM时,画版图时源漏区宽度要比沟道区宽2UM,即两头大,中间小,两边各“出头”1UM.尺寸变换原则如下:假设仿真时的宽长分别为W´和L´,交给LAYOUT组的宽长分别为W和L,那么:1. L<2.5um时a. 若W>L,则必须满足W≥2.5um,并且有:W´=W-1,L´=L+1图1 W>L且W≥2.5umb. 若W<2.5um,这种情况不允许出现2. L≥2.5um时,无论W的尺寸是大于L还是小于L,都是W´=W+1,L´=L+1图2 L≥2.5um且W≥L图3 L≥2.5um但W<L例:若仿真时的宽长比为:3/2,则交LAYOUT画图时改为:(3+1)/(2-1)=4/1若仿真时宽长比为:1.5/1.2,刚LAYOUT时为:(1.5+1)/(1.2-1)=2.5/0.2.。
Hspice应⽤讲解讲解Hspice应⽤讲解Hspice是⼀种通⽤电路分析程序,可⽤来进⾏集成电路和电⼦线路的分析模拟。
它可以⽤来分析电路的⾮线性直流特性,线性交流⼩信号特性,⾮线性瞬态特性,温度特性等。
其中,直流分析(.DC)不光可进⾏直流转移特性分析,还可进⾏直流⼯作点(.OP),直流⼩信号传输特性(.TF),直流⼩信号灵敏度(.SENS)分析;在进⾏交流分析(.AC)的同时还可进⾏噪声特性(.NOISE)和失真特性(.DISTO)分析;在进⾏瞬态分析(.TRAN)的同时还可进⾏傅⽴叶(.FOUR)分析;进⾏温度特性分析(.TEMP)以求得电路的温度特性。
在进⾏交流分析和瞬态分析前先进⾏直流分析,以决定其⾮线性组件的线性化⼩信号模型和其初始条件。
Hspice输⼊描述⽂件格式:Hspice的输⼊描述⽂件格式是⼀种⾃由格式,其输Array⼊的第⼀条语句必须是标题语句,且不能省略;最后⼀条语句必须是结束语句(.END),其余语句的顺序是任意的。
在输⼊描述⽂件的任何地⽅都可插⼊注释语句(在语句前加“*”或“$”),程序只对注释语句进⾏原样打印⽽不进⾏任何处理。
组件语句是说明该组件的拓扑关系和组件值的。
每个组件给予⼀个组件名,组件名的第⼀个字母说明该组件的类型,Hspice并对各种类型的组件所对应的英⽂字母作了规定,组件名不能重复。
组件的节点号可以⽤⼀正整数表⽰,也可以⽤⽹点名表⽰。
模型语句是说明该组件的模型参数的。
在模型语句中定义⼀组组件模型参数并赋予⼀个唯⼀的模型名,在组件语句中即可引⽤此模型名,表明此组件具有该组模型参数值。
⼦电路是⽤⼀组组件语句来定义,程序会⾃动将这组组件插⼊到⼦电路被调⽤的地⽅,其⼤⼩和复杂性没有限制,并允许其包含其它⼦电路。
在电路中不能包括短路的电压源和电感,开路的电流源和电容,电路中的每个节点都不能悬空。
控制语句是控制程序的运⾏和规定分析及输出的内容。
如温度语句,⼯作点分析语句,交流分析语句,瞬态分析语句,打印语句,绘图语句和可选项语句等。
Hspice语法手册天津大学电信学院陈力颖Preface最初写作本文的目的是希望提供一份中文版的Hspice手册从而方便初学者的使用,本文的缘起是几位曾经一起工作过的同事分别进入不同的新公司,而公司主要是使用Hspice,对于已经熟悉了Cadence的GUI界面的使用者转而面对Hspice的文本格式,其难度是不言而喻的,而Hspice冗长的manual(长达2000页以上)更让人在短时间内理不出头绪。
鉴于我曾经使用过相当一段时间的Hspice,于是我向他们提供了一份简单而明了的handbook来帮助他们学习,本来是准备借助一个具体运放的设计例子,逐步完善成为一份case by case的教程,但由于工作比较浩大,加之时间的关系,一直难以完成,愈拖愈久,在几个朋友的劝说下,与其等其日臻完善后再发布,不如先行发布在逐步完善,以便可以让更多的朋友及早使用收益。
本文虽通过网络发表,但作者保留全部的著作权,转载时务请通知本人。
由于水平的有限,讨论范围的局限及错误不可避免,恳请读者指正。
联系方式为e-mail: nkchenliy@。
目录一、HSPICE基础知识 (2)二、有源器件和分析类型 (3)三、输出格式和子电路 (4)四、控制语句和OPTION语句 (6)五、仿真控制和收敛 (7)六、输入语句 (8)七、统计分析仿真 (9)天津大学电信学院陈力颖2006年2月一、HSPICE基础知识Avant! Start-Hspice(现在属于Synopsys公司)是IC设计中最常使用的电路仿真工具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准。
目前,一般书籍都采用Level 2的MOS Model进行计算和估算,与Foundry经常提供的Level 49和Mos 9、EKV等Library不同,而以上Model要比Level 2的Model复杂的多,因此Designer除利用Level 2的Model进行电路的估算以外,还一定要使用电路仿真软件Hspice、Spectre等进行仿真,以便得到精确的结果。
Hspice使用指南安装1. 安裝Hspice 2009.09 和Spiceexplorer 2009.092. 產生License 檔案(Hspice and Spiceexplorer)到"keygen" 的目錄下執行LicGen.exe2.1 按"Open" 開啟"Synopsys.lpd"檔案2.2 在"Select Host ID" 選擇"Any"勾選"Use Daemon"並在"Select Daemon ID" 選擇"Disk"2.3 按"Generate" 後會出現一個視窗"Generated License",按Save,將檔名儲存為"license.dat"2.4 複製此"license.dat" 到目錄"C:\synopsys\Hspice_C-2009.09\" 下3. 啟動License (Spiceexplorer)複製"lm" 目錄到"C:\synopsys\Hspice_C-2009.09\" 下,進入"lm" 目錄執行"lmtools.exe"下面的地方要注意一下打开后跟着图片进行选择看到黄色的successful就是软件licence装好了,应该就可以用了下面开始写sp文件,以群里面那个sp文件做下范例cmosinverter标注.pdf改好以后下一步选择如图所示项目生成.lis文件完成此步骤后,存储目录下会多出一个接下来进行仿真,打开仿真界面然后此窗口自动关闭后打开edit ll,如果内容有误,会有error这样的字眼,根据提示做修改,改好再按照前面的步骤重新做一遍无报错后,继续往下走打开图形查看器选择文件路径,只能放在C盘下面,其他路径找不到选好会弹出如下窗口步骤3双击后会出现如下的图然后要作业里面的其他图如下为第二张图页面上的图很多了,要出第三张图,我不太会,就只能先把sp关掉再打开一次再打开一次SP,方法前面的步骤里有出来第三张图完成。
第一章概论§1.1 HSPICE简介随着微电子技术的迅速发展以及集成电路规模不断提高,对电路性能的设计要求越来越严格,这势必对用于大规模集成电路设计的EDA工具提出越来越高的要求。
自1972年美国加利福尼亚大学柏克莱分校电机工程和计算机科学系开发的用于集成电路性能分析的电路模拟程序SPICE(Simulation Program with IC Emphasis)诞生以来,为适应现代微电子工业的发展,各种用于集成电路设计的电路模拟分析工具不断涌现。
HSPICE是Meta-Software公司为集成电路设计中的稳态分析,瞬态分析和频域分析等电路性能的模拟分析而开发的一个商业化通用电路模拟程序,它在柏克莱的SPICE(1972年推出),MicroSim公司的PSPICE (1984年推出)以及其它电路分析软件的基础上,又加入了一些新的功能,经过不断的改进,目前已被许多公司、大学和研究开发机构广泛应用。
HSPICE可与许多主要的EDA设计工具,诸如Candence,Workview等兼容,能提供许多重要的针对集成电路性能的电路仿真和设计结果。
采用HSPICE软件可以在直流到高于100MHz的微波频率范围内对电路作精确的仿真、分析和优化。
在实际应用中,HSPICE能提供关键性的电路模拟和设计方案,并且应用HSPICE进行电路模拟时,其电路规模仅取决于用户计算机的实际存储器容量。
§1.2 HSPICE的特点与结构HSPICE除了具备绝大多数SPICE特性外,还具有许多新的特点,主要有:!优越的收敛性!精确的模型参数,包括许多Foundry模型参数!层次式节点命名和参考!基于模型和库单元的电路优化,逐项或同时进行AC,DC和瞬态分析中的优化!具备蒙特卡罗(Monte Carlo)和最坏情况(worst-case)分析!对于参数化单元的输入、出和行为代数化!具备较高级逻辑模拟标准库的单元特性描述工具!对于PCB、多芯片系统、封装以及IC技术中连线间的几何损耗加以模拟在HSPICE中电路的分析类型及其内部建模情况如图1.2.1和图1.2.2所示:图1.2.1HSPICE的电路分析类型图1.2.2 HSPICE的内部建模技术集成电路设计中的分析和验证是一种典型的围绕一系列结构的试验和数据管理。