hspice基础知识.docx
《hspice基础知识.docx》由会员分享,可在线阅读,更多相关《hspice基础知识.docx(10页珍藏版)》请在冰豆网上搜索。
![hspice基础知识.docx](https://file1.bdocx.com/fileroot1/2023-1/28/2366ebb3-022d-4a34-8311-eb760a7d4753/2366ebb3-022d-4a34-8311-eb760a7d47531.gif)
hspice基础知识
元件描述语句
1.1R、L、C元件描述语句
元件语句一般由元件名、元件所连接的电路节点号和元件参数值组成。
元件在输入中以一行表示,该行不能以“.”开始。
语句中的第一个字母是关键字,它
确定了该元件的类型。
一般形式:
elname
或elname
其中:
elname:
元件名,是一个带有一个关键字母的不超过15个字符的字符串。
HSPICE中表示元件的关键字母的含义:
C-电容K-耦合互感
L-电感R-电阻
T-无损耗传输线U-有损耗传输线
node1...节点名,用来说明元件所连接的节点,节点名的第一个字符必须是字母,整个字符串不超过16个字符(连第一个字母在内)。
=()′[]等符号不能出现在节点名中。
mname:
模型参考名,对除了无源器件外所有元件都是必需的。
当基本元件参数不能充分描述时,调用相应的模型来描述。
pname1...元件参数名,用来标明一些元件的参数值。
val1...赋于的参数值或模型节点,这些数值可以是数值,也可以是代数表达式。
M=val元件的倍增因子。
二.电容、电感和电阻
(1)电容:
一般形式:
CXXXn1n2capval>
+
+
或CXXXn1n2C=val
+
+
或CXXXn1n2C=equationCTYPE=0or1
例:
C13210UIC=3V
CBYP1301UF
C212CMOD6PF
若系统中所用电容是非线性的,则其一般形式是:
CXXXn1n2POLYC0C1C2...
电容值=C0+C1*V+C2*V**2+…
(2)电感:
一般形式:
LXXXn1n2Lval>
+
或LXXXn1n2L=val
+
或LXXXn1n2L=equationLTYPE=0or1
例:
LLINK42691UH
LSHUNT235110U0.001015IC=15.7MA
LH8580LMOD2MH
若系统中所用电感是非线性的,则其一般形式是:
LXXXn1n2POLYL0L1L2...
电感值=L0+L1*i+L2*i**2+…
在非线性电容和电感的表达式中,POLY表示其中的数值C0,C1,C2…(和
L0,L1,L2…)是描述元件值的多项式系数。
电容值为元件两端电压V的函数,
而电感值则为流过电感的电流i的函数,故有上述的表达式:
电容值=C0+C1*V+C2*V**2+…
电感值=L0+L1*i+L2*i**2+…
(3)电阻的写法:
t+N#Y0a5s8G,N%m4U
/m P/z'Z#c电阻也可以在后面加AC参数,如:
'q$C-G4{#j+t
Rxxxx981AC=e10;c'E1~.m"@9C3^
定义了直流电阻1欧姆,交流电阻为1e10欧姆。
电容和电感就没那么多鸟事情了。
例如:
R1121K*电阻R1接在节点1和2之间,阻值1K
三、电源描述语句
HSPICE中提供了一些供激励用的独立源和受控源。
电源描述语句也由电源名称的关键字、连接情况和有关参数值组成。
描述电源的关键字含义为
V:
独立电压源I:
独立电流源
E:
电压控制电压源F:
电流控制电流源
G:
电压控制电流源H:
电流控制电压源
一.独立电压源V和独立电流源I
一般形式:
VXXXn+n-<<DC=>dcval><tranfun>
+<AC=acmag,<acphase>>
或IYYYn+n-<<DC=>dcval><tranfun>
+<AC=acmag,<acphase>>
其中:
VXXX:
独立电压源名。
必须以“V”开始,后面字符串不得超过15个字符。
IYYY:
独立电流源名。
必须以“I”开始,后面字符串不得超过15个字符。
n+/n-:
电源的正负节点,电流源的电流正方向是使电流从n+节点流出,经过电流源流入n-节点。
正的电压源是使电流从n+节点流出,通过电压源流入n-节点。
注意电源不必接地。
若将零值的电压源接到电路某支路中,这样可得到流经该支路的电流值。
零值电压源就是短路线,所以不影响电路的工作。
DC:
电源直流值
tranfun:
电源的瞬态功能
AC:
表示电源用来作交流小信号分析
acmag:
交流幅度
acphase:
交流初相位(缺省值为0.0)
M:
电流源并联数(缺省值为1.0)
基于上面的语句格式,HSPICE规定有七种独立电源:
1.直流源
一般形式:
VXXXn+n-<dcval>
IXXXn+n-<dcval>
例V120DC=5v
V1205v
I130DC=3mA
I2303mA
2.正弦波信号
V110SIN011K*一个正弦波信号源在1和0之间,偏移0,振幅1V,频率1K
四、半导体器件描述语句
电路中每个半导体器件也和上述的元件一样需用器件语句来描述。
每个器件描述语句的第一字母是代表某种器件的关键字,这一节中所涉及的关键字的含义为:
D:
晶体二极管Q:
双极型晶体三极管
J:
结型或MES场效应晶体管M:
MOS场效应管
1.MOS场效应管
一般形式:
MXXXndngnsmname
+
+
+
+
或MXXXndngnsmnamelvalwval...
或.OPTIONWL
MXXXndngnsmnamewvallval
其中:
MXXX:
MOSFET元件名,必须以“M”开头,后面最多跟15个字符的字符串。
ng,ns,nd:
分别是MOSFET的栅、源和漏的节点名。
nb:
MOSFET衬底节点名,它可以通过模型语句中的BULK参数来加以定义。
mname:
MOSFET的模型参考名
L:
MOSFET的沟道长度,缺省值为DEFL。
W:
MOSFET的沟道宽度,缺省值为DEFW。
AD:
漏扩散区面积
AS:
源扩散区面积
PD:
漏结的周长
PS:
源结的周长
NRD:
用以计算漏极寄生串联电阻的漏扩散区等效方块数。
NRS:
用以计算源极寄生串联电阻的源扩散区等效方块数。
RDC:
漏极与连线的接触电阻。
RSC:
源极与连线的接触电阻。
OFF:
表示在进行直流分析时在器件上不加初始条件,缺省值为
ON。
这个规定不适用于耗尽型器件。
M:
多重MOSFET模拟时的倍增因子,这个因子将对MOSFET的沟道宽度、二极管反向漏电、结覆盖电容和寄生电阻发生影响,缺省值为1.0。
vbs:
MOSFET衬底与源极之间的初始电压。
vds:
MOSFET漏极与源极之间的初始电压。
vgs:
MOSFET栅极与源极之间的初始电压。
DTEMP:
元件温度与电路温度之间的差额,缺省值为0.0。
GEO:
在ACM=3的情况下源漏分配选择设置。
DELVTO:
零偏压下的阈值电压漂移量,缺省值为0.0。
MOSFET模型中的电流方向规定:
五.数值比例因子
HSPICE中的数值可以是整形数、浮点数。
一个整形数或浮点数后跟随一个整形指数(如1e-14,2.65e3,但不能是1e-3pf)或者一个整形数或浮点数后跟随一个以下列出的数值比例因子:
MI=25.4E-6FT=.305DB=20lg10F=1e-15
P=1e-12N=1e-9U=1e-6M=1e-3T=1e12
G=1e9MEG=X=1e6K=1e3
重要语句
1.瞬态分析.TRAN
瞬态分析是与时间有关的电路特性分析。
HSPICE在进行瞬态分析时首先执
行直流工作点分析,并以此为初始条件开始进行瞬态分析,除非在.TRAN语句中
也包含了UIC参数,则.TRAN语句进行瞬态分析时,从.IC语句中规定的节点电
压开始进行。
值得注意的是,对于振荡器电路或带有反馈的电路,因为其没有稳
态工作点,所以在瞬态分析时,必须把反馈回路打断,这样瞬态分析开始前才能
进行直流工作点计算。
.tran1ns100ns0.5ns*!
j2I/x6N)?
#p!
{(X,Q步长1ns,从0.5ns扫描至100ns
2.直流扫描分析.DC
(1)双参数直流扫描分析格式1格式(适用于两个电压源或电流源)
.dc参数1START1END1STEP1
+参数2START2END2STEP2
例:
.DCV1050.1V2051
(2)双参数扫描格式2(参数2是使用.PARA语句自定义的参数)
.DC参数1起始1结束1步长1
+SWEEP参数2起始2结束2步长2
例:
.DCVG050.1SWEEPWX1.5U3U0.5U
(3)双参数直流扫描格式3格式(适用于非等间隔扫描)
.DC参数1起始1结束1步长1
+SWEEP参数2POI点数值1值2值3
(4)双参数直流扫描格式4
.DC参数1起始1结束1步长1
+SWEEPTEMP起始2结束2步长2
.DC参数1起始1结束1步长1
+SWEEPTEMPPOI点数值1值2值3
3.交流小信号分析.AC
交流小信号分析时,HSPICE将交流输出变量作为指定频率的函数来加以分析计算。
分析时HSPICE首先求直流工作点,作为交流分析的初始条件,这时HSPICE将电路中所有非线性器件变换成线性小信号模型,电容和电感则被换算成相应的导纳值:
YC=jwc和YL=1/jwl。
HSPICE允许电阻有不同的直流和交流值。
若在电阻描述语句中定义了AC=,则在直流工作点计算时用直流电阻值,但在交流分析时则用交流电阻值。
这对于分析运算放大器特性十分便利,因为在进行运放直流工作点计算时,可以用一个低阻值直流电阻构成反馈式单位增益结构来进行计算,而在运放交流分析时,可以用一个高阻交流电阻构成开环形式来进行交流分析。
交流分析允许对下述参数进行扫描分析:
(a)频率
(b)分量
(c)温度
(d)模型参数
(e)随机分布(蒙特卡罗分析)
(f)优化及交流设计分析
.AC语句形式视具体的应用情况而定,下面给了几种应用情况的语句形式:
(1)单/双扫描
.ACtypenpfstartfstop
或.ACtypenpfstartfstop
或.ACtypenpfstartfstop
或.ACvar1START=STOP=
+STEP=
或.ACvar1START=start1STOP=stop1STEP=incr1
(2)参数化扫描:
.ACtypenpfstartfstop
或.ACDATA=datanm
(3)优化扫描
.ACDATA=datanmOPTIMIZE=opt_par_fun
+RESULTS=measnamesMODEL=optmod
4.直流工作分析语句.OP
当输入文件中包含了一个.OP语句时,HSPECE软件将去计算电路的直流工
作点,.OP语句也可能在进行瞬态分析时产生一个直流工作点作为瞬态分析的初始条件。
此语句在进行电路直流工作点计算时,电路中所有电感短路,电容开
路。
值得注意的是,在一个HSPICE模拟中只能出现一个.OP语句。
一般形式:
.OP
其中:
format是下述关键字中的任何一个(只有第一个自号有效的,缺省值为ALL):
ALL提供全部工作点值,包括电压、电流、电导和电容等值。
BRIEF每一个元件都产生一行电压、电流和功率值,电流单位是mA,功率单位是mw。
CURRENT提供一种带有元件电流和功率的电压表格样式的简明结果。
DEBUG此参数同上只有在模拟结果不收敛的情况下才由程序来调用。
并能调整打印出收敛节点的新、老电压以及不收敛的程度(容差),它也能打印出带容差值的不收敛元件。
NOTE禁止节点和元件打印输出,但允许执行时附加分析规定。
VOLTAGE仅提供电压输出表格形式。
对上述关键字有一点值得特别注意,这些关键字互相不兼容,同一时间只能
用一个关键字定义。
time这个参数直接跟在All、Voltage、Current或DEBUG等参数后面,用来确定这些参数值输出打印的时间。
下面给出两个进行直流工作点分析的例子:
例1:
.OP.5NSCUR10NSVOL17.5NS20NS25NS
在例1中计算了直流工作点,并要求在0.5ns时打印出所有直流工作点值,
此外电流在10ns,电压在17.5ns、20ns以及25ns时进行瞬态分析。
引用库文件
.INC/路径/AMI06N.M
M1NDNGGNDGNDAMI06NW=1.5UL=0.6U
5.注释
用*或者$,*必须写在行首,$可以写在语句后,但与语句间至少要空一格。
u7Q
6.常量
|K'G'f+L 常量有f、p、n、u、m、k、meg、g。
紧跟在数字后面即可,如:
c11210p
7.全局节点
用.GLOBAL定义,如:
.GLOBALnode1node2node3
'^+O.m4Y"W!
H5K.b;e8i(E 定义了三个全局节点。
另外,节点0、GND、GND!
、GROUND都指全局的地电位。
8.模拟程序电路网表的编写
包含部分:
后面为对应的指令
0)标题--.title(可有可无)
1)器件模型--.lib、.inc
2)全局变量声明--.global例如.globalvdd全局变量声明,一般是vdd
3)参量声明.param参量声明,可以是个扫描用的可变参量,也可是像宏一样的声明。
比如
.paramvsupply=2.53.5).datac_tab…….enddata(可能有)参量表,扫描参数时用到
4)直流工作点分析--.op(这个东西不一定要有,与.UIC文件有关,可以自己看,但是一般要写)
5)模拟类型(可以用多种或一种,在看波形时就知道区别了),
a.有瞬态分析.tran,
b.有直流特性分析.dc,
c.有交流特性(频域分析)分析.ac。
6)电路网表,利用已经建立的子电路搭建一个测试电路,并且声明好电路的激励。
实际就是将节点连接正确。
7)测量语句,利用.measure来测量一些参数,比如延迟,上升延时,下降延时等。
8).end结束语句。
子电路的开始结束:
.subckt--.ends
参量网表:
.datac_tab--.enddata
顶层电路:
--.end(不用开头)
"F;A7O5R*T89.使用库
j7r;R#H%s4j!
^7r8b.E6L+E .lib'C:
\path\to\the\lib\mylib.lib'L18U18V_TT
10.引用文件
5S9m5u4q+D0O/K0]%v .include"filename.sp"
6v0B/i-o%?
8x)\-?
3?
这样做相当于把那个文件整个粘贴过来。
11.定义参数
.paramwp=0.72u,wn=0.36u,lm=0.18u/L;C8E;I+]%x-R'G4{
然后就可以在下面用wp、wn、lm来表示这些数值了。
p)s3`1Q4u.~-S
12.子电路的写法!
r$`9f;wk;p$n/y
*}7L7k8X#m .SUBCKTSUBNAMEnode1node2……5G/z4D)@#a*w;S(Y:
f
*电路描述
!
_+\#?
-F'E:
l"U;g.L'F .ENDSSUBNAME)R*@+`8T'g(E6b