基于Hspice 的网表编写及运用.vec文件进行仿真

合集下载

CMOS译码器设计与HSPICE仿真

CMOS译码器设计与HSPICE仿真

《集成电路设计》课程设计报告基于HSPICE的晶体管级电路设计与仿真题目:CMOS2-4译码器设计与HSPICE仿真学院专业班级学生姓名指导教师提交日期目录一、设计目的 (1)二、设计要求和设计指标 (1)三、设计内容 (1)CMOS2-4译码器原理及电路设计 (1)门级设计 (1)门的CMOS实现 (2)仿真结果与分析 (5)四、总结 (7)五、主要参考文献 (10)一、设计目的熟悉《数字集成电路设计》课程,学习Hspice软件的使用,以及.sp文件的编写,进一步理解掌握CMOS设计组合逻辑电路与时序逻辑电路的基本知识,继而熟练地运用半导体集成电路知识。

二、设计要求和设计指标(1)了解C2MOS 主从正沿触发寄存器的电路结构、电路原理;(2)了解电路具体参数,包含的晶体管数目、晶体管尺寸、连线情况等;(3)利用HSPICE软件,编写.sp 文件;(4)仿真该sp 文件,得出描述电路性能的函数图线、波形等参数;(5)在具体的软硬件实验环境中,进行设计模拟、仿真和调试,解决设计调试中的具体问题;得出结论,并完成设计。

三、设计内容CMOS2-4译码器原理及电路设计门级设计译码器是组合逻辑电路的一个重要器件,把代码状态的特定含义“翻译”出来的过程叫做译码,实现译码操作的电路称为译码器。

译码器是可以将输入二进制代码的状态翻译成输出信号,以表示其原来含义的电路。

而CMOS2-4译码,是将其输入的两位二进制代码“00”“01”“10”“11”进行翻译,从而控制电路的输出线路,实现四路译码的过程。

其真值表如图表1所示:A B Y0Y1Y2Y3000111011011101101111110图表1由图表1可以得到CMOS2-4译码器的布尔表达式为:Y0=Y1=Y2=Y3=从而可以得到CMOS2-4译码器门级设计的电路图,如图表2:123U1A 12U5A123U6A123U2A 12U4A123图表2这样,通过两个非门和四个与非门就可以实现如图表1中的真值表所示的逻辑功能。

HSPICE入门

HSPICE入门

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应用讲解Hspice是一种通用电路分析程序,可用来进行集成电路和电子线路的分析模拟。

它可以用来分析电路的非线性直流特性,线性交流小信号特性,非线性瞬态特性,温度特性等。

其中,直流分析(.DC)不光可进行直流转移特性分析,还可进行直流工作点(.OP),直流小信号传输特性(.TF),直流小信号灵敏度(.SENS)分析;在进行交流分析(.AC)的同时还可进行噪声特性(.NOISE)和失真特性(.DISTO)分析;在进行瞬态分析(.TRAN)的同时还可进行傅立叶(.FOUR)分析;进行温度特性分析(.TEMP)以求得电路的温度特性。

在进行交流分析和瞬态分析前先进行直流分析,以决定其非线性元件的线性化小信号模型和其初始条件。

Hspice输入描述文件格式:Hspice的输入描述文件格式是一种自由格式,其输Array入的第一条语句必须是标题语句,且不能省略;最后一条语句必须是结束语句(.END),其余语句的顺序是任意的。

在输入描述文件的任何地方都可插入注释语句(在语句前加“*”或“$”),程序只对注释语句进行原样打印而不进行任何处理。

元件语句是说明该元件的拓扑关系和元件值的。

每个元件给予一个元件名,元件名的第一个字母说明该元件的类型,Hspice并对各种类型的元件所对应的英文字母作了规定,元件名不能重复。

元件的节点号可以用一正整数表示,也可以用网点名表示。

模型语句是说明该元件的模型参数的。

在模型语句中定义一组元件模型参数并赋予一个唯一的模型名,在元件语句中即可引用此模型名,表明此元件具有该组模型参数值。

子电路是用一组元件语句来定义,程序会自动将这组元件插入到子电路被调用的地方,其大小和复杂性没有限制,并允许其包含其他子电路。

在电路中不能包括短路的电压源和电感,开路的电流源和电容,电路中的每个节点都不能悬空。

控制语句是控制程序的运行和规定分析及输出的内容。

如温度语句,工作点分析语句,交流分析语句,瞬态分析语句,打印语句,绘图语句和可选项语句等。

hspice万用网表及活用技巧

hspice万用网表及活用技巧

hspice万⽤⽹表及活⽤技巧1,测试MOS基本参数.lib 'D:\project\hspicelib\cmos035\CMOS_035_Spice_Model33v.lib' TT .inc 'D:\project\hspicelib\switchmodel\myswitch.cir' .op.option node list post.option node list postMN1 outn NMOSIN 0 0 N_33 L=kl W='2*kl' M=1MP1 OUTP PMOSIN VDD VDD P_33 L=kl W='2*kl' M=1 IDCN VDD outn kidnIDCP OUTP 0 kidpVDD VDD 0 3.3LN NMOSIN outn 10GCINN IN NMOSIN 10GVIN IN 0 AC=1CINP IN PMOSIN 10GLP OUTP PMOSIN 10G* DICTIONARY 1* GND = 0.GLOBAL VDD.ac dec 100 1 1g * sweep kl 0.5u 2u 0.1u**.print vdb(outn) vdb(oup).param kidn=7.5U kidp=2.7u kl=1u****meas ve_n of nmos.meas ac dc_gain_n max vm(outn).meas ac w_n find w(mn1) at 5.meas ac l_n find l(mn1) at 5.meas ac s_n param='w_n/l_n'.meas ac vth_n find lv9(mn1) at 5 *vth alias.meas ac vgs_n find lx2(mn1) at 5.meas ac vod_n param='vgs_n-vth_n'.meas ac ve_n param='dc_gain_n*vod_n*0.5/l_n'.meas ac kn param='2*kidn/vod_n/vod_n/s_n'***mesure ve_p of pmos.meas ac dc_gain_p max vm(outp).meas ac vth_p find lv9(mp1) at 5.meas ac vgs_p find lx2(mp1) at 5.meas ac w_p find w(mp1) at 5.meas ac l_p find l(mp1) at 5.meas ac s_p param='w_p/l_p'.meas ac vod_p param='vgs_p-vth_p'.meas ac ve_p param='dc_gain_p*vod_p*0.5/l_p' .meas ac kp param='2*kidp/vod_p/vod_p/s_p'//其它.meas ac dc_gain_n find vm(outn) at 5.meas ac rds_n find rds(mn1) at 5.meas ac gds_n find gdso(mn1) at 5.meas ac gm_n find gmo(mn1) at 5.meas ac a0_rds_n param 'gm_n*rds_n'.meas ac a0_gds_n param 'gm_n/gds_n'.meas ac rout_ac_n param '1/gds_n'.meas ac c_gsub_n find cggbo(mn1).meas ac c_gs_n find cgsbo(mn1).meas ac w_n find w(mn1).meas ac l_n find l(mn1).meas ac cox_n param 'c_gsub_n/w_n/l_n'****meas ve_n of nmos.meas ac dc_gain_p find vm(outp) at 5.meas ac rds_p find rds(mp1) at 5.meas ac gds_p find gdso(mp1) at 5.meas ac gm_p find gmo(mp1) at 5.meas ac a0_rds_p param 'gm_p*rds_p'.meas ac a0_gds_p param 'gm_p/gds_p'.meas ac rout_ac_p param '1/gds_p'.meas ac c_gsub_p find cggbo(mp1).meas ac c_gs_p find cgsbo(mp1).meas ac w_p find w(mp1).meas ac l_p find l(mp1).meas ac cox_p param 'c_gsub_n/w_n/l_n'0.40.60.811.2 1.4 1.6 1.822.2 2.4x 10-60.80.911.11.21.31.41.51.61.71.8x 107channel lenghv e n a n d v e pve of nmos & pmos ve_n=16.4e6 ve_p=8.92e6x 10-60.60.811.21.41.61.822.2x 10-4channel lenghk n a n d k pkn= 1.9396e-004 kp= 7.9971e-005 @meanx 10-6050100150200250300350channel lenghd c g a i ndc gain vs L at vod=0.2v2,MOS 常见参数及函数调⽤//for umc 0.35um 3.3v twin_well0ξ=8.85 aF/um a=10-182_i r s o ξ=3.97k= 1.38*10-23J/K q=1.6*10-19CV T =kT/q=16mv@300Ktox=5nm cox=6.9fF/um 2tox=7nm 时cox= Cgdoverlap=Cgsoverlap=1.5e-10 tox=12nm cox=2.88fF/um 2 vthn=0.63vkn= 1.9396e-004ve_n=16.4e6vthp=0.86vkp= 7.9971e-005ve_p=8.92e6函数L()W()vth() 阈值电压,pmos为正值vdsat() 饱和电压即vgs-vthrds() 电阻,不知是怎么来的vgs()cdo() dc drain currentgmo() gm operational 静态时gmgdso() dc D-S conductance 导数为输出电阻gmo/gdso为直流增益covlgs() gs overlapcovlgd() gd overlapcovlge() Gsub overlap3, option 选项及VCVS VCCS param若要导⼊到MATLAB中需要bin进制⽂件时需要设置好option并只使⽤.probe打印.option post=1 //⼆进制.probe tran V(out1) v(node1).option reltol.option reltol=1e-5 abstol=1e-9.option reli=XXX.option methode=gear.option post=-0,1,2 // 打印科学进制和其它形式1,binary 2,ascii 3,减⼩⽂件空间⼤⼩。

第3讲-Hspice电路仿真教案资料

第3讲-Hspice电路仿真教案资料
Lec3 HSPICE的使用
徐江涛
电子信息工程学院
主要内容
3.1 HSPICE的流程与功能 3.2 HSPICE输入与输出 3.3 电路网表 3.4 模型卡 3.5 控制卡 3.6 输出控制 3.7 HSPICE的输出 3.8 Awaves浏览波形
3.1 HSPICE的流程与功能
+++:表示只有当应用了.FFT语句后该文件才被确立。
MetaWave(avanwaves):观察波形(post-processor), 人机交互界面
3.3电路网表
.TITLE 语句 .TITLE <string of up to 72 characters> 或者: <string of up to 72 characters>
简单电路正向设计的典型流程 1. 功能定义 2. 行为设计 3. 逻辑级电路设计——得到由基本逻辑单元组成的 电路(数字电路) 4. 逻辑级仿真(迭代) 5. 选择合适的工艺库。把各基本功能单元映射至其 上;或设计各单元晶体管级电路——得到电路级 网表
Hspice是什么?—从设计流程说起
6. 电路级仿真:验证各单元电路是否具有期望的功 能,性能估计。(迭代)
Wave Data
后处理
Analysis
MetaLib CDF Symbol Library
Parameter Changes
反标注
Hspice有哪些功能?
§ 电路级和行为级仿真 § 直流特性分析、灵敏度分析 § 交流特性分析 § 瞬态分析 § 电路优化(优化元件参数) § 温度特性分析 § 噪声分析 § 傅立叶分析 § Monte Carlo, 最坏情况,参数扫描,数据表扫描 § 功耗、各种电路参数(如H参数、T参数、s参数)等可

HSPICE_简介

HSPICE_简介

第一章概论§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的内部建模技术集成电路设计中的分析和验证是一种典型的围绕一系列结构的试验和数据管理。

hspice使用


子电路语句
子电路定义开始语句 语法:.SUBCKT SUBNAM <node1 node2…> 其中,SUBNAM为子电路名,node1…为子电路外部节点号。 子电路中的节点号(除接地点)、器件名、模型说明均是 局部量,可以和外部的相同。 例:.SUBCKT OPAMP 1 2 3 4
子电路终止语句 语法:.ENDS <SUBNAM> 例:.ENDS OPAMP
–节点0,GND,GND!,GROUND都指全局的地电位
IC设计流程中的电路仿真 Hspice 的输入网单结构 元件描述 激励源描述 器件模型描述 控制输出描述
无源器件
– 电阻:
语法:Rxxx n1 n2 <mname> <R=>resistance <AC=val> 例:Rxxx 9 8 1 AC=1e10
• Numerical Approach to Circuit Simulation – For example DC, AC, transient analysis
• Must Rely on Models of Various Circuit Elements
– Simple (e.g. Resistor, Capacitor) – Complex (e.g. MOSFET)
直流电阻1欧姆,交流电阻为1e10欧姆
– 电容:
语法:Cxxx n1 n2 <mname> <C=>capacitance 例:Cload driver output 1.0e-6。
– 电感:
语法:Lxxx n1 n2 <L=>inductance
有源器件
–二极管: 语法:Dxxx nplus nminus mname <params>

[整理]Hspice应用讲解.

Hspice应用讲解Hspice是一种通用电路分析程序,可用来进行集成电路和电子线路的分析模拟。

它可以用来分析电路的非线性直流特性,线性交流小信号特性,非线性瞬态特性,温度特性等。

其中,直流分析(.DC)不光可进行直流转移特性分析,还可进行直流工作点(.OP),直流小信号传输特性(.TF),直流小信号灵敏度(.SENS)分析;在进行交流分析(.AC)的同时还可进行噪声特性(.NOISE)和失真特性(.DISTO)分析;在进行瞬态分析(.TRAN)的同时还可进行傅立叶(.FOUR)分析;进行温度特性分析(.TEMP)以求得电路的温度特性。

在进行交流分析和瞬态分析前先进行直流分析,以决定其非线性元件的线性化小信号模型和其初始条件。

Hspice输入描述文件格式:Hspice的输入描述文件格式是一种自由格式,其输Array入的第一条语句必须是标题语句,且不能省略;最后一条语句必须是结束语句(.END),其余语句的顺序是任意的。

在输入描述文件的任何地方都可插入注释语句(在语句前加“*”或“$”),程序只对注释语句进行原样打印而不进行任何处理。

元件语句是说明该元件的拓扑关系和元件值的。

每个元件给予一个元件名,元件名的第一个字母说明该元件的类型,Hspice并对各种类型的元件所对应的英文字母作了规定,元件名不能重复。

元件的节点号可以用一正整数表示,也可以用网点名表示。

模型语句是说明该元件的模型参数的。

在模型语句中定义一组元件模型参数并赋予一个唯一的模型名,在元件语句中即可引用此模型名,表明此元件具有该组模型参数值。

子电路是用一组元件语句来定义,程序会自动将这组元件插入到子电路被调用的地方,其大小和复杂性没有限制,并允许其包含其他子电路。

在电路中不能包括短路的电压源和电感,开路的电流源和电容,电路中的每个节点都不能悬空。

控制语句是控制程序的运行和规定分析及输出的内容。

如温度语句,工作点分析语句,交流分析语句,瞬态分析语句,打印语句,绘图语句和可选项语句等。

Hspice软件使用简介

Hspice软件使用简介
哈工大MEMS中心
共分三部分Capture、 Hspui、 CosmosScope
• Capture画电路原理图
• Hspui模拟
• Cosmos-Scope看输出结果
Capture使用Leabharlann • 双击图标进入Capture
弹出Project对话框
这样我们就建立了一个Project
hspice软件使用简介哈工大mems中心共分三部分capturehspuicosmosscopecosmosscope看输出结果capture使用双击图标进入capture弹出project对话框这样我们就建立了一个project这样我们就建立了一个project相关模拟时的命令可查阅pspice或其他的相关书籍指令格式都是相同的画好图后单击page1再单击netlist选择pspice将net改为sp单击确定生成网表文件hspui使用双击hspui图标进入从open中调出你的
这样我们就建立了一个Project
• 相关模拟时的命令可查阅Pspice 或其他 的相关书籍,指令格式都是相同的
画好图后单击Page1,再单击Netlist
选择PSpice ,将net改为 sp,单击 确定,生成网表文件
Hspui使用
• 双击Hspui图标进入,从Open中调出你的.sp文件
单击Edit Nl,改后保存
单击Simulate,运行完后从EditLL 查看有无error,若无则完成
Cosmos-Scope使用
• 双击Cosmos-Scope进入,从中调出你的模拟结果文件
可以从坐标标示的图表中得到具体的点的值,也可以用 单击剪刀状的图标得出,从measurement中的得出诸如带 宽之类的信息

第6章 基于SPICE的集成电路仿真2


电容元件的SPICE输入语句格式
格式
Cxxxx N+ N- Value <IC=Incond> Cxxxx——电容标识,如C230、CBE等 N+、N- ——电容的正、负连接结点标号 Value——电容值,可以采用比例缩写因子 Incond——测试电压值 例 CB 15 18 1UF IC=1.0V C25 20 23 19PF

线性电流控制受控源的SPICE输入语句格式
格式 F/Hxxxx N+ N- Vname Vlalue F/Hxxxx——受控电流/压源标识,如F3、H2等 N+、N- ——受控源的正负两个输出结点标号 Vname——控制电流支路电压源标识 Value——控制系数(电流增益、转移电阻) 例 F2 15 18 VS 2 H5 20 23 VBE 3.9K
利分校电工和计算机科学系开发完成,常称为 BSPICE BSPICE是现代各种SPICE的前身,它的源代码 公开 其版本不断更新 1988年被定为美国国家标准。现在,已成为电路 分析事实上的国际标准。
SPICE
主要针对由无源元件(R,C,L,TL等)、半导体
器件(BJT, MOS等)、电源等组成的电路 作分析. 可以进行的电路分析:直流分析、瞬态分析、 交流分析、噪声分析、温度特性分析、 Monte Carlo统计分析、最坏情况(worstcase)分析等。 SPICE程序最基本的数据与指令输入方式是 特定格式的语句:电路描述语句+特性分析语 句+特性控制语句。
首字母 B C D E F G H I J 电路元器件 砷化镓场效应管 电容 二极管 电压控制电压源 电流控制电流源 电压控制电流源 电流控制电压源 独立电流源 结型场效应晶体管 首字母 L M Q R S T V W X 电路元器件 电感 MOS场效应晶体管 双极型晶体管 电阻 电压控制开关 传输线 独立电压源 电流控制开关 子电路
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.VEC ‘digital_vector_file’ 定义向量模式 向量定义一节定义向量Q-它们的名字,大小,信号方向,以及Q-并且必须在数字向量文件中首先出现。一个向量模式定义节的例子如下: radix 1111 1111 vname a b c d e f g h io iiii iiii tunit ns 关键字如radix,vname等在此章后面的“定义数据表”节中解释。 定义波形特征 波形特征节定义信号的不同属性,如上升和下降时间,逻辑的“高”或“低”门限,等等。一个波形特征节的例子如下: trise 0.3 137F 0000 tfall 0.5 137F 0000 vih 5.0 137F 0000 vil 0.0 137F 0000

使用表格数据 表格数据节定义在规定的时间内的输入信号值。时间列在第一列,接着的是信号值,其顺序被vname语句所规定。

例子 一个表格数据的例子如下: 11.0 1000 1000 20.0 1100 1100 33.0 1010 1001 一个以分号“;”开始的行被认为是说明行。说明也可以在一行的任何点开始。Star-Hspice忽略一个冒号后面的字符。 例子 ; This is a comment line radix 1 1 4 1234 ; This is a radix line 继续一行 就像网表,一行以一个加号“+”开始是继续前一行 数字向量文件例子 一个向量模式定义的例子如下: ; specifies # of bits associated with each vector radix 1 2 444 ;*************************************************** * ; defines name for each vector. For multi-bit ; vectors innermo,st [] provide the bit index range, ; MSB:LSB vname v1 va[[1:0]] vb[12:1] ;actual signal names: v1 va[0] va[1] vb1 ... vb12,,, ;*************************************************** * ; defines vector as input output or bi,,-direc io i o bbb ; defines time unit tunit ns ;*************************************************** * ; vb12-vb5 are output when ‘v1’ is ‘high’ enable v1 0 0 FF0 ; vb4-vb1 are output when ‘v1’ is ‘low’ enable ~v1 0 0 00F ;*************************************************** * ; all signals have delay of 1 ns ; Note: do not put unit (e.g. ns) again here because, ; this value will be multiplied by the unit specified ; in the ‘tunit’ line. tdelay 1.0 ; signals va1 and va0 have delays of 1.5ns tdelay 1.5 0 3 000 ;*************************************************** * ; specify input rise and fall times (if you want ; different rise and fall times use trise/, ; tfallstmt.) ; Note: do not put unit (e.g. ns) again here because, ; this value will be multiplied by the unit specified ; in the ‘tunit’ line. slope 1.2 ;*************************************************** * ; specify the logic ‘high’ voltage for input signals vih 3.3 1 0 000 vih 5.0 0 0 FFF ; likewise may specify logic ‘low’ with ‘vil’, ;*************************************************** * ; va & vb switch from ‘lo’ to ‘hi’ at 1.75 volts vth 1.75 0 1 FFF ;*************************************************** * ; tabular data section 10.0 1 3 FFF 20.0 0 2 AFF 30.0 1 0 888 . . . 定义表格数据 尽管此节一般出现在一个数据向量文件的最后,且紧跟着向量模式和波形特征的定义,但是我们却首先说明它以介绍向量的定义 表格数据节定义(在表格格式中)在规定的时间内信号的值。它一般的格式是: time1 signal1_value1 signal2_value1 signal3_value1... time2 signal1_value2 signal2_value2 signal3_value2... time3 signal1_value3 signal2_value3 signal3_value3... . . 对于一个特别的信号,在所有的时间内那些值的集合是一个向量,一个数据表或者向量表的垂直列。因此所有的signall_valuex的集合组成一个向量,信号值可以有在下节中说明的合法的状态。 数据表的行部分必须以年代的顺序出现,因为行的位置带有时间顺序信息 例子 10.0 1000 0000 15.0 1100 1100 20.0 1010 1001 30.0 1001 1111 此例子表明8个信号和因此而来的8个向量的特征。第一个信号(从左边开始)有一个向量[1 1 1 1];第二个信号有一个向量[0 1 0 0];等等。

一个例子:实验课三 组合逻辑的设计(仅供参考) GFEDCBAX)))((( ()XABCDEFG VDDOUTG

ABCDEF

FCD

E

A

B

G

.sp 文件如下 .TITLE 1.2UM CMOS combinational logic .options probe .options tnom=25 .options ingold=2 limpts=30000 method=gear .options lvltim=2 imax=20 gmindc=1.0e-12 .protect .lib'F:\SPICE\cmos25_level49.lib' TT .vec 'F:\SPICE\no 4\3\TT.vec' .unprotect .global vdd MpG 1 G VDD VDD PMOS W=6u L=0.5u MpF OUT F 1 VDD PMOS W=6u L=0.5u MpA 2 A 1 VDD PMOS W=12u L=0.5u MpB 2 B 1 VDD PMOS W=12u L=0.5u MpC OUT C 2 VDD PMOS W=12u L=0.5u MpD OUT D 2 VDD PMOS W=12u L=0.5u MpE OUT E 2 VDD PMOS W=12u L=0.5u MnF OUT F 3 0 NMOS W=2U L=0.5U MnG OUT G 0 0 NMOS W=1U L=0.5U MnC 3 C 4 0 NMOS W=6U L=0.5U MnD 4 D 5 0 NMOS W=6U L=0.5U MnE 5 E 0 0 NMOS W=6U L=0.5U MnA 3 A 6 0 NMOS W=4U L=0.5U MnB 6 B 0 0 NMOS W=4U L=0.5U CL OUT 0 10PF VVDD VDD 0 2.5V .TRAN 1N 1U .measure tran tdelay1 trig v(E) val=1.255 FALL=1 + targ v(out) val=1.255 RISE=1 .measure tran tdelay2 trig v(E) val=1.255 RISE=3 + targ v(out) val=1.255 FALL=3 .measure tran tdelay3 trig v(E) val=1.255 FALL=2 + targ v(out) val=1.255 RISE=2 .measure tran tdelay4 trig v(E) val=1.255 RISE=1 + targ v(out) val=1.255 FALL=1 .op .PRINT V(OUT) .PRINT V(E) .end .vec文件如下:将文本保存为 TT.vec radix 1111 111 io iiii iii vname A B C D E F G tunit us

trise 0.01 tfall 0.01 vih 2.5 vil 0.0 vol 0.25 voh 2.25

0 0000000 0.1 0011110 0.3 0000000 0.5 1111111 0.6 1011010 0.8 1111111 0.9 0000000

相关文档
最新文档