HSpice语言学习总结
第一讲:《SPICE》概述
(1) 元器件模型
构成器件模型的方法有两种:
? 行为级模型—“黑匣子”模型
例如IBIS模型和S参数,最新的是Verilog-AMS模型和VHDL-AMS模型
精度较差,一致性不能保证,受测试技术和精度的影响。
一般应用到高频、非线性、大功率等大型电路设计 ? 等级(LEVEL)模型
例如Hspice便是利用这种模型 精度较高
一般应用于中小型电路的IC设计 (2) LEVEL模型
② LEVEL1—LEVEL3:线性模型或低阶模型,可
直接进行计算或估算。 ②流片工厂提供的模型,如Level 49和Mos 9、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 用于RF设计较好,Hspice更适合模拟IC设计 ? 目前应用建议:用Cadence布线布图以及版图
设计,Hspice仿真
(2) 输入行格式:
◆第一个语句必须是标题行,最后一个语句必须是.END语句;
? 标题语句和结束语句中间语句无任何先后次
序;
? 不区分大小写,无上标和下标(忽略) ? 语句、等式的长度不能超过256字符; ? 续行用“+”表示。 (3) 分隔符:
①分隔符可以为: tab键,空格,逗号,等号,括号 ②元件的属性用冒号来分割,例如 M1:beta
③用句点来表示隶属关系,例如X1.A1.V”表示电路X1的子电路A1的节点V
(4) 节点
① 结点标识可以长达1024个字符 ② 结点数字开头的0被忽略
③ 跟在以数字开头的结点编号后的字母被忽略。 ④ 结点名可以由以下任何字符打头:# _ ! %
⑤ 结点可以用.GLOBAL语句声明为全局调用。如声明节点1为全局调用,.GLOBAL 1
⑥ 结点0、GND、GND!和GROUND均指的是Hspice全局的地。
(1.0)后缀名:.sp。产生方法:可以用任何一个文本编辑器产生,只需更改后缀名
? 文件名:必须为英文,以字母打头,长度不超
过256个字符
? 放置目录:要放置于全英文目录下 ? 输入网表文件不能压缩⑦HSPICE要求每个节点对地均要有直流通路。当这个条件不满足时,通常是接一个大电阻使该悬浮节点具有直流通路。
⑧每个节点至少应连接两个元件,不能有悬空节点存在
(5) 数值及比例因子 数字表示:
a) 数字可以用整数,如12,-5; b) 浮点数,如2.3845,5.98601;
c) 整数或浮点数后面跟整数指数,如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,DB=20lg10 ,MIL=25.4E-6(千分之一英寸) (6) 单位及关键字
单位:以工程单位米、千克和秒(M,Kg,S)为基本单位。由此得到的其它电学单位可省略。如10,10V表示同一电压数。1000Hz,1000,1E+3,1k,1kHz都表示同一个频率值。同样,W、A等标准单位在描述时均可省略。单位可以省略,例如: C1 1 2 10P
二、标题、结束及注释语句
(1) 标题语句: .TITLE 语句 形式:
1: .TITLE
更常见的是第二种形式:a simple ac run 注意:如果没有标题,第一行空出。
(2) 结束语句 .END 语句
形式: .END
在 .END语句之后的文本将被当作注释而对模拟没有影响。
(3) 注释语句
一般形式:*
或
(1)元件描述的基本格式
HSPICE中元件的属性由 器件名,器件位置,器件类型,器件参数值等来定义。格式为: 名称 器件所连接的节点 器件的类型 参数值 例: 1A SIMPLE AC RUN 标题 2V1 1 0 DC 10 AC 1 3R1 1 2 1K 4R2 2 0 1K 电路描述语句
5C1 2 0 .001U
6.OPTIONS LIST NODE POST
7.OP
8.AC DEC 10 1K 1MEG 命令语句
9.PRINT AC V(1) V(2) I(R2) I(C1) 10.END 结束语句
(1)无源器件1-电阻
一般形式:
RXXX n1 n2 Rvalue TC=TC1,TC2 温度系数的缺省值为0,0
注释:R=R0*[1+TC1*(T-T0)+TC2*(T-T0)2]
T0为室温,25或27℃ 例: R1 1 2 100k
( 2 )无源器件RC1 12 17 2- 电容 1k
TC=0.001, 0
一般形式:
CXXX n1 n2 Cvalue TC=TC1,TC2 温度系数的缺省值为0,0
注释:C=C0*[1+TC1*(T-T0)+TC2*(T-T0)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 温度系数的缺省值为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-互感(电感)耦合
一般形式: KXXX LYYY LZZZ Kvalue KXXX LYYY LZZZ K=value 两耦合电感的名字: LYYY 和LZZZ 耦合系数: K , 0 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) 无源器件6-有损耗传输线 均匀分布RC传输线一般形式: UXXX N1 N2 N3 MNAME L=LEN LEN:RC 传输线长度(m); LUMPS: 传输线中所采用的集总分段数目 例: U1 1 5 0 URCMOD L=50U URC2 1 10 4 UMOPL L=100U N=4 有源器件 ? 晶体二极管(D) ? 双极型晶体三极管BJT(Q) ? 结型场效应管JFET或金属半导体场效应管 MESFET (J) ? MOS场效应管(M) 晶体二极管 ? (1) 晶体二极管(D) 只往一个方向传送电流的元件。 单向导电特性:电流由正极流向负极 决定二极管性能的因素: ? 二极管面积:决定反向饱和电流,寄生电阻等 ? 掺杂浓度及材料:导通电压等 ? 温度:影响反向饱和电流,势垒电容等 (二)一般形式: DXXX nplus nminus mname + ? DXXX:二极管元件名,必须以D开头,后面最 多跟15个字符。 ? nplus/nminus: 二极管的正端(阳极)和负端(阴 极) ? mname: 二极管模型名 (三)一般形式: DXXX nplus nminus mname + ? area:二极管面积,它定义了饱和电流,电容 与电阻值。可以写为area=???也可以直接写为???,缺省值为1.0;若不定义area,用定义 W(二极管宽度)和L(二极管长度)来代替也可以,area=W*L (四)一般形式: DXXX nplus nminus mname + ? PJ:二极管周长,PJ=2(L+M)。 ? WP/LP: 寄生多晶电容的宽度/长度,缺省值为 0 ? WM/LM: 寄生金属电容的宽度/长度,缺省值 为0 (五)一般形式: DXXX nplus nminus mname + ? OFF:规定在进行直流分析时忽略初始条件, 缺省值为ON。 ? IC: 瞬态分析的初始条件 ? M: 多重二极管模拟时的倍增因子,缺省值为 1 DTEMP:元件温度与电路温度之间的差额,缺省值0 (六)一般形式: DXXX nplus nminus mname + DBRIDGE 6 7 DIODE 1 DCLMMMP 3 GND DMOD 3 IC=0.2 第三讲 HSPICE网表的语法(续) 双极型晶体三极管(1) 决定三极管性能的因素: ? 三极管面积:决定电流,电容,寄生电阻等 ? 掺杂浓度及材料:导通电压等 晶体二极管一般形式(回忆) 一般形式: DXXX nplus nminus mname + 1:元件名称 2:节点 3:几何参数 4:初始值设定 5双极型晶体三极管:温度设定 (2) 一般形式: QXXX nc nb ne + ? QXXX:三极管元件名,必须以Q开头,后面 最多跟15个字符。 ? nc/nb/ne/ns: 三极管的集电极、基极、发射极 以及基底节点 mname: 三极管模型名 avalue:三极管面积。也可以用areaA=???、areaB=???以及areaC=???来定义。其中areaA, areaB以及areaC分别为发射区,基区,集电区的面积倍增因子。缺省值为1. OFF:规定在进行直流分析时忽略初始条件,缺省值为ON。 IC: 瞬态分析的初始条件两种表达方式。 M: 多重三极管模拟时的倍增因子,缺省值为1 DTEMP:元件温度与电路温度直接的差额,缺省值0 (五)一般形式: QXXX nc nb ne + + 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性能的因素: ? 面积:决定电流,电容,寄生电阻等 ? 掺杂浓度及材料:导通电压等 ? 温度:影响电流,势垒电容等 MESFET:将金属半导体接触势垒(肖特基势垒)代替了PN结作为栅极 结型场效应管JFET或 MESFET(2 ) 一般形式: JXXX nd ng ns + 注释: ? JXXX:元件名,必须以J开头,后面最多跟15 个字符。 ? nd/ng/ns/nb: 漏极、栅极、源极以及基底节点 ? AREA:面积倍增因子。可以用AREA=???或者 直接???来表示。或者用栅极宽W和栅极长L代替。缺省值为1. ? OFF:规定在进行直流分析时忽略初始条件, 缺省值为ON。 ? IC: 瞬态分析的初始条件,两种表达方式。 一般形式: JXXX nd ng ns + + 例子: 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 + ? MXXX:元件名,必须以M开头,后面最多跟 15个字符。 ? nd/ng/ns/nb: 漏极、栅极、源极以及基底节点 ? L/W:沟道长度和宽度; ? AD/AS:漏扩散区和源扩散区的面积; PD/PS:漏结和源结的周长 ? NRD/NRS:用以计算漏、源极寄生串联电阻的 漏扩散区等效方块数 ? RDC/RSC:漏极、源极与连线的接触电阻 ? OFF:规定在进行直流分析时忽略初始条件, 缺省值为ON。 ? IC: 瞬态分析的初始条件。 ? M: 多重管模拟时的倍增因子,缺省值为1 ? DTEMP:元件温度与电路温度直接的差额,缺省 值0 ? 一般形式: MXXX nd ng ns + 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 电路描述语句 激励源 ? 独立源—独立电压源(V)和独立电流源(I) ? 源控源 ? 电压控制电压源(E) ? 电流控制电流源(F) ? 电压控制电流源 (G) ? 电流控制电压源(H) 直流源:一般形式: VXXX 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 IXXX n+ n- PULSE VIN 3 0 PULSE -1 1 2ns 2ns 2ns 50ns 100ns 正弦源:一般形式: VXXX n+ n- SIN V0 Va IXXX n+ n- SIN I0 Ia 注释: V0:初始值; Va:峰值;freq:频率;td:延迟时间;θ:阻尼因子;φ:相位 指数源:一般形式: VXXX n+ n- EXP V0 Va IXXX n+ n- EXP I0 Ia 注释: V0:初始值(V0 例子: VIN 3 0 EXP 0 4 2ns 30ns 60ns 40ns 分段线性源:一般形式: VXXX n+ n- PWL t1 V1 IXXX n+ n- PWL t1 I1 tn Vn/In:时间—电压/电流对;R:是否周期重复 td:重复时延迟时间