-
HSpice
语言学习总结
第一讲:
《
SPICE
》概述
(
1
)
元器件模型
构成器件模型的方法有两种:
?
行为级模型
—“
黑匣子”模型
例如
IBIS
模型和
S
参数<
/p>
,
最新的是
Verilog
-
AMS
模
型和
VHDL-AMS
模型
精度较差,
一致性不能保证,
受测试技术和精度的
影响。
一般应用到高频
、
非线性、
大功率等大型电路设计
?
等级
(L
EVEL)
模型
例如
Hspice
便是利用这种模型
精度较高
一般应用于中小型电路的<
/p>
IC
设计
(
2
)
LEVEL
模型
②
LEV
EL1
—
LEVEL3
:线性模型或低
阶模型,可
直接进行计算或估算。
②流片工厂提供的模型,
如
Level
49
和
Mos 9
、
< br>EKV
等,无法直接进行计算或估算,需要用电路仿真软件
进行仿真,以便得到精确的结果。如
Hspice
③
Hspice
提取模型,
是利用提取元件库的形式
.lib,
元件库一般由工厂提供
(
3
)
集成电路特征线宽
微米:
Micrometer:
>1.0um
亚微米:
0.8um 0.6um
深亚微米:
0.5um
0.35um
0.25um
超深亚微:
0.25um 0.18um 0.13um
纳米:
0.09um (90nm)
0.07um (70nm)
Moor
定律:
每一代(
3
年)硅芯片上的
集成密度翻两
番。加工工艺的特征线宽每代以
30%
的速度缩小。
(
4
)
Hspice
的使用流程
(
5
)
Hspice
网表输入格式
---------------------------
--------------------------------------------------
------------------------------------------
第二讲
HSPICE
网表的语法
(
1
)
?
?
?
文件名格式
:
工具的多少:
Cadence>>Hspice
精度:一般
Hspice>Cadence
适用对象:
Cadence
用于
p>
RF
设计较好,
Hspice
更适合模拟
IC
设计
?
目前应用建议:
< br>用
Cadence
布线布图以及版图
设计,
Hspice
仿真
(
2
)
输入行格式:
◆第一个语句必须是标
题行,最后一个语句必须
是
.END
语
句;
?
标
题语句和结束语句中间语句无任何先后次
序;
?
不区分大小写,无上标和下标
p>
(
忽略
)
?
语句、等式的长度不能超过
256
字符;
?
续行用“
+”
表示。
(
3
)
分隔符:
①分隔符可以为:
tab
键,空格,逗号,等号,括号
②元件的属性用冒号来分割,例如
M1:beta
③用句点来表示隶属关系,例如
X1.A1.V”
表示电路
X1
的子电路
A1
的节点
V
(
4
)
节点
①
<
/p>
结点标识可以长达
1024
个字符
②
结点数字开头
的
0
被忽略
③
跟在以数字开头的结点编号后的字母被忽略。
④
结点名可以由以下任何字符打头:
# _ ! %
⑤
结点可以用
.GLOBAL
语句声明为全局调用。如声明
节点
1
为全局调用,
.GLOBAL 1
⑥
结点
0<
/p>
、
GND
、
GN
D
!和
GROUND
均指的是
Hspice
全局的地。
(
1.0
)
后缀名
:
.sp
。产生方法:可以用任
何一个文本
编辑器产生,只需更改后缀名
?
文件名:必须为英文,以字母打头
,长度不超
过
256
个字符
?
放置目录:要放置于全英文目录下
?
输入网表文件不能压缩
⑦
HSPICE
要求每个节点对地均要有直流通路
。当这个
条件不满足时,通常是接一个大电阻使该悬浮节点具
有
直流通路。
⑧每个节点至少应连接两个元件,不能有悬空节点
存
在
(
5
)
数值及比例因子
数字表示:
a)
数字可以用整数,如
12
,
-5
;
b)
浮点数,如
p>
2.3845
,
5.98601
;
c)
整
数
或
浮
< br>点
数
后
面
跟
整
数
指
数
,
如
6E-14
,
3.743E+3
;
d)
在整数或浮点数后面跟比例因子,如
10.18k
比例因子:为了使用方便,它们用特殊符号表示不同
的数量级:
e)
T=1E+12
,
G=1E+9
,
MEG=1E+6
,
K=1E+3
,
M=1E-3
,
U=1E-6
,
N=1E-9
,
P
=1E-12
,
F=1E-15
,
p>
DB=20lg
10
,
MIL=25.4E-6(
千分之一英寸
)
(
6
)
单位及关键字
单位:以工程单位米、
千克和秒(
M
,
Kg
< br>,
S
)为
基本单位。由此得到的
其它电学单位可省略。如
10
,
10V
表示同一电压数。
1000Hz
,
p>
1000
,
1E+3
,
1k
,
1kHz
< br>都表示同一个频率值。
同样,
W
、
A
等标准单位在描述
时均可省略。<
/p>
单位可以省略,例如
:
C1 1 2 10P
二、标题、结束及注释语句
(
1
)
标题语句:
.TITLE
语句
形式
:
1
:
.TITLE
2
:
例如:可以为
.title a simple ac run
更常见的是第二种形式:
a simple ac run
注意:如果没有标题,第一行空出。
(
2
)
结束语句
.END
语句
形式:
.END
在
.END
语句之后的文本将被当作注释而对模拟没有
影响。
(
3
)
注释语句
一般形式:
*
或
“
as and following HSPICE input>
注释标识:
“
*
”或“
$$”
。
*
”打头的注释放在每行
开头,
而“
三、电路描述语句
$$”
打头的注释
紧跟语句之后。
(
1
)元件描述的基本格式
HSPICE
中元件的属性由
器件名,
器件位置,
器件类型,
器件参数值等来定义。格式为:
名
称
器
件
p>
所连
接的
节
点
p>
器
件的
类
型
参数值
例:
1A
SIMPLE AC RUN
标题
2V1 1 0 DC 10 AC 1
3R1 1 2
1K
4R2 2 0 1K
电路描述语句
5C1 2 0
.001U
S LIST NODE POST
DEC 10 1K 1MEG
命令语句
AC V(1) V(2) I(R2) I(C1)
结束语句
(
1
)无源器件
1-
< br>电阻
一般形式:
RXXX
n1
n2
Rvalue
TC=TC1,TC2
温度系数的缺省值为
0
,
0
注释:
R=R
0
*[1+TC1*(T-T
0
)+TC2*(T-T<
/p>
0
)2]
T<
/p>
0
为室温,
25
或
27
℃
例:
R1
1
2
100k
(
2
)无源器件
RC1
12
17
2-
电容
1k
TC=0.001, 0
一般形式:
CXXX
n1 n2
Cvalue
TC=TC1,TC2
温度系数的缺省值为
< br>0
,
0
注释:
C=C
0
*[1+TC1*(T-T
< br>0
)+TC2*(T-T
0
)2
]
例:
C1
1
2
10u
CP
12
17
1p
TC=0.001, 0
?
非线性电容:
CXXX
n1
n2
POLY
C0
C1
C2 ...
电容值=
C0
+
C1*V
+
C2*V**2
+
…
,
V
为电容两端的电
压
(
3
)无源器件
3-
电感
?
一般形式:
LXXX
n1 n2
Lvalue
TC=TC1,TC2
温度系数的缺省值为
< br>0
,
0
例:
L1
1
2
10u
LP 12
17
1u
TC=0.001, 0
?
非线性电感:
LXXX
n1 n2
POLY
L0
L1
L2 ...
电感值=
L0
+
L1*I
+
L2*I**2
+
…
,
I
为流过电感的电流
(
4
)
无
器
源器件
4-
互感(电感)耦合
一般形式:
p>
KXXX
LYYY
LZZZ
Kvalue
KXXX
LYYY
LZZZ
K=value
两耦合电感的名字
: LYYY
和
LZZZ
耦合系数
: K ,
:端口 JFET
0
例:
K34
LAA
LBB
0.9999
(
KXFTR
5
)
无
L1
源器件
5-
L4
无损耗传输线
K=0.87
一般形式:
TXXX
in
refin
out
refout
Z0=value
TD=value
或
TXXX
in
refin
out
refout
Z0=value
F=value
NL=value
或
TXXX
in
refin
out
refout
Z0=value
L=value
In
:
端口
1
的
(+);
refin
:端口
1
的
(-)
节点;
Out
:端口
2
的
(+);
refout
2
的
(-)
节点。
Z0
:
特征阻抗。
例子:
T1
1
0
2
0
Z0=50
TD=10NS
T2
1
3
4
6
Z0=200
F=4.5MEGHz
NL=0.5
T3
1
2
3
4
Z0=120
F=1.5MEGHz
(NL=0.25)
(
6
)
p>
无
源器件
6-
有损
耗传输线
均匀分布
RC
传输线一般形式:
UXXX
N1 N2 N3
MNAME
L=LEN
节点:
N1
,
N2
和
N3
,
其中
N3 <
/p>
是连接到电容的节点;
MNAME
:模型
名称。
LEN
:
RC
传输线长度
(m)
;
LUMPS
:
传输线中所采用的集总分段数目
例
:
U1
1 5 0 URCMOD L
=
50U
URC2 1 10 4 UMOPL L=100U N=4
有源器件
?
晶体二极管
(D)
?
双极型晶体三极管
BJT(Q)
?
结型场效应管
或金属半导体场效应管
MESFET (J)
?
MOS
场效应管
(M)
晶体二极管
?
(1)
晶体二极管
(D)
只往一个方向传送电流的元件。
单向导电特性:电流由正极流向负极
决定二极管性能的因素:
?
二极管面积:决定反向饱和电流,寄生电阻等
?
掺杂浓度及材料:导通电压等
?
温度:影响反向饱和电流,势垒电容等
(二)一般形式
:
DXXX
nplus
nminus
mname
+
注释:
?
DXXX
:
二极管元件名,
必须以
D
开头,
后面最<
/p>
多跟
15
个字符。
?
nplus/nminus:
二极管的正端
(
阳极
< br>)
和负端
(
阴
< br>极
)
?
mname:
二极管模型名
(三)一般形式
:
DXXX
nplus
nminus
mname
+
注释
(
续
)
:
?
area
:二极管面积,它定义了饱和电流,电容
与
电阻值。可以写为
area=???
也可以直接写
为
???
,缺省值为
1.0
;若不定义
area
,用定义
W(
二极管宽度
)
和<
/p>
L(
二极管长度
)
来代替也可
以,
area=W*L
(四)一般形式
:
DXXX
nplus
nminus
mname
+
注释
(
续
)
:
?
PJ
:二极管周长,
PJ=2(L+M)
。
?
WP/LP:
寄生多晶电容的宽度
/
长度,缺省值为
0
?
WM/LM:
< br>寄生金属电容的宽度
/
长度,缺省值
为
0
(五)一般形式
:
DXXX
nplus
nminus
mname
+
+
注释
(
续
)
:
?
OFF
:规定在进行直流分析时忽略初始条件,
缺省
值为
ON
。
?
IC:
瞬态分析的初始条件
?
M:
多重二极管模拟时的倍增因子,缺省值为
1
< br>DTEMP:
元件温度与电路温度之间的差额,
缺省
p>
值
0
(六)一般形式
:
DXXX
nplus
nminus
mname
+
例子:
DBRIDGE
6
7
DIODE
1
DCLMMMP
3
GND
DMOD
3
IC=0.2
第三讲
H
SPICE
网表的语法
(
续
)
双极型晶体三极管
(1)
决定三极管性能的因素:
?
三极管面积:决定电流,电容,寄生电阻等
?
掺杂浓度及材料:导通电压等
p>
晶体二极管一般形式
(
回忆
)
一般形式
:
DXXX
nplus
nminus
mname
+
注释:
1
:元件名称
2
:
节点
3
:几何参数
4
:初始值设定
5
双极型晶体三极管
:温度设定
(2)
一般形式
:
QXXX
nc
nb
ne
mname
<
br>个字符。
<
br>DTEMP:
或者 代替。缺省值为
<
br>:用以计算漏、源极寄生串联电阻的 <
br>:漏极、源极与连线的接触电阻
元件温度与电路温度直接的差额, <
br>0 <
br>(V) Va :阻尼因子; (V0>Va, 上升
<
br>—
,单
<
br>中具有的四种电压和电流控制元件, <
br>开关电容电路等进行模拟。 <
br>迟等特性我们不再详细讲述 C <
br>5ns
语句的外部节点一一对应,但名称不一定相同。 般 模型类型 <
br>模 : :
<
br>: <
br>: : <
br>:
<
br>: <
br> <
br>, <
br>: <
br>
<
br>HSPICE <
br>
<
br>】 fstart/fstop
例
和
<
br>可利用它计算谐波失真特性
2 f
<
br>时,用宏观的分析方法也就是大信号图解法,显然结 <
br>:输出负载电阻的名字,所有失真功率都是
+
AREAC=value>
+
VCE=value>
+
注释:
?
QXXX
:三极管元件名,必须以
Q<
/p>
开头,后面
最多跟
15
?
nc/nb/ne/ns:
三极管的
集电极、基极、发射极
以及基底节点
mname
:
三极管模型名
avalue
:三极管面积。也可以用
areaA=???
、
areaB=???
以及
areaC=
???
来定义。其中
areaA, areaB
以及
areaC
分别为发射区,基区,集电区的面积倍
增因子。缺省
值为
1.
OFF
:
规定在进行直流分析时忽略初始条件,缺
省值
为
ON
。
IC:
瞬态分析的初始条件两种表达方式。
M:
多重三极管模拟时的倍增因子,缺省值为
1
元件温度与电路温度直接的差额,缺省值
0
(五)一般形式
:
QXXX
nc
nb
ne
mname
+
AREAC=value>
+
VCE=value>
+
例子:
Q11
CX
BX
EX
QPNP
AREAA=1.5
AREAB=2.5
AREAC=3.0
Q22
10
18
12
QMOD
IC=0.5, 5.0
Q33
11
265
4
有源器件
20
MOD
结型场效应管
JFET
或
MESFET
(1)
决定
JFET
性能的因素:<
/p>
?
面积:决定电流,电容,寄生电阻等
?
掺杂浓度及材料:导通电压等
?
温度:影响电流,势垒电容等
MES
FET
:
将金属半
导体接触
势
垒
(
肖
特基势垒
)
代
替
了
PN
结
作
为栅极
结型场效
应管
JFET
或
MESFET(2
)
一般形式
:
JXXX
nd
ng
ns
mname
+<< AREA=value; AREA>| W=val L=val >
+
Vgs=value>
+
注释:
?
JXXX
:元件名,必须以
J
开头,后面最多跟
15
个字符。
?
nd/ng/ns/nb:
漏极、<
/p>
栅极、
源极以及基底节点
?
AREA
:
面积倍增因子。可以用
AREA=???
直接
???
来表示。或者用栅
极宽
W
和栅极长
L
1.
?
OFF
:规定在进行直流分析时忽略初始条件,
缺省值为
ON
。
?
IC
:
瞬态分析的初始条件,两种表达方式。
一般形式
:
JXXX
nd
ng
ns
mname
+<< AREA=value; AREA>|
W=val L=val >
+
Vgs=value>
+
例子:
J11
DX
GX
SX
JM1
AREA=1.5
J22
10
18
12
JMOD
IC=0.5, 5.0
MOS
场效应管
(1)
决定
JFET
性能的因素:
?
面积
:决定电流,电容,寄生电阻等
?
掺杂浓度及材料
:导通电压等
?
温度
:影响电流,势垒电容等
MOS
场效应管
(2)
一般形式
:
MXXX
nd
ng
ns
mname
+
+
注释:
?
MXXX
:元件名,必须以
M
开头,后面最多跟
15
个字符。
?
nd/ng/ns/nb:
漏极、<
/p>
栅极、
源极以及基底节点
?
L/W
:沟道长度和宽度;
?
AD/AS
:漏扩散区和源扩散区的面积;
PD/PS
:漏结和源结的
周长
?
NRD/NRS
漏扩散区等效方块数
?
RDC/RSC
?
OFF
:
规定在进行直流分析时忽略初始条件,
缺省值为
ON
。
?
IC
:
瞬态分析的初始条件。
?
M:
多重管模拟时的倍增因子,缺省值为
1
?
DTEMP:
缺省
值
?
一般形式
:
MXXX
nd
ng
ns
mname
+
+
+
例子:
M11
D
G
S
B
MM1
M22
10
18
12
1
MODM
L=0.5
W=2U
(0.5U
2U)
M33
11
265
4
1
MOD
OFF
10U
5U
2P
2P
电路描述语句
激励源
?
独立源
—
独立电压源
和独立电流源
(I)
?
源控源
?
电压控制电压源
(E)
?
电流控制电流源
(F)
?
电压控制电流源
(G)
?
电流控制电压源
(H)
直流源:一般形式
:
VXXX
n+
n-
IXXX
n+
n-
例子:
V11
2
0
DC=5V
V11
2
0
5V
I11
3
0
DC
3mA
I11
3
0
3mA
交流源:一般形式
:
VXXX
n+
n-
AC<=>
IXXX
n+
n-
AC<=>
例子:
V11
2
0
AC=10V
90
V11
2
0
AC
10V
90
I11
3
0
AC=3mA
0
I11
3
0
AC 3mA
脉冲源:一般形式
:
VXXX
n+
n-
PULSE
Va
td
tr
tf
pw
per>
IXXX
n+
n-
PULSE
Ia
td
tr
tf
pw
per>
例子:
VIN
3
0
PULSE
-1
1
2ns
2ns
2ns
50ns
100ns
正弦源:一般形式
:
VXXX
n+
n-
SIN
V0
Va
td
θφ
>
IXXX
n+
n-
SIN
I0
Ia
td
θφ
>
注释:
V0
:初始值;
:峰值;
freq
:频率;<
/p>
td
:延迟时间;
θ
φ
:相位
指数源:一般形式
:
VXXX
n+
n-
EXP
V0
Va
t1
td2
t2>
IXXX
n+
n-
EXP
I0
Ia
t1
td2
t2>
注释:
V0
:初始值
(V0
先上升后下降
)
;
Va
:峰值
先下降后上升
)
;
td1
:下降
(
)
延迟时间;
t1
:下降
(
上升
)
时间常数;
td2
:上升
(
下降
)
延迟时间;
t2
:上升
(
下降
)
时间常数。
例子:
VIN
3
0
EXP
0
4
2ns
30ns
60ns
40ns
分段线性源
:
一般形式
:
VXXX
n+
n-
PWL
t1
V1
V2…R
td>
IXXX
n+
n-
PWL
t1
I1
I2…R
td>
注释:
tn
Vn/In
:时间
电压
/
电流对
;R
:是否周期重复
td
:重复时延迟时间
例子:
VIN
3
0
PWL
60n
0V
80n
5V
120n
5V
140n
0V
+160n
0V
180n
5V
R
300n
直流源
DC
,
交流源
AC
,
脉冲源
PULSE
p>
,
正弦源
SIN
,
指数源
EXP
,分段线性源
PWL
,单频调频源
SFFM
单频调频源
:
一般形式
:
VXXX
n+
n-
SFFM
V0
Va
IXXX
n+
n-
SFFM
I0
Ia
注释:
V0/I0
:电压
/
电流初
始值
;Va/Ia
:电压
/
电流峰值
fc/fs
:载频
/
调
频
;mdi
:调制指数
例子:
VIN
3
0
SFFM
0.01V
0.4V
100MEG
0.3
20K
表达式:
单频调幅源
:
一般形式
:
VXXX
n+
n-
AM
sa
oc
fm
fc
td
IXXX
n+
n-
AM
sa
oc
fm
fc
td
注释:
sa
:调制信号的幅度
;Oc
:偏移常数
;fm/fc
:调频
/
载
频
;td
:信号开始前的延
迟时间
例子:
VIN
3
0
AM
10
1
100
1K
10n
表
达
式
:
频调幅源
AM
第四讲
H
SPICE
网表的语法
(
续
)
源控源
:
一般形式<
/p>
:
E(FGH)XXX
N+
N-
NC+
GAIN_VALUE
NC-
说明:
?
HSPICE
通称为
E
、
F
、
G
和
H
元件。
?
在
HSPICE
中用这些控制元件能够模拟
MOS
晶
体管、双极型晶体管、
隧道二极管和可控硅
整流器,此外还能对
一些功能块,诸如运放、
加法器、比较器、压控振荡器、调制解调器和
?
控制元件有线性和非线性两类。
非线性以及延
元件与激励源描述小结:
一般格式:
名称
节点
<
模型名称
>
p>
温
度,初始值
p>
…)>
?
p>
无源元件的描述
(R
、
、
L
、
K
、
T)
R(C,L,K,T)
n1
n2
value
RB
2
3
10K
RC
4
0
2K
rbe
3
0
1e6
rce
4
0
2k
Cbe
3
0
1n
Cbc
3
4
2u
Commands…
.end
p>
例
3
:
:
CMOS
反相器。请写出本电路的网表
(
不写命令
行,
用
…<
/p>
省略
)
。
其中<
/p>
VCC=5V,VIN
为脉冲源,
低电压
0.2
,
高电压
4.8
,延迟时间
2ns
,上升下降
时间为
1ns
,脉
宽
,周期
20ns
。
PMOS
,
NMOS
,沟道长度为
1um
,
宽度
20us
。
?
有源元件的描述
D(Q,J,M)
n1
n2
(n3)
mname
para
meter
:几何参数,初始值的设定,温度设定
元件与激励源描述小结
?
独立源的描述
V(I)
n+
n-
type
value
type
:
DC, AC,
PULSE SIN EXP PWL SFFM, AM
value
:电压或电流值,时间,周期等
?
源控源的描述
E(FGH)
n+
n-
nc+
nc-
value
p>
例
1
:
一个简单的
晶体管放大电路,
所有的元件、
激励源、它们的值或模型以及各
个节点的定义均已标
在图中,
请写出本电路的网表
(
不写命令行,
用
…
省略
)
。
其中,
p>
RC
的温度因子
TC1=0.02,TC2
=0
网表的格式:
Title
Elements and sources
Commands
.end
a single NPN common-emiitter AMP
VBB
1
0
0.87
VCC
5
0
10
VS
2
1
AC
1
RB
2
3
10K
TC=0.02, 0
RC
4
5
2K
Q1
4
3
0
Q2N222
Commands…
.end
p>
例
2
:
晶体管放大
电路的等效电路。
请写出本电路的网
表
(
不写命令行,用
…
省略
)
。
Small
signal equivalent circuit
VS
2
0
AC
1
*VCCS with a gain gm=1
Gb
4
0
3
0
1
an
inverter circuit
VCC vcc 0 5
VIN IN 0 PULSE
0.2 4.8 2n 1n 1n 5n 20n
M1 out in vcc vcc PCH L=1U W=20U
M2 out in 0 0 NCH L=1U W=20U
CLOAD out 0 0.75p
*.MODEL
PCH PMOS LEVEL=1
*.MODEL NCH NMOS
LEVEL=1
…COMMAND
S
.END
?
子电路描述语句
子电路描述一般形式
:
.SUBCKT(.MACRO)
SUBNAME
N1
<
N2 …>
具体电路描述
.ENDS
注释:
子电
路是
以
.SUBCKT
或
.MACRO
开头
,
以
.ENDS
结束的一组语句。子电路可嵌套其他子电
路。
SUBNAME
:子电路模型名。
<
/p>
N1,N2…
:子电路外部的节点名称。
.ENDS
:结束语句。只有当二次以上嵌套时才后跟
子电路模型名。
子电路调用语句:
Xnnn
N1
SUBNAME
注释:
子电路调用时,可以将子电路看成
是以
X
为
关键字的器件。
Xnnn
:子电路名称。
N1,N2…
:子电路外部的节点名称,与子电路描述
SUBNAME
:子电路模型名。
<
/p>
注意:子电路中的节点号
,
器件名,模型
的说明均
是局部量,
可以和外部的相同
子电路使用举例
CMOS
反相器组成的三级反相器链网表:
…
.SUBCKT
INV
IN
OUT
Mn
out
in
0
NMOS
子电路描述
Mp
out
in vdd
PMOS
.ENDS
X1
IN
1
INV
X2
1
2
INV
子电路调用
X3
2
OUT
INV
CL
OUT
0
1PF
……
电路描述语句:元件的模型
有
源
元
件
的
描
述
:
D(Q,J,M)
n1
n2
(n3)
mname
三极管放大电路网表
a
single NPN common-emiitter AMP
…
Q1
4
3
0
Q2N222
…
.end
反相器网表
an inverter
circuit
…
M1 out
in vcc vcc PCH L=1U W=20U
M2 out in 0 0
NCH L=1U W=20U
*.MODEL PCH PMOS LEVEL=1
*.MODEL NCH NMOS LEVEL=1
…
.END
模型描述语句
一
形
式
:
.MODEL
mname
type
pnameter2=value2 . . . >
注释:
mname:
模型参考名,
与元件描述语句的
p>
mname
相同
type
:用来选择模型类型。
p>
prameter1,2…
:此类模型所共有的参数值
例
:
.MODEL
MOD1
NPN
BF
=
50
IS
=
1E-+13
VBF = 50
+AREA =
2 PJ = 3
N = 1.05
(
全,共
14
种
)
MOSFET<
/p>
模型:
MOSFET
模型的描述方法:<
/p>
PMOS
:
.MODEL
模型名
PMOS
NMOS
:
.MODEL
模型名
NMOS
MOS
场
效应管的描述中都必不可少的加入了
LEVEL
模型。
?
第一代元件模型:
LEVEL 1, LEVEL 2,
LEVEL 3
?
第
二
代
元
件
型
:
BSIM1
模
型
(LEVEL13)
,
LEVEL28(
修正的
BSIM1<
/p>
模型
)
,
LEV
EL39(BSIM2)
?
第三代元件模型:
BSIM3 (LEVEL49)
?
第一代元件模型:
?
LEVEL1
1968
年以前,简单的
MOS
FET
模型。
?
线性方程,可手动计算。
?
计算速度快
?
不精确,只能进行近似分析
?
LEVEL2
1969~1978
年,
增强型
的
LEVEL1
模型
?
引入
3<
/p>
/
2
幂次项,基于几何图
形的分析
?
适用于长通道元件
~10um
?
较
LEV
EL1
精确,
但仍不能有效
地进行计算
机模拟
?
LEVE3
:
1979
?
利用一阶泰勒展开取代
3
/
2
次
项
?
引入实验性方程式,为半实验
模型
?
CPU
时间较少,适用于沟道长
p>
度
~2um
以上元件。
?
第二代元件模型:
?
LEVEL13
1984
年,
BSIM1
p>
模型
?
使用较多的多项式描述。
?
适用于通道长度小于
2um
的
entryname
:将要包括的库文件段的入口名
库文件嵌套:
.LIB
entryname
具体库模型的描述
.LIB
‘
path>
file
name’
MOS
元件,实验参数较多
?
偶尔造成元件行为的不易控
制。
?
LEVEL28
1990
年,修正的
BSIM
1
模型
?
由
Meta-
software
公司开发,
更加准确
?
可有效进行亚微米元件的模
拟
?
解决了
B
SIM1
的问题
?
LEVE39
1991
,
BSIM2
模型
?
利用数值分析的方法
?
适用深亚微米级元件的模拟,
p>
沟道长度
~0.2um
以上的元件
?
模型参数过多。
?
第三代元件模型
?
LEVEL49
1995
年,
BSIM3V3
模型,加州大学
伯克利分校推出。
?
以缩减的物理参数为主,实验
p>
性参数为辅。
?
共有
166
个模型参数
?
适用于深亚微米级模拟
和数
字集成电路的模拟
?
LEVEL50
MOS9
,飞利浦公司推出
?
有
72<
/p>
个模型参数
?
适用于深亚微米级的模拟集
成电路的模拟
不同
MOSFET
模型应用场合:
?
Level 1
:简单
MOSFET<
/p>
模型,常用于数字电路
的模拟,精度低、速度快
?
Level 2
:耗尽型
MOS
,
10
?m
器件模拟分析
?
Level
3
:
2?m
器件数字分析
?
Level13
39
,
49
可进行亚微米及深亚微米模
拟电路的分析,精度高、速
度慢
对电路设计工程师来说
,
采用什么模型参数
在很大程度上还取决于能从相应的工艺制造单位得到<
/p>
何种模型参数
?
库文件调用及定义语句
.
(.LIB
语句
)
库文件的使用:库文件可包含:
?
器件模型
(.MODEL
语句
)
?
子电路
(
包含
.ENDS
语句
)
?
有关注释语句
?
库文件调用语句
(.LIB
语句
)
等。
使用库文件的优点:速度快、占内存少。
库文件的创建:
.LIB
entryname
具体库模型的描述
.ENDL
entryname
注释:
.LIB
ent
ryname
:定义入口名为
entryname
的
库。
ENDL
:结束库定义语句
注意:不能包含
.END
语句
库文件调用:
一般形式:
.LIB
‘
file name’
entryname
注释:
filepath:
库文件所在的路径,若
.lib
p>
与所运行的
网表在相同目录下,则可以缺省。
filename
:库的文件名。扩展名必
.lib
不可少。路
径与文件名必须包含在双引号或者
单引号里面。
entryname1
.ENDL
entryname
注意:
库文件定义中嵌套调用其他库
文件的入口名不能
与所要定义的名字相同!可以无限嵌套。
例子:创建:
.LIB
CMOS1
…
.LIB
‘…/sum/’
CMOS2
…
.ENDL
调用:
.LIB
‘…/sum/’
CMOS1
【
.INCLUDE
语句】
:
.Include
‘
file name’
例:
.include
******
************************************
【
命令语句
】
:
直流工作点分析
.OP
:
:
. op
方式:所有独立源或受控源都是直流形态,所有
电感短路,电容开路。
输出:节点电压、电源电流、静态功耗、半导体
器件
的电流、阻抗和电容。
注意:只可以出现一次
.OP
语句
Task1:
op
A SIMPLE AC
RUN
V1 1 0 10 AC 1
R1
1 2 1K
R2 2 0 1K
C1 2 0 .001U
.OPTIONS LIST NODE POST
$$control options
.OP
.END
【直流扫描分析
(.DC)
】
:
直流扫描分析:
在指定
的范围内,某一个(或两个)独立源
或其他电路元器件参数步进变化时,计算电路直流输
出变量的相应变化曲线。
a.
直流参数值扫描
b.
电源值扫描
c.
温度范围扫描
d.
执行直流蒙特卡罗分析
(
随机扫描
)
e.
完成直流电路优化
f.
完成直流模型特性化
一般形式:
R1 1 3 100
.DC
variable
start
stop
R2
1 2 100
step
R3 2 3 100
注释:
R4 3 0 100
variable
:要扫描的对象<
/p>
(
如电压、电流、温度等
)
.OPTION LIST NODE
的变量名。
.OP
start
:扫描初始值。
.TF
V(2)
VS
stop
:扫描终止值。
step
:扫描步进步长。
举例:
.DC
VIN
0.25
5.0
0.25
.DC Examples
:
.DC
VIN
0.25
5.0
0.25
Sweep VIN
from 0.25 to 5v by 0.25v increments
.DC
VDS
0
10
0.5
VGS
0
5
1
Sweep VDS from 0 to 10v by 0.5 incr at
VGS values
of 0, 1, 2, 3, 4, & 5v.
.DC
TEMP
-55
125
10
Sweep
TEMP
from
-55C
to
125C
in
10
degree
C
increments
.DC
Rx
1k
10k
0.5k
SWEEP
TEMP
LIN
5
25
125
DC analysis performed at
each temperature value.
Linear
TEMP
sweep
from
25
to
125
(5
points)
while
sweeping
a
resistor
value
called
‘Rx’
from
1K
to
10K
in .5K increments.
【直流小信号传输函数
(.TF)<
/p>
】
:
直流传输
函数:在直流工作点附近对电路进行线
性化处理,然后对电路进行以下分析:
?
直流小信号传输函数(小信号增益)
?
输出变量对于输入源的增益
?
电路输入电阻
?
电路输出电阻
该语句特别适用于直流
电路和直接耦合放大器
(差动电路和运算放大器)的增益、输入电阻,输出
电阻的计算
一般形式:
.TF
variable1
variable2
注释:
variable1
:传输函数中的分子变量,一般为输出
变量。
variable2
:传输函数中的分母变量,一般为出入
p>
变量。
注意:每一次电路模拟中只能有一
个
.TF
语句,若
有多个,则执行最后
一个
举例:
.TF
V(5,3)
VIN
例:利用
求出节点
2
处的电
压与输入
Vs
的比值,并求出输入输出阻抗。
Task3:
tf
A tf run
VS 1 0 DC 10
.END
tf
( small signal transfer information)
第六讲
H
SPICE
网表的语法
(
续
)
直流小信号灵敏度分析
.SENS
直流小信号灵敏度:
在指定
的范围内,各个指定的输出变量相对
于某一电路参数
(
如主被动元件值、
独立电源等
)
的直流
【小信号灵敏度。
】
绝对灵敏度
相对。
。
:
?
一般形式:
.SENS
VO1
注释:
VO
:输出的支路电流或节点电压。
灵敏度分析能够帮助电路设计者了解在电路中哪
些元件和模型参
数对直流偏置的影响最大。据此,电
路的设计者知道电路中哪些元件的作用是
“
关键
”
的,
它们参数的变化都会对输出造成较大的影响,从而对
这些元件精密度的选择
做出了要求。
举例:
.SENS
V(8)
I(VOUT)
例
2.7
利用
HSPICE
求出电压
VO
的灵敏度。
A
SIMPLE SENS RUN
Vs 1 0
10
R1 1 2
40
R2 2 0
10
.OP
.SENS
V(2)
.END
(Operating
point information (in sens file))
【交流分析】
交流信号:
包含幅值、相位、频率等的信号。
交流分析:
分析输出参数随频率变化规律:
频率响应
交流分析中的一些规定:
?
电阻:若包含交流电阻,则使用交流电阻。
?
电容:阻抗为
1
/jwC
?
电感:阻抗为
jwL
?
有源元件、非线性元件:全部转化
为小信号模
型。
?
直流源:全部接地。
注:<
/p>
交流分析与直流分析。是以激励源的类型不
同来命名的。直流分析
是忽略所有的交流信号,电容
开路,电感短路,整个电路中只存在直流器件。交流
分析是忽略所有的直流信号,电容和电阻写出阻抗形
式。因此,分析要
比直流分析复杂。交流分析实际上
为频率响应分析
?
交流小信号分析
(.AC)
?
极零点分析
(.PZ)
?
交流小信号失真分析
(.DISTO)
?
交流噪声分析
(.NOISE)
?
噪声叠加分析
(.SAMPLE)
?
交流网络分析
(.NET)
【
1.
交流小信号分析
.AC
?
一般形式:
.AC
type
np
fstart
fstop
注释:
type
:扫描类型。
np
:扫描点数
:起始
/
终值频率
注意:电路当中必须至少含有一个独立交流源!
扫描类型
type
(
type
包含的类型
)
:
?
DEC
:每十进制实现对
np
个点进行扫描,对
数坐标
?
OCT
:
每八进制实现对
np
个点进行扫描,<
/p>
对数
坐标)
?
LIN
:
线性扫描,在指定的
fstop-
fstart
频率范
围内进行线性扫描
?
POI
:按所列参数点表进行扫描
Expamples:
?
q .AC
DEC
10 1K 100MEG
?
Sweep from 1KHz to
100MEGHz
,
with 10 points
per decade
?
q .AC LIN 100 1 100HZ
?
A 100 point
frequency sweep from 1Hz to 100.
.AC
其它形式
(1)
一般形式:
.AC
type
np
fstart
fstop
+SWEEP
variable
start-value
stop-value
+increment (type
np
start-value
stop-value)
Expamples:
q
.AC
DEC
10
1
10K
SWEEP
Cload
LIN
20
1pf
10pf
p>
对
Cload
的每个值进行
AC
分析,
扫描频率为
1Hz
到
10KHz
,
每
10
进制扫描
10
个点,
其中
Cload
的
p>
值为从
1pf
到
1
0pf
等距离取
20
个点
?
.AC
DEC
10
1
10K
SWEEP
Rx
POI
2
5k
15k
?
.AC DEC 10 1
10K SWEEP Rx
5k
15k
5k
:
这是一个简单的
RC
电路,请利用
HSPICE
求出
当激励源的
频
率
1KHz
p>
变
化
到
100MH
z
时,
节点
2
的电
压、
通过
R2
C1
的电
流的幅值和
相位的变化。
A
SIMPLE AC RUN
R1
1
2
1K
R2
2
0
1K
C1
2
0 .001U
V1
1
0
10
AC=1
.OPTIONS LIST NODE POST
.OP
.AC DEC 10 1K 1MEG
.PROBE AC V(2) VP(2)
I(R2) IP(R2) I(C1) IP(C1)
.END
.AC
分析结果输出
【
2.
极/零点分析
.PZ<
/p>
】
任何线性时不变电路网络,都可以化
为线性传递
函数来表示:
其中,
z1…zm
为网络的零点,
p1…pn
为网络的极
点。
主要是用做放大器、滤波器等非时变网络的设计
?
一般形式:
.PZ
OUTPUT
INPUT
注释:
OUTPUT
:
输出变量,
可为任一支路电流或节点电
压。
INPUT
:
输入变量,
可为任一独立电压或电流源名
称。
举例:
.PZ
V(10)
VIN
例
5.2
利用
HSPICE
对简单放大器等效电
路作极
/
零点分析。
.PZ analysis netlist
A
pz
run
Vin
1
0
1
AC
1
Rs
1
2
1k
Rpi
2
0
1k
RL
3
0
1k
Cpi
2
0
1n
Cmu
2
3
10P
Gmu
3
0
2
0
0.04
.OPTIONS
POST=2
.OP
.PZ
V(3)
VIN
.AC
DEC
5
100
100MEG
.PRINT
AC
VDB(3)
VP(3)
.END
.PZ analysis result(in dc
file
:
【交流小信号失真分析
(.DISTO )
】
考虑失真时:
1.
输入频率
f
时:
输出会出现二
次谐波
…n
次谐波
(
)
,
如失真系数可定义为谐
波分量的总有效值与基波分量之比
2.
当输入频率为
f
1
和
f
时,不仅会产生各自的
谐波,
还
会产生
m
f
1+m
2
的组合谐波
(
可利用它计算相
互调制失真特性
)
当输入信号的能量很大时,或者通
俗的讲,当输
入电压的幅值很大时,三极管有可能会进入饱和状态
而不是放大状态,此时,三极管的输出电压的幅值就
会失真,所以针对这种情况,我们
选用宏观的分析方
法,即大信号图解分析法。而当输入电压的幅值很小
果会很不准确,所以就用小信
号模型分析法。小信号
模型,就是把抽象元件三极管等效为电阻,受控电流
源等元件组成的二端口网络。在这样的基础上进行分
析。如图是一个非常典型
的三极管放大电路。当输入
为小信号时,通过模拟电路的学习,知道,它有三个
工作区域:截止区,放大区以及饱和区。很多的时候,
我们调整其静态工
作点,使其工作在线性区,从而达
到让其成为放大器的目的。它的基极电流为
IB
,集电
极电流为
IC
,输出工作电压为
VCE
,我们认为,
它可
以等效为这样的一个线性模型,经过计算,可以得到,
输出
电流
IC
为输入基极电流
IB
的贝塔倍,
成线性关系。
大家注意,这种线性关
系,只是输入、输出特性曲线
上极小的一段,是一种近似的线性,没有考虑失真的
情况。很多时候,我们必须考虑失真,例如功放电路
分析中。由于输入
输出的非线性,
(周期信号经过非线
性系统,输出会产生高次谐
波)当放大器输入某一频
率
f
时,输出
就会出现二次谐波,三次谐波,四次谐
波等等。
当输入频率为<
/p>
f1
和
f2
时,
不仅会产生它们的
谐波,还会产生
mf
1+mf2
的组合谐波。在功放的推动
级,这时的信号幅度已比
较大,特性曲线的一段不能
用直线来代替,必须考虑非线性失真。要根据输入、
输出信号的大小及放大器的特性来选择合适的工作
点,尽量使非线性失真
达到最小,并要引入负反馈等
措施来减少失真。
可计算的五个失真量:
?
DIM2
:
相互调制失真量
(与第一级谐波差额时
的失真量)
。即频率量
f
1
-
f
2
相关的幅度和
相位
?
DIM3
:
相互调制失真量
(与第二级谐波差额时
的失真量)
。
即频率分量
2*
f
1
-
f
2
相关的幅度
和相位
?
HD2
:
第二级谐波失真量。
即忽略
f
2
时,
2*
f
1
频率分量相关的幅度和相位。
?
HD3
:
第三级谐波失真量。
即忽略
f
2
时,
3*
f
1
频率分量相关的幅度和相位。
?
SIM2
:相互调制失真量(总量)
。即频率分量
f
1+
f
2
相关的幅度和相位
一般形式:
.DISTO
Rload
注释:
Rload
在该负载电阻上计算得出。
交流小信号失真分析,便是分析某个输出负载的
输出功率失真。
注释
:
in
ter
:打印失真计算结果的频率间隔,即规定打
印多少计算结
果。
1.
一般此频率为进行交流扫描
的频率。
2.
若不写,则不打印失真
计算结果,可以在再
用
.PRINT
和
.PLOT
语句对失真结果进行打印。
3.
若只需要打印第一个和最后一个频率失真计算
结果,
则
inter
p>
值
>
分析计算的终止频率。
skw2
:
第二个频率
f
2
与标称分析频率
f
1
的比值。
允许的范围是
: 缺省值是 <
br>注意:一次电路模拟只能有一个
1e-3
,
skw2
缺省值是
0.9(
即
f
2=0.9*
f
1)
f1
:计算谐波失真特性
f2
:可选,计算调制失真特性
refpwr
用来计算输出失真功率的参考功率
,
1mw
。
spwf
:第二频率
F2
的振幅,
其值必须大
于或等于
1e-3
,
缺省值是
1.0
。
.DISTO
语句,默<
/p>
认执行最后一个。
例:
.DISTO
RL
2
0.95
1.0E-3
0.75
第七讲
:
命
令语句
【交流噪声分析
(.NOISE)
】
?
噪声:有用信号外的某些电子干扰。
?
噪声来源:电阻和半导体器件。
?
输出噪声:每个器件的噪声源在<
/p>
AC
分析的每
个频率点计算出相应的噪声
,
并传送到一个输
出节点。
电路总的输出噪声
:
一定的频率下,
各个噪声源计
算所得噪声在该点进行
RMS (
均方根
)
< br>相加:
注释:
I
:由各个端点噪声产生的等效电流
Z
:噪声源与输出之间的等效电阻
<
/p>
n
:
与电路中所有电阻、
MOSFET
、
二极管、
JF
ET
和
BJT
有关的噪声源数目。
单位
:
V
2
/Hz
噪声的定义:
1.
电路总的输入噪声:一定的频
率下,
总的输出噪声除以电路电压
(
或
电流
)
增益或者传输函
数。单位:
p>
V
2
/Hz
2.
均一化噪声:
(onoise/BW)
0.5
,单位:
?
一般形式:
.NOISE
OVV
srcnam
inter
注释:
OVV
:指定节点总的噪声输出电压。
srcnam
:是作为噪声输入基准的独立电压源或独
立电流源
inter
:打印噪声分析结果的频率间隔
注
意:
交流噪声分析时必须进行交流小信号分析。
举例
:
.NOISE
V(5)
VIN
10
.AC
DEC
10
1
100MEG
思考:本例共计算了几个频率点的交流噪声?
例:
求出图中输出节点
2
的噪声,频率范围
1Hz~100MEGHz
p>
,
20
个点打印一次。
Noise
:
A simple noise run
R1 1 2 5
C1 2
0 500pf
V1 1 0 0 AC=10V, 37
.AC DEC
10 1 100MEG
.noise
v(2)
v1
20
.END
Output
noise information (in noise file)
【噪声叠
加分析
.SAMPLE
】
噪声叠加分析:
对模拟信号数据采样的采样噪声
进
行分析。得到某输出节点各采样值的噪声
(
对各噪声
的叠加
)
.SAMPLE
FS=freg
注释:
FS=freg
:数据采样频率
【交流网络分析
.NET
】
交流网络分析:
< br>进行交流小信号分析时,计算输
入输出阻抗矩阵
(Z
p>
矩阵
)
、
导纳
矩阵
(Y
矩阵
)
混
合矩阵
(H
矩阵
)
< br>和散射矩阵
(S
矩阵
)
的参数
单端口网络:
.NET
input
< RIN=val>
双
端
口
网
p>
络
:
.NET
output
input
注释:
input
交流输入电压或电流源名
output
输出端口变量
RIN/ROUT
:输入输出电阻
例
:
.NET
V(10,30)
VINAC
ROUT=75
RIN=50
瞬态分析:
也称为
时域的暂态分析
(
时域分析
)
,
是指对所
选定的电路节点的时域响应进行分析
,即观察该节点
在整个显示周期中每一时刻的波形。
瞬态分析条件:
?
电路中含有储能元件,如电容、电感等。
?
换路的条件:
电源值的升高与降低
(
包括接通与
断开
)
、电路中元件参数的改变。
?
换路定理
1
:在换路瞬间,电容上的电压、电
感中的电流不能突变。
p>
这就意味着瞬态分析中
需要设置初始条件。
?
换路定理
2
:换路瞬间,电感相当于理想恒流
源
I
0
,电容相当于理想恒压源
U
0
瞬态分析目的:
?
低阶电路的时间常数
τ
的物理意义?
?
瞬态分析的目的:电路的响应速度。
?
电路的瞬态响应:
?
零输入响应
?
零状态响应
?
全响应
瞬态分析的初始条件
?
直流工作点
(
静态工作点
)
必须配合
.OP
语句,
以直流工作点为初始条
件
。
直流工作点为初始条件常常出现不收敛!
瞬态分析初始条件的设定
初始条件语句一般形式:
.IC
var1=val1
<…>
.DCVOLT
V(node1)/node1=val1
<…>
例:
.IC
V(11) = 5
V(4) = -5
V(2) = 2.2
.DCVOLT
11
5
4
-5
2
2.2
注意
:
.IC
可以设置任意变量初始值
,而
.DCVOLT
只能设置电压初始值。
节点电压语句一般形式:
.NODESET
V(node1) = val1
或
.NODESET
node1
val1
val2...>
例:
?
.NODESET
V (12)
= 4.5
V(4) = 2.23
?
.NODESET
12
4.5
4
2.33
初始条件设置的三种形式:
?
①:
IC
=?
,描述元器件两端的初始电压。
?
如:
C1
2
0
1uF
IC=2V
?
②:
初始条件语句
.IC
-
-
-
-
-
-
-
-
-
上一篇:英美诗歌选读 第八讲
下一篇:老友记第一季 第九集笔记