Hspice(中文实用版)
第一章概 论
§1.1 HSPICE简介
随着微电子技术的迅速发展以及集成电路规模不断提高,对电路性能的设计要求越来越严格,这势必对用于大规模集成电路设计的EDA工具提出越来越高的要求。自1972年美国加利福尼亚大学柏克莱分校电机工程和计算机科学系开发的用于集成电路性能分析的电路模拟程序SPICE (Simulation Program with ICEmphasis)诞生以来,为适应现代微电子工业的发展,各种用于集成电路设计的电路模拟分析工具不断涌现。HSPICE是MetaSoftware公司为集成电路设计中的稳态分析,瞬态分析和频域分析等电路性能的模拟分析而开发的一个商业化通用电路模拟程序,它在柏克莱的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的内部建模技术
集成电路设计中的分析和验证是一种典型的围绕一系列结构的试验和数据管理。在电路性能分析中,一般都要在不同应用条件下,根据需要加入各种容差和限制后进行直流分析(.DC)、交流分析(.AC)和瞬态分析(.TRAN)。HSPICE模拟时的程序结构如图1.2.3所示
图1.2.3 HSPICE模拟时的程序结构
HSPICE能够通过不同的源文件去访问各种输入和模拟控制信息,并绘制和输出有关节点的分析曲线和结果。图1.2.4表示了HSPICE模拟过程中各数据的状态。
图1.2.4 HSPICE模拟过程各数据状态
§1.3 HSPICE的输入与输出文件
HSPICE根据输入网表(netlist)文件运算并产生仿真结果,仿真结果存储在输出列表文件或图形数据文件之中。
HSPICE读或写的文件都与当前的电路设计有关,而且都采用电路设计名作为前缀。一般情况下,与一个设计有关的所有文件都存放在同一目录下面。
一.文件名的后缀
1.HSPICE输入文件
配制文件 meta.cfg
初始化文件 hspice.ini
直流工作点初始化文件
输入网表文件
库输入文件
模拟转移数据文件
2.HSPICE输出文件
输出列表 .lis或由用户自己定义
瞬态分析结果 .tr#+
瞬态分析测量结果 .mt#
直流分析结果 .sw#+
直流分析测量结果 .ms#
交流分析结果 .ac#+
交流分析测量结果 .ma#
硬拷贝图形数据 .gr#++
数字输出 .a2d
FFT分析图形数据 .ft#++
子电路交叉列表 .pa#
输出状态 .st#
工作点节点电压(初始条件).ic
:代表扫描分析序号或者硬拷贝文件序号,一般从0开始。
#
+:表示在用.POST语句产生图形数据后该文件才被确立。
++:表示该文件需要一个.GRAPH语句或有一个针对meta.cfg文件中存在的文件的地址计数器。该文件在HSPICE的PC版中不产生。
+++:表示只有当应用了.FFT语句后该文件才被确立。
二. 输入网表文件
输入网表文件和库输入文件能够由一个线路网表转换器或用一个文本编辑器产生。
1.写输入网表文件的规则
输入网表文件的第一个语句必须是标题行,最后一个语句必须是.END语句,它们之间的语句次序是随意的,除非是续行(行首有“+”的行)必须接在要接下去的行后面,最后值得注意的是.ALTER子模块必须紧跟文件的结尾并出现在.END语句前。注释行可加在文件中的任何地方。
2. 输入文件的编辑
(a)HSPICE采用自由格式输入。语句中的域由一个或多个空格,一个Tab,一个逗号,
一个等号或一个左/右圆括号分开。
(b)除UNIX系统中的文件名外,不予区分大写或小写字母。
(c)每行语句长度限于80个字符以下。
(d)一个语句如在一行写不下,可以用续号继续下去。续行以“+”作为第一个非数值、
非空格字符。
(e)输入网表文件不能被“打包”,也不能被压缩。
(f)输入网表文件中不要采用特殊的控制字符。
三. 输出列表文件
电路模拟运行的结果和输入网表都被放入输出列表文件。输出列表文件被自动地取与指定的输入列表文件相同的前缀,不同的仅是带有“.lis”后缀。如输入列表文件为netlist.sp,则输出列表文件为netlist.lis。
输出列表文件包含了由输入列表文件中的.PLOT、.PRINT以及分析语句指定的模拟结果。例如输入列表文件包含了多于一次的模拟运行(通过采用.ALTER、.INCLUDE、.DATA等语句),输出列表文件中也包含了每一次模拟运行的结果。
四. 数值比例因子
HSPICE中的数值可以是整形数、浮点数。一个整形数或浮点数后跟随一个整形指数(如1e-14,2.65e3,但不能是1e-3pf)或者一个整形数或浮点数后跟随一个以下列出的数值比例因子: MI=25.4E-6 FT=.305 DB=20lg10 F=1e-15
P=1e-12 N=1e-9 U=1e-6 M=1e-3 T=1e12
G=1e9 MEG=X=1e6 K=1e3
图1.3.1显示了HSPICE的模拟流程。
图1.3.1 HSPICE模拟流程
第二章电路的描述语句
本章介绍HSPICE的一些主要描述电路的语句。用这些语句对电路模拟的标题,电路的连接方式即拓扑信息,构成电路的元件、器件、电源等的属性、参数、模型、所加的注释、电路模拟结束等进行描述。
§2.1 输入描述语句和规定
在输入的电路描述语句中输入的第一条语句是标题语句,最后一条语句必须是结束语句。
一. 标题语句(.TITLE语句)
一般形式:.TITLE
或
例:POWER AMPLIFIER CIRCUIT TEST
若用户不需要标题,则第一行必须空出,否则第一行的其它HSPICE语句被作为标题行,而
不被执行。
二. 结束语句(.END)
一般形式:.END
注意“.”不能少,它是结束语句整体的一部分。若一个HSPICE输入文件包含有几个HSPICE 的运行,则每一个HSPICE运行的最后都要加上.END语句。
例 MOS OUTPUT
.OPTIONS NODE NOPAGE
VDS 3 0
VGS 20
M1 1 2 0 0 MOD1 L=4U W=6U AD=10P AS=10P
.MODEL MOD1 NMOS VTO=-2 NSUB=1.0E15 TOX=1000 UO=550
VIDS 3 1
.DC VDS 0 10 0.5 VGS 0 5 1
.PRINT DC I(M1) V(2)
.END MOS OUTPUT
MOS CAPS
.OPTION SCALE=1U SCALM=1U WL ACCT
.OP
.TRAN .1 6
V1 1 0 PWL 0 -1.5V 6 4.5V
V2 2 0 1.5VOLTS
MODN1 2 1 0 0 M 10 3
M2 .MODEL M NOS VTO=1 NSUB=1E15 TOX=1000
+ UO=800 LEVEL=1 CAPOP=2
.PLOT TRAN V(1) (0,5) LX18(M1) LX19(M1)
+ LX20(M1) (0,6E-13)
.END MOS CAPS
三. .GLOBAL语句
一般形式:.GLOBAL node1 node2 node3…
node1… Global nodes, such as supply and clock names, override local
subcircuit definitions
输入文件若定义了.GLOBAL语句,则输入文件所有子电路中与.GLOBAL节点名相同的节点将都被自动定义成有连接关系。一般线路的电源、地被定义成.GLOBAL 语句。
四. 注释语句
是用户对程序运算和分析时加以说明的语句。在列出输入程序时会打印出来,但不参与模拟分析。该语句可放在输入文件标题语句以后的任意位置加以注释。
一般形式:*
或
§2.2 元件描述语句
元件语句一般由元件名、元件所连接的电路节点号和元件参数值组成。元件在输入中以一行表示,该行不能以“.”开始。语句中的第一个字母是关键字,它确定了该元件的类型。
一般形式:elname
elname: 元件名,是一个带有一个关键字母的不超过15个字符的字符串。
HSPICE中表示元件的关键字母的含义:
C-电容 K-耦合互感
L-电感 R-电阻
T-无损耗传输线 U-有损耗传输线
node1... 节点名,用来说明元件所连接的节点,节点名的第一个字符必须是字
母,整个字符串不超过16个字符(连第一个字母在内)。=()′. ′
[ ]等符号不能出现在节点名中。
mname: 模型参考名,对除了无源器件外所有元件都是必需的。
pname1... 元件参数名,用来标明一些元件的参数值。
val1... 赋于的参数值或模型节点,这些数值可以是数值,也可以是代数表达
式。
M=val 元件的倍增因子。
一. 电阻
一般形式:RXXX n1 n2
+
+
或 RXXX n1 n2
+
+
或 RXXX n1 n2 R=equation
例: R1 1 2 100k
RC1 12 17 1k TC=0.001, 0 1.2
R4 5 54 RMOD 12k
上述电阻描述语句中,电阻值可以是正值或负值,但不能为零。TC1和TC2是温度系数,其缺省值是零。
二. 电容和电感
(1) 电容:
一般形式: CXXX n1 n2
+
+
或 CXXX n1 n2
+
或 CXXX n1 n2 C=equation CTYPE=0 or 1
例: C1 3 2 10U IC=3V
CBYP 13 0 1UF
C2 1 2 CMOD 6PF
若系统中所用电容是非线性的,则其一般形式是:
CXXX n1 n2 POLY C0 C1 C2 ...
电容值=C0+C1*V+C2*V**2+…
(2) 电感:
一般形式:LXXX n1 n2
+
或 LXXX n1 n2
+
或 LXXX n1 n2 L=equation LTYPE=0 or 1
例: LLINK 42 69 1UH
LSHUNT 23 51 10U 0.001 0 15 IC=15.7MA
LH8 5 80 LMOD 2MH
若系统中所用电感是非线性的,则其一般形式是:
LXXX n1 n2 POLY L0 L1 L2 ...
电感值=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+…
三. 互感(电感)耦合器
一般形式: KXXX LYYY LZZZ Kvalue
或 KXXX LYYY LZZZ K=val
其中LYYY和LZZZ是两耦合电感的名字,耦合系数K的值,必须大于零且小于等于1。
例: K34 LAA LBB 0.9999
KXFTR L1 L4 K=0.87
四. 无损耗和有损耗传输线
(1) 无损耗传输线:
一般形式: TXXX in refin out refout Z0=val TD=val
+
或 TXXX in refin out refout Z0=val F=val
+
或 TXXX in refin out refout mname L=val
传输线是一个双向的理想延迟线,有两个端口,in和refin是端口1的(+)和(-)节点;
out 和refout分别是端口2的(+)和(-)节点。Z0是特征阻抗。传输线长度可用三种形式表
示:一种是由传输线的延迟TD确定的,例如:TD=10NS;另一种是给出一个频率F和参数NL来确
定,NL是在频率为F时相对于传输线波长归一化的传输线电学长度。若规定了F而未给出NL,则认
为NL=0.25(即频率为1/4波长的频率,F为二次谐波频率);第三种是直接用传输线长度来表示。
IC规定了传输线每个端口的初始电压和初始电流。
例: T1 1 0 2 0 Z0=50 TD=10NS
T2 1 2 3 4 Z0=120 F=1.5MHZ
T3 1 3 4 6 Z0=200 F=4.5MHZ NL=0.5
(2) 均匀分布的RC传输线(有损耗传输线)
一般形式:UXXX N1 N2 N3 MNAME L=LEN
N1和N2是RC传输线连接的两个元件节点,N3是连接到电容的节点,MNAME是模型名称。LEN 是RC传输线长度(单位是米),LUMPS如果给定,它用于模拟RC传输线中所采用的集总分段数目(the number of lumped segments)。
例: U1 1 5 0 URCMOD L=50U
URC2 1 10 4 UMOPL L=100U N=4
§2.3电源描述语句
HSPICE中提供了一些供激励用的独立源和受控源。电源描述语句也由代表电源名称的关键字、连接情况和有关参数值组成。描述电源的关键字含义为:
V: 独立电压源 I: 独立电流源
E: 电压控制电压源 F: 电流控制电流源
G: 电压控制电流源 H: 电流控制电压源
一. 独立电压源V和独立电流源I
一般形式:VXXX n+ n- <<DC=>dcval> <tranfun >
+ <AC=acmag,<acphase>>
或 IYYY n+ 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. 直流源
一般形式:VXXX n+ n- <
IXXX n+ n- <
例 V1 2 0 DC=5v
V1 2 0 5v
I1 3 0 DC=3mA
I2 3 0 3mA
2. 交流源
一般形式:VXXX n+ n-
IXXX n+ n-
例:V1 1 0 AC=10V 90
VIN 1 0 AC 10V 90
ISRC 23 21 AC 0.333 45.0
如果在关键字AC后面省去acmag,就认为该值是1。如果省去acphase,则认为该值为0。
3. 脉冲源
一般形式:PULSE <(> V1 V2
或: PU <(>
其中:
V1:脉冲源开始前的初始值
V2: 脉动值
td: 第一个脉冲开始前的延迟时间,缺省值为0.0
tr: 脉冲上升时间,缺省值为TSTEP
tf: 脉冲下降时间,缺省值为TSTEP
pw: 脉冲宽度,缺省值为TSTEP
per: 脉冲周期,缺省值为TSTEP
图2.3.1脉冲源示意图
例: VIN 3 0 PULSE (-1 1 2ns 2ns 2ns 50ns
100ns)
V1 99 0 PU lv hv tdlay tris tfall tpw tper 上述第二个例子中将用.PARAM语句中的参数来定义此脉冲源的相关值。
4. 正弦源(调幅正弦信号)
一般形式:SIN <(> vo va
其中:
vo: 电压或电流偏移量
va: 电压或电流幅度峰值
freq: 频率,缺省值是1/TSTOP。单位是Hz
t d: 延迟时间,缺省值是0.0,单位是秒。
θ: 阻尼因子,单位是1/秒,确省值是0.0。
?: 相位,确省值是0.0,单位是度。
例:VIN 3 0 SIN(0 1 100MEG 1NS 1e10)
图2.3.2正弦源示意图
5. 指数源:
一般形式: EXP<(> v1 v2
其中:
v1: 电压或电流的初始值
v2: 电压或电流的趋向值
td1: 上升延迟时间,缺省值为0.0,单位是秒
td2: 下降延迟时间,缺省值为td1+TSTEP,单位是秒
τ1: 上升时间常数,缺省值为TSTEP,单位是秒
τ2: 下降时间常数,缺省值为TSTEP,单位是秒
图2.3.3指数源示意图
例:VIN 3 0 EXP(-4 -1 2NS 30NS 60NS 40NS)
6. 分段线性源:
一般形式: PWL <(> t1 v1 v1... 电流或电压值。 t1... 分段点时间。 R 定义分段重复功能 repeat 定义分段重复的波形起始点 TD 定义实际分段线性开始前的延迟时间的关键字 delay 规定了分段线性的延迟时间 下面举一个应用分段线性源的实例: *FILE: PWL.SP THE REPEATED PIECEWISE LINEAR SOURCE *ILLUSTRATION OF THE USE OF THE REPEAT FUNCTION “R” .file pwl.sp REPEATED PIECEWISE LINEAR SOURCE .OPTION POST .TRAN 5N 500N V1 1 0 PWL 60N 0V, 120N 0V, 130N 5V, 170N 5V, 180N 0V, R 0N R1 1 0 1 V2 2 0 PL 0V 60N, 0V 120N, 5V 130N, 5V 170N, 0V 180N, R 60N R2 2 0 1 .END 图2.3.4上述实例中分段线性源示意图 PWL形式是分段线性源。每一对值(t i,v i)确定了在时间TIME=t i时分段线性源的值v i,从而确定了波形的一个拐点,中间时间的源值可用线性插值方法确定。 7. 单频调频源: 一般形式:SFFM <(> vo va 其中: v o输出电压或电流的偏移量 va 输出电压或电流的幅度 fc 载频,缺省值为1/TSTOP,单位是Hz mdi 调制指数,缺省值为0.0 fs 调制信号频率,缺省值为1/TSTOP,单位是Hz 波形由下式决定: sourcevalue=vo+va*SIN[2*π*fc*Time+mdi*SIN(2*π*fs*Time)] 图2.3.5单频调频源示意图 例:VIN 7 0 SFFM(0.01 0.4 100MEG 0.3 20k) 8. 单频调幅源: 一般形式:AM(sa oc fm fc td) 其中: sa 调制信号幅度,缺省值为0.0 oc 偏移常数,缺省值为0.0 fm 调制信号频率,缺省值为1/TSTOP,单位是Hz fc 载频,缺省值为0.0,单位是Hz td 信号开始前的延迟时间,确省值为0.0,单位是秒 波形由下式决定: sourcevalue=sa*{oc+SIN[2*π*fm*(Time-td)]} *SIN[2*π*fc*(Time-td)] 图2.3.6单频调幅源示意图 例:V3 3 0 AM (10 1 100 1k 1M) 二. 电压和电源控制源: (1) 电压控制电压源—E元件 一般形式: 线性:EXXX n+ n- + 多阶: EXXX n+ n- + inndim+ inndim- + + 分段线性:EXXX n+ n- + + + x100, y100 多输入门:EXXX n+ n- + ink+ ink- + + x1, y1,... x100, y100 延迟元件:EXXX n+ n- + (2) 电流控制电流源—F元件 一般形式: 线性: FXXX n+ n- + + 多阶:FXXX n+ n- + + 分段线性:FXXX n+ n- + 多输入门: FXXX n+ n- + + 延迟元件: FXXX n+ n- + (3) 电压控制电流源—G元件 一般形式: 线性:GXXX n+ n- + + 多阶:GXXX n+ n- + + + 分段线性:GXXX n+ n- + + + 或:GXXX n+ n- + + + 或:GXXX n+ n- + + + 多输入门:GXXX n+ n- + ink+ ink- + + 延迟元件:GXXX n+ n- + (4) 电流控制电压源—H元件 一般形式: 线性: HXXX n+ n- + + 多阶: HXXX n+ n- + <...vnndim> + + 分段线性:HXXX n+ n- + + x1, y1, x2, y2 ... , x100, y100 多输入门:HXXX n+ n- + + + y100 延迟元件:HXXX n+ n- + 上述是HSPICE中具有的四种电压和电流控制元件,通称为E、F、G和H元件。在HSPICE中用这些控制元件能够模拟MOS晶体管、双极型晶体管、隧道二极管和可控硅整流器,此外还能对一些功能块,诸如运放、加法器、比较器、压控振荡器、调制解调器和开关电容电路等进行模拟。控制元件有线性和非线性两类。 控制元件在实际应用中将根据不同情况以线性、多阶、分段线性、多输入门和延迟元件等方式来处理。 下面简单介绍一下多阶函数和分段线性函数: 控制元件描述语句允许控制输出变量作为一个或多个电压或分支电流的多阶函数来定义。在HSPICE中可通过POLY(NDIM)参数对三种多阶方程加以选择。 POLY(1) 一维方程 POLY(2) 二维方程 POLY(3) 三维方程 与多阶方程有关的多阶方程系数(P0,P1,...,Pn)对每一个多阶方程都要明确设置。 POLY(1)对应一个控制变量的函数 FV=P0+(P1?FA)+(P2?FA2)+(P3?FA3)+(P4?FA4)+(P5?FA5)+.... POLY(2)对应两个控制变量的函数 FV=P0+(P1?FA)+(P2?FB)+(P3?FA2)+(P4?FA?FB)+(P5?FB2)+(P6?FA3) +(P7?FA2?FB)+(P8?FA?FB2)+(P9?FB3)+... POLY(3)对应三个控制变量的函数 FV=P0+(P1?FA)+(P2?FB)+(P3?FC)+(P4?FA2)+(P5?FA?FB)+(P6?FA?FC) + (P7?FB2) +(P8?FB?FC)+(P9?FC2)+(P10?FA3)+(P11?FA2?FB) + (P12?FA2?FC) +(P13?FA?FB2) +(P14?FA?FB?FC)+(P15?FA?FC2)+(P16?FB3) +(P17?FB2?FC) +(P18?FB?FC2) +(P19?FC3)+(P20?FA4)+... 其中: FV: 来自控制源的控制电压或电流 P0...PN: 多阶方程系数 FA, FB, FC: 控制变量(分支电流或节点电压) 分段线性函数可以对诸如隧道二极管,可控硅整流器和二极管击穿范围等,通过规定测定数据点来进行分段描述,并且DELTA参数的设定可用来控制分段转角的曲率。 上述四种控制元件描述语句中的一些主要参数的定义规定如下: ABS ABS=1,输出是绝对值 DELAY 延迟元件的关键字。这个延迟元件简化了宏模型处理中传播延迟的调整,作为HPSPICE的一个关键字,DELAY不能用来当作节点名。 DELTA 用来控制分段线性转角的曲率。DELTA的缺省值是最小转折点距离的1/4,最大值被限制在最小转折点距离的1/2。 GXXX 电压控制电流源名,必须以“G”开头,随后的字符串不得超过15个字符。 FXXX 电流控制电流源名,必须以“F”开头,随后的字符串不得超过15个字符。 EXXX 电压控制电压源名,必须以“E”开头,随后的字符串不得超过15个字符。 HXXX 电流控制电压源名,必须以“H”开头,随后的字符串不得超过15个字符。 g a t e t y p e (k ) 逻辑门的类型可以是 A N D ,N A N D ,O R 或N O R 中的一种,参数 ( k )代表逻辑门 的输入端数目,”x ”,”y ”表示作为输入函数的输出分段线性变量。在多输入门中,只要一种输入状态就能确定输出的状态。 I C 初始条件,控制电压(电流)初始估算值。如果I C 没有被赋值,缺省值是0.0。 i n +/- 正或负控制节点 M 元件并联数 M A X 在V C C S 中是:最大电流或电阻值,不定义缺省值,无最大限制 在C C C S 中是:最大输出电流值,不定义缺省值,无最大限制 在V C V S 中是:最大输出电压值,不定义缺省值,无最大限制 在C C V S 中是:最大电压值,不定义缺省值,无最大限制 M I N 在V C C S 中是:最小电流或电阻值,不定义缺省值,无最小限制 在C C C S 中是:最小输出电流值,不定义缺省值,无最小限制 在V C V S 中是:最小输出电压值,不定义缺省值,无最小限制 在C C V S 中是:最小电压值,不定义缺省值,无最小限制 n +/- 控制源的正负连接节点 N D I M 多阶函数维数,如果 N D I M 没设置,则 H S P I C E 假定其为一维的。 N D I M 必须是正数。 N P D E L A Y 延迟模拟中设置的数据点数目,它由下式决定: ],10tstep tstop TD,min [ max NPDELAY default > <= 其中 t s t e p 或t e s t o p 的值在 . T R A N 语句中规定 N P W L 建立N M O S 对称双向开关或传输门模式。 P 0,P 1... 多阶方程系数。当规定一个系数时,H S P I C E 假定是P 1(P 0= .0)并且认为元件 是线性的,当规定多个系数时,则 H S P I C E 用P 0,P 1,P 2...来表示,此时元件是非线性 的 P O L Y 多阶状态关键字。 P W L 分段线性状态关键字。 P P W L 建立 P M O S 对称双向开关或传输门模式。 S C A L E 元件倍增数 S M O O T H 选择分段线性中曲线平滑的方法 T C 1,T C 2 一阶和二阶温度系数,“ S C A L E ”靠温度来刷新: ) t TC2t TC1(1SCALE SCALE 2eff ??+??+?= T D 时间延迟关键字 t r a n s c o n d u c t a n c e 电压(电流)到电流(电压)转换因子 v n 1... 控制电流流进的电压源名。 x 1... 在 V C C S 中是: 通过节点 i n +和 i n -的控制电压,x 值必须是递增次序排列。 在 C C C S 中是: 通过 v n 1源的控制电流,x 值必须是递增次序排列。 在 V C V S 中是: 通过节点 i n +和 i n -的控制电压,x 值必须是递增次序排列。 在 C C V S 中是: 通过 v n 1源的控制电流,x 值必须是递增次序排列。 y 1... 在 V C C S 中是: 与x 相应的元件数值 在 C C C S 中是: 与x 相应的输出电流值 在 V C V S 中是: 与x 相应的元件数值 在 C C V S 中是: 与x 相应的输出电压值 最后要提请注意的是, V C C S , C C C S , V C V S , C C V S 在 H S P I C E 中代表控制源的关键字,不 能用来当作节点名用。 § 2 .4 半导体器件描述语句 电路中每个半导体器件也和上述的元件一样需用器件语句来描述。每个器件描述语句的第 一字母是代表某种器件的关键字,这一节中所涉及的关键字的含义为: D :晶体二极管 Q :双极型晶体三极管 J :结型或 M E S 场效应晶体管 M : M O S 场效应管 一. 晶体二极管 一般形式 : D X X X n p l u s n m i n u s m n a m e a l > + L P =v a l > L M =v a l > + a l > 或 D X X X n p l u s n m i n u s m n a m e < a r e a _v a l e r i p h e r y _v a l >> + D X X X n p l u s n m i n u s m n a m e a l > + §电路级和行为级仿真 §直流特性分析、灵敏度分析 §交流特性分析 §瞬态分析 §电路优化(优化元件参数) §温度特性分析 §噪声分析 例(Hspicenetlist for the RC network circuit): .title A SIMPLE AC RUN .OPTIONS LIST NODE POST .OP .AC DEC 10 1K 1MEG .PRINT AC V(1) V(2) I(R2) I(C1) V1 1 0 10 AC 1 R1 1 2 1K R2 2 0 1K C1 2 0 .001U .END 输出文件:一系列文本文件 ?*.ic:initial conditions for the circuit ?*.lis:text simulation output listing ?*.mt0,*.mt1…:post-processor output for MEASURE statements ?*.pa0 :subcircuit path table ?*.st0 :run-time statistics ?*.tr0 ,*.tr1…:post-processor output for transient analysis ?*.ac0,*.ac1…: post-processor output for AC analysis .TITLE 语句 .TITLE IC课程设计报告 题目TSPC锁存器的设计与HSPICE仿真学院 专业 班级 学生姓名 日期 指导教师(签字) HSPICE简介 SPICE(Simulator Program with Integrated Circuit Emphasis,以集成电路为重点的模拟程序)模拟器最初于20世纪70年代在berkeley开发完成,能够求解描述晶体管、电阻、电容以及电压源等分量的非线性微分方程。SPICE 模拟器提供了许多对电路进行分析的方法,但是数字VLSI电路设计者的主要兴趣却只集中在直流分析(DC analysis)和瞬态分析(transient analysis)两种方法上,这两种分析方法能够在输入固定或实时变化的情况下对节点的电压进行预测。SPICE程序最初是使用FORTRAN语言编写的,所以SPICE就有其自身的一些相关特点,尤其是在文件格式方面与FORTRAN有很多相似之处。现在,大多数平台都可以得到免费的SPICE版本,但是,往往只有商业版本的SPICE 才就有更强的数值收敛性。尤其是HSPICE,其在工业领域的应用非常广泛,就是因为其具有很好的收敛性,能够支持最新的器件以及互连模型,同事还提供了大量的增强功能来评估和优化电路。PSPICE也是一个商业版本,但是其有面向学生的限制性免费版本。本章所有实例使用的都是HSPICE,这些实例在平台版本的SPICE中可能不能正常运行。 虽然各种SPICE模拟器的细节随着版本和操作平台的不同而各不相同,但是所有版本的SPICE都是这样工作的:读入一个输入文件,生产一个包括模拟结果、警告信息和错误信息的列表文件。因为以前输入文件经常是以打孔卡片盒的方式提供给主机的,所以人们常常称输入文件为SPICE“卡片盒(deck)”,输入文件中的每一行都是一张“卡片”。输入文件包含一个由各种组件和节点组成的网表。当然输入文件也包含了一些模拟选项、分析指令以及器件模型。网吧可以通过手工的方式输入,也可以从电路图或者CAD工具的版图(layout)中提取。 一个好的SPICE“卡片盒”就好像是一段好的软件代码,必须具有良好的可读性、可维护性以及可重用性。适当地插入一些注释和空白间隔有助于提高“卡片盒”的可读性。一般情况下,书写SPICE“卡片盒”的最好方法就是:先找一个功能完备、正确的“卡片盒”范例,然后在此基础上对其进行修改。 hspice的实战应用 最初写作本文的目的是希望提供一份中文版的Hspice手册从而方便初学者的使用,本文的缘起是几位曾经一起工作过的同事分别进入不同的新公司,而公司主要是使用Hspice,对于已经熟悉了Cadence的GUI界面的使用者转而面对Hspice的文本格式,其难度是不言而喻的,而Hspice冗长的manual(长达2000页以上)更让人在短时间内理不出头绪。鉴于我曾经使用过相当一段时间的Hspice,于是我向他们提供了一份简单而明了的handbook来帮助他们学习,本来是准备借助一个具体运放的设计例子,逐步完善成为一份case by case 的教程,但由于工作比较浩大,加之时间的关系,一直难以完成,愈拖愈久,在几个朋友的劝说下,与其等其日臻完善后再发布,不如先行发布在逐步完善,以便可以让更多的朋友及早使用收益。本文虽通过网络发表,但作者保留全部的著作权,转载时务请通知本人。由于水平的有限,讨论范围的局限及错误不可避免,恳请读者指正。联系方式为e-mail:nkchenliy@https://www.360docs.net/doc/1115224150.html,。 一、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的使用,并对仿真结果加以讨论,并以一个运算放大器为例,以便建立IC设计的基本概念。在文章的最后还将对Hspice的收敛性做深入细致的讨论。 Hspice输入网表文件为.sp文件,模型和库文件为.inc和.lib,Hspice输出文件有运行状态文件.st0、输出列表文件.lis、瞬态分析文件.tr#、直流分析文件.sw#、交流分析文件.ac#、测量输出文件.m*#等。其中,所有的分析数据文件均可作为AvanWaves的输入文件用来显示波形。 表1 Hspice所使用的单位 独立电压和电流源包括: 1. 直流源(DC): 电压源Vxxx n+ n- dcval 电流源Ixxx n+ n- dcval 2. 交流源(AC):Vxxx n+ n- AC=acmag,acphase 3. 瞬态源(随时间变化): 脉冲源:pulse v1 v2 td trtf pw per 线性源:pwl t1 v1 电路模拟实验专题 实验文档 一、简介 本实验专题基于SPICE(Simulation Program With Integrated Circuit)仿真模拟,讲授电路模拟的方法和spice仿真工具的使用。 SPICE仿真器有很多版本,比如商用的PSPICE、HSPICE、SPECTRE、ELDO,免费版本的WinSPICE,Spice OPUS等等,其中HSPICE和SPECTRE功能更为强大,在集成电路设计中使用得更为广泛。因此本实验专题以HSPICE和SPECTRE作为主要的仿真工具,进行电路模拟方法和技巧的训练。 参加本实验专题的人员应具备集成电路设计基础、器件模型等相关知识。 二、Spice基本知识(2) 无论哪种spice仿真器,使用的spice语法或语句是一致的或相似的,差别只是在于形式上的不同而已,基本的原理和框架是一致的。因此这里简单介绍一下spice的基本框架,详细的spice语法可参照相关的spice教材或相应仿真器的说明文档。 首先看一个简单的例子,采用spice模拟MOS管的输出特性,对一个NMOS管进行输入输出特性直流扫描。V GS从1V变化到3V,步长为0.5V;V DS从0V变化到5V,步长为0.2V;输出以V GS为参量、I D与V DS之间关系波形图。 *Output Characteristics for NMOS M1 2 1 0 0 MNMOS w=5u l=1.0u VGS 1 0 1.0 VDS 2 0 5 .op .dc vds 0 5 .2 Vgs 1 3 0.5 .plot dc -I(vds) .probe *model .MODEL MNMOS NMOS VTO=0.7 KP=110U +LAMBDA=0.04 GAMMA=0.4 PHI=0.7 .end 描述的仿真电路如下图, Hspice语法手册 天津大学电信学院 陈力颖 Preface 最初写作本文的目的是希望提供一份中文版的Hspice手册从而方便初学者的使用,本文的缘起是几位曾经一起工作过的同事分别进入不同的新公司,而公司主要是使用Hspice,对于已经熟悉了Cadence的GUI界面的使用者转而面对Hspice的文本格式,其难度是不言而喻的,而Hspice冗长的manual(长达2000页以上)更让人在短时间内理不出头绪。鉴于我曾经使用过相当一段时间的Hspice,于是我向他们提供了一份简单而明了的handbook来帮助他们学习,本来是准备借助一个具体运放的设计例子,逐步完善成为一份case by case的教程,但由于工作比较浩大,加之时间的关系,一直难以完成,愈拖愈久,在几个朋友的劝说下,与其等其日臻完善后再发布,不如先行发布在逐步完善,以便可以让更多的朋友及早使用收益。本文虽通过网络发表,但作者保留全部的著作权,转载时务请通知本人。由于水平的有限,讨论范围的局限及错误不可避免,恳请读者指正。联系方式为e-mail: nkchenliy@https://www.360docs.net/doc/1115224150.html,。 目录 一、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的使用,以便建立 IC设计的基本概念。文章还将对Hspice的收敛性做深入细致的讨论。 Hspice输入网表文件为.sp文件,模型和库文件为.inc和.lib,Hspice输出文件有运 行状态文件.st0、输出列表文件.lis、瞬态分析文件.tr#、直流分析文件.sw#、交流分析 文件.ac#、测量输出文件.m*#等。其中,所有的分析数据文件均可作为AvanWaves的 输入文件用来显示波形。 表1 Hspice所使用的单位 单位缩写含义 F(f) 1e-15 P(p) 1e-12 N(n) 1e-10 U(u) 1e-06 M(m) 1e-03 K(k) 1e+03 Meg(meg) 1e+06 G(g) 1e+09 T(t) 1e+12 DB(db) 20log10 注:Hspice单位不区分大小写 独立电压和电流源包括: 1. 直流源(DC): IC课程设计报告 题目 TSPC锁存器的设计与HSPICE仿真学院 专业 班级 学生姓名 日期 指导教师(签字) HSPICE简介 SPICE(Simulator Program with Integrated Circuit Emphasis,以集成电路为重点的模拟程序)模拟器最初于20世纪70年代在berkeley开发完成,能够求解描述晶体管、电阻、电容以及电压源等分量的非线性微分方程。SPICE 模拟器提供了许多对电路进行分析的方法,但是数字VLSI电路设计者的主要兴趣却只集中在直流分析(DC analysis)和瞬态分析(transient analysis)两种方法上,这两种分析方法能够在输入固定或实时变化的情况下对节点的电压进行预测。SPICE程序最初是使用FORTRAN语言编写的,所以SPICE就有其自身的一些相关特点,尤其是在文件格式方面与FORTRAN有很多相似之处。现在,大多数平台都可以得到免费的SPICE版本,但是,往往只有商业版本的SPICE 才就有更强的数值收敛性。尤其是HSPICE,其在工业领域的应用非常广泛,就是因为其具有很好的收敛性,能够支持最新的器件以及互连模型,同事还提供了大量的增强功能来评估和优化电路。PSPICE也是一个商业版本,但是其有面向学生的限制性免费版本。本章所有实例使用的都是HSPICE,这些实例在平台版本的SPICE中可能不能正常运行。 虽然各种SPICE模拟器的细节随着版本和操作平台的不同而各不相同,但是所有版本的SPICE都是这样工作的:读入一个输入文件,生产一个包括模拟结果、警告信息和错误信息的列表文件。因为以前输入文件经常是以打孔卡片盒的方式提供给主机的,所以人们常常称输入文件为SPICE“卡片盒(deck)”,输入文件中的每一行都是一张“卡片”。输入文件包含一个由各种组件和节点组成的网表。当然输入文件也包含了一些模拟选项、分析指令以及器件模型。网吧可以通过手工的方式输入,也可以从电路图或者CAD工具的版图(layout)中提取。 一个好的SPICE“卡片盒”就好像是一段好的软件代码,必须具有良好的可读性、可维护性以及可重用性。适当地插入一些注释和空白间隔有助于提高“卡片盒”的可读性。一般情况下,书写SPICE“卡片盒”的最好方法就是:先找一个功能完备、正确的“卡片盒”范例,然后在此基础上对其进行修改。 二、要与要求 在两相时钟技术中,必须十分小心的对两个时钟信号进行布线以保证它们的 电路原理图设计及Hspice仿真 实验报告 学生姓名: 学号: 指导老师: 实验内容: 用EDP原理图设计软件设计出两级运算放大器的电路图 用Hspice软件完成此两级运算放大器的仿真 实验地点:***实验室 实验时间:2009年9月——2009年12月 实验任务: 根据运算放大器的设计要求(单位增益带宽、相位裕量、输入等效噪声、功耗等),选择电路结构,详细分析了CMOS 运算放大器的所有性能参数,使用Level one 模型进行手工计算,设计出器件的几何尺寸,最后通过Hspice 仿真软件给出了性能指标的仿真结果。 实验思路: 两级运放可以同时实现较高增益和较大输出摆幅,其设计思路是将增益和摆幅要求分别处理,而不是在同一级中兼顾增益与摆幅。即运用第一级放大器得到高增益,可以牺牲摆幅,第二级放大器主要实现大输出摆幅,以补偿第一级牺牲的摆幅,并进一步提升增益,从而克服了单级运放增益与摆幅之间的矛盾,同时实现高增益和大摆幅。 实验指标: 开环增益≥80DB; 共模抑制比≥60DB; 相位裕度≥60°; 实验步骤: 一、用EDP原理图设计软件设计两级运算放大器的电路图,电路图如图一所示: 图一:CMOS两级运算放大器电路图 1、电路工作原理: 信号由差分对管两端输入,差模电压被转化为差模电流,差模电流作用在电流镜负载上又转化成差模电压,信号电压被第一次放大后被转化为单端输出,随即进入共源级再一次被放大后从漏端输出。电路特点是通过两级结构可以同时满足增益和输出摆幅的要求,即第一级提供高增益,可以牺牲摆幅,第二级弥补摆幅,同时进一步增大增益。 2、电路主体结构 由两个两个单级放大器构成,分别是:差分输入级和共源增益级。辅助电路为偏置电路和频率补偿电路。差分输入级采用PMOS 输入对管,NMOS 电流镜负载;共源级采用NMOS 放大管,PMOS 负载管;由六个MOS 管和一个电阻构成的电流源为两级放大电路提供偏置,另外还为频率补偿MOS 管提供偏压;一个NMOS 管和一个电容构成频率补偿电路,连接在共源级的输入输出之间作为密勒补偿。图一中分别命名为M1到M13。 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语法请参考 电路模拟实验专题 实验文档 一、简介 Simulation Program With Integrated Circuit)仿真模拟,SPICE(本实验专题基于讲授电路模拟的方法和spice仿真工具的使用。 SPICE仿真器有很多版本,比如商用的PSPICE、HSPICE、SPECTRE、ELDO,免费版本的WinSPICE,Spice OPUS等等,其中HSPICE和SPECTRE功能更为强大,在集成电路设计中使用得更为广泛。因此本实验专题以HSPICE和SPECTRE作为主要的仿真工具,进行电路模拟方法和技巧的训练。 参加本实验专题的人员应具备集成电路设计基础、器件模型等相关知识。 二、Spice基本知识(2) 无论哪种spice仿真器,使用的spice语法或语句是一致的或相似的,差别只是在于形式上的不同而已,基本的原理和框架是一致的。因此这里简单介绍一下spice的基本框架,详细的spice 语法可参照相关的spice教材或相应仿真器的说明文档。 首先看一个简单的例子,采用spice模拟MOS管的输出特性,对一个NMOS管进行输入输出特性直流扫描。V从1V变化到3V,步长为0.5V;V从0V变化到5V,步长为DSGS0.2V;输出以V为参量、I与V之间关系波形图。DSGSD *Output Characteristics for NMOS M1 2 1 0 0 MNMOS w=5u l=1.0u VGS 1 0 1.0 VDS 2 0 5 .op .dc vds 0 5 .2 Vgs 1 3 0.5 .plot dc -I(vds) .probe *model .MODEL MNMOS NMOS VTO=0.7 KP=110U +LAMBDA=0.04 GAMMA=0.4 PHI=0.7 .end 描述的仿真电路如下图, 图2-1 MOS管输入输入特性仿真电路图 得到的仿真波形图如下图。 程序中可以知道spice电路描述的主要组成部分。从这个简单的spice 标题和电路结束语句(1)在输入的电路描述语句中输入的第一条语句必须是标题语句,最后一条必须是结束语句。在本例中, ←标题*Output Characteristics for NMOS ……. ……结束语句←.end 2电路描述语句)(器件模型等描述,另激励源、电路描述语句描述电路的组成和连接关系,包括元器件、外,如果电路是层次化的,即包含子电路,电路描述部分还包括子电路描述(。).subckt元器采用不同的关键字作为元件名的第一个字母,要根据类型,在描述元器件时,NMOS件关键字见下表。如本例中,管的描述为:M1 2 1 0 0 MNMOS w=5u l=1.0u 表示的意思为: 元器件关键字x D G S B 模型名宽=xx 长=xx 其中D:漏结点;G:栅结点;S:源结点;B:衬底结点。 Hspice常见子电路集锦 TDR_differential source: .subcktTDR_SOURCE+Ro+Cable D+_SOURCE D-_SOURCE Vin1 1 0 pulse(0 1 0 100e-12) *positive source voltage Rin1 1 2 50 * positive source voltage internal resistance T1 2 0 D+_SOURCE 0 Zo=50 Td=200e-12 *TDR positive port 50ohm cable Vin2 4 0 pulse(0 -1 0 100e-12) *negative source voltage Rin2 4 5 50 * negative source voltage internal resistance T2 5 0 D-_SOURCE 0 Zo=50 Td=200e-12 *TDR negative port 50ohm cable .ends * TDR_differential termination .subcktTDR_Termination_R D+_T_R D-_T_R RD+ D+_T_R 0 50 RD- D-_T_R 0 50 .ends 统计眼图分析步骤: *Incident port definitions p1tx_in+ tx_in- 0 port=1 p2 in 0 port=2 Probe port definitions p3rxout+ rxout- 0 port=3 p4 out 0 port=4 Analysis statement .stateye T = 400p trf=20p + incident_Port= 1, 2 + probe_port = 3, 4 + Rj = 5p, 5p, 2p, 2p tran_init = 50 + T_resolution = 300 V_resolution = 300 Print, probe, and measure statements .print stateyeeye(4) .print stateyeber(3) .print stateyebathtubV(3, 0.9) .print stateyebathtubT(4, 1n) .probe stateyeeye(4) .probe stateyeber(3) .probe stateyebathtubV(3, 0.9) 一、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的使用,并对仿真结果加以讨论,并以一个运算放大器为例,以便建立IC设计的基本概念。在文章的最后还将对Hspice的收敛性做深入细致的讨论。 Hspice输入网表文件为.sp文件,模型和库文件为.inc和.lib,Hspice输出文件有运行状态文件.st0、输出列表文件.lis、瞬态分析文件.tr#、直流分析文件.sw#、交流分析文件.ac#、测量输出文件.m*#等。其中,所有的分析数据文件均可作为AvanWaves的输入文件用来显示波形。 表1 Hspice所使用的单位 独立电压和电流源包括: 1. 直流源(DC): 电压源Vxxx n+ n- dcval 电流源 Ixxx n+ n- dcval 2. 交流源(AC):Vxxx n+ n- AC=acmag,acphase 3. 瞬态源(随时间变化): 脉冲源:pulse v1 v2 td tr tf pw per 线性源:pwl t1 v1 HSPICE 使用流程 HPICE软件主要用于模拟电路的仿真。模拟电路仿真工具是以电路理论、数值计算方法和计算机技术为基础实现的,由于模拟电路在性能上的复杂性和电路结构上的多样性,对仿真工具的精度、可靠性、收敛性以及速度等都有相当高的要求。HSPICE程序由于收敛性好,适于做系统及电路仿真,又有工作站版和微机版本,在国内外的用户十分广泛。 一、HSPICE可模拟的内容 1.直流分析:包括非线性电路的直流分析 ①电路的直流工作点:分析时电路中的电感全部短路,电容全部开路, 得到电路的每一节点的电流和电压(相对参考点)值。 ②直流小信号传输值:传输函数的直流小信号值为直流小信号工作下的 输出变量和输入变量之比值,包括电路的输入电阻和输出电阻。 ③直流转移曲线:HSPICE可在用户指定的范围内,逐步改变指定的独 立电压或电流源,对每一个电源值的变化,都得到储存的输出变量。 ④灵敏度分析:求出指定输出变量对于电路参数(包括电路中所有的元 件,器件参数,直流电源的输入电平)的直流小信号灵敏度。 2.交流小信号分析:将交流输出变量作为频率的函数计算出来。先计算电 路的直流工作点,决定电路中所有非线性器件的线性化小信号模型参数, 然后在用户所指定的频率范围内对该线性化电路进行分析。 ①频域分析:在用户规定的频率范围内完成电路的交流分析。 ②噪声分析:HSPICE可计算每个频率点上总的输出噪声电平及其等效 输入噪声电平。 ③失真分析:计算电路交流小信号工作下电路的失真特性,分析时是在 输入端加有一个或两个频率的信号,在用户给定的输出负载电阻时, 求出在该负载上的输出失真功率。 3.瞬态分析 ①瞬态响应:是从时间为零开始,到用户规定的时间范围内进行电路的 瞬态特性分析。 ②傅立叶分析:可以对输出波形进行傅立叶分析,得到在用户指定的基 频及时间间隔范围的傅立叶系数。 4.电路的温度特性分析:HSPICE在用户未说明时,是在27℃的标称温度 下进行各种模拟的。当用户指定电路在什么温度下工作时,HSPICE也 能进行不同温度下的电路特性分析,在温度低于-273℃时不予模拟。 二、HSPICE程序可输入的元器件和电源 1.元件:包括电阻、电容、电感、耦合互感、无损耗传输线及开关等。 2.半导体器件:结型二极管、双极型晶体管、结型场效应管、MOS场效应 管及MESFET等。 3.电源:独立电流源、独立电压源、线性电压控制电流源、线性电压控制 电压源、线性电流控制电流源、线性电流控制电压源以及相应的非线性 受控源。其中独立源除直流源外还有脉冲源、交流正弦源、分段线性源、 调幅信号源、调频信号源等。 4.子电路:HSPICE允许用户用定义器件模型相似的形式自行定义一组元 icfb的使用说明 实验室上机 如果选择到微电子所开放实验室上机,用自己的用户名和密码进入Linux操作系统后,在桌面上点击鼠标右键,选择New Terminal启动一个命令行窗口,如图1所示。 图1 1.1远程登录 如果选择远程登录方式,可以参考下面的步骤。 1安装远程登录软件 例如Xmanager 1.3.9。 2配置远程登录软件 在[开始]菜单中,运行Xmanager菜单中的Xconfig;设置Window模式为Multiple Window Mode,Background选则X window background(transparent), Window Manager选则Local Only;设置XDM为Do not Use XDM(Passive). 点击[确定],如图2。 3运行远程登录软件 在[开始]菜单中,运行Xmanager菜单中的Xstart;Name选择xterm,Host输入166.111.77.10,Protocol选择SSH,点击Run,即可用自己的用户名和密码登录服务器,登录成功后也会打开一个命令行窗口,如图3。 图2 图3 1.2文件上传或下载 可以用自己的用户名和密码访问ftp://166.111.77.10,用于上传或下载自己的数据和文档。 注意,对于上传的网表(例如inv.sp)等文件,最好都运行一下dos2unix命令以确保文件转换为Unix格式,方法是在命令行窗口中输入命令dos2unix inv.sp,如图4。 图4 2创建工作环境 如果是第一次使用,需要按以下步骤创建工作环境。如果是继续以前的工作,则直接按2.2节的步骤进入工作目录,启动设计软件即可。 2.1创建工作目录 创建工作目录:在命令行窗口中输入命令mkdir project 。 创建验证目录:在命令行窗口中输入命令mkdir project/verify 。 注意,所有设计工作、软件启动都在目录~/project下进行,所有版图验证工作都在目录~/project/verify下进行,不要在其它目录下进行。 设置SMIC工艺库环境:输入命令cp ~chby1/project/cds.lib ~/project,如图5。 图5 2.2启动设计软件 进入工作目录:输入命令cd project 。 启动设计软件icfb:输入命令icfb & ,弹出如图6所示的CIW窗口。 点击菜单File→Exit可以退出icfb软件。 图6 2.3创建设计库 创建自己的设计库:在CIW窗口中点击菜单File→New→Library;在弹出的对话框中,Library IC610设计系统使用指南 一、远程登录服务器的方法: 1 安装Xmanager X桌面服务器软件: 2 运行Xmanager-Passive程序,运行成功在桌面底部任务栏应该有X形图标: 3 拷贝(绿色,不需要安装)putty远程登录软件,运行之: 4 设置登录服务器的IP地址(10.22.68.163),注意只能在校园网内可以连接,公网不能连接: 5 设置X11使能:(connection-SSH-X11: Enable X11 forwarding打勾): 6 按Open以后进入登录窗口: 在光标处输入用户名(s学号: 如s084774408),回车,输入密码(注意密码不回显,也无星号显示) 登录成功: 7 接下来就可以运行软件了 8 运行nautilus 可以打开文件管理器 运行gterm可以打开另一个终端 二、进入IC设计系统和建立的方法 9 进入design/ic610/ 并运行icfb& 可以打开IC设计系统 cd design/ic610 icfb& 10 运行成功出现Virtuosoo的窗口(ICW): 11 ,打开库管理器 12 库管理器有三栏,分别是设计库(library)、设计单元(cell)、设计视图(View),一个设计库可以包含多个设计单元,每个单元又有多个视图: 13 选择菜单File→New→Library…,可以创建一个设计库: 14 在新建设计库的对话框中,输入设计的名字,选择存放的位置,即可OK 15 一般我们将新建的设计库与现有的工艺库相关联,也就是使用现有的工艺作为设计的基础,所以这里要选择Attach to an existing technology library这一项,即可OK。 16 接下来就是选择需要关联哪个工艺库,在这里我们使用45nm工艺来设计,所以要选择工艺库 作为关联工艺库。 17 回到库管理器,这里选择刚刚建立的设计库,就可以进行建立单元的操作。 18 选择菜单File→New→Cell View…可以创建一个单元,同时也创建了它的一个视图(一般我们可以创建layout(版图), schematic(原理图), symbol(符号图)等视图。 19 这里我们先创建一个单元(Cell) INV,视图类型(Type)选择schematic(View这一栏会自动生成,当然也可以更改),其他不动,OK 三、原理图编辑方法 20 进入原理图编辑器(Schematic Editor L),即可进行原理图的设计 Hspice 简明手册 Hspice是一个模拟电路仿真软件,在给定电路结构和元器件参数的条件下,它可以模拟和计算电路的各种性能。用Hspice分析一个电路,首先要做到以下三点:(1)给定电路的结构(也就是电路连接关系)和元器件参数(指定元器件的参数库); (2)确定分析电路特性所需的分析内容和分析类型(也就是加入激励源和设置分析类型); (3)定义电路的输出信息和变量。 Hspice规定了一系列输入,输出语句,用这些语句对电路仿真的标题,电路连接方式,组成电路元器件的名称,参数,模型,以及分析类型,以及输出变量等进行描述。 一Hspice输入文件的语句和格式 Hspice输入文件包括电路标题语句,电路描述语句,分析类型描述语句,输出描述语句,注释语句,结束语句等六部分构成,以下逐一介绍: 1 电路的标题语句 电路的标题语句是输入文件的第一行,也成为标题行,必须设置。它是由任意字母和字符串组成的说明语句,它在Hspice的title框中显示。 2 电路描述语句 电路描述语句由定义电路拓扑结构和元器件参数的元器件描述语句,模型描述语句和电源语句等组成,其位置可以在标题语句和结束语句之间的任何地方。 (1)电路元器件 Hspice要求电路元器件名称必须以规定的字母开头,其后可以是任意数字或字母。除了名称之外,还应指定该元器件所接节点编号和元件值。 电阻,电容,电感等无源元件描述方式如下: R1 1 2 10k (表示节点1与2间有电阻R1,阻值为10k欧) C1 1 2 1pf (表示节点1与2间有电容C1,电容值为1pf) L1 1 2 1mh (表示节点1与2间有电感L1,电感值为1mh) 半导体器件包括二极管,双极性晶体管,结形场效应晶体管,MOS场效应晶体管等,这些半导体器件的特性方程通常是非线性的,故也成为非线性有源元件。在电路CAD工具进行电路仿真时,需要用等效的数学模型来描述这些器件。 (a)二极管描述语句如下: DXXXX N+ N- MNAME package model的那些事儿(全文完) 来源:https://www.360docs.net/doc/1115224150.html,/bbs/thread-3185-1-1.html 写在前面的废话: 最近一直在捣鼓着IBIS5.0的spec,希望能在里面挖点金子出来,这不,一下子瞅见了眼生的[package model],于是乎,对它产生了很大的兴趣。以前在仿真中关于package一般只调用模型的[package]参数,或者[PIN]里面的参数,但是从来没用过[package model]这个东东,更何况在大多数IBIS模型里难觅它的踪影。为了一睹它的芳容,我们就来讲述下它的故事。 首先感谢下Triton版主的大力帮忙,Triton版主是个新好男人,耐心细致,哈哈。另外本文仅仅为个人学习总结,水平有限,文中难免会有错误之处,还请各位童鞋们和大侠们不吝赐教,多谢关注。 最后声明本文由作者亲作,如有雷同,实属荣幸,请需要转的童鞋务必注明来自https://www.360docs.net/doc/1115224150.html,论坛。 好了,废话结束,也不知道大家对这个话题有没有热情,要是大家都感兴趣的话就准备开掰。 ——阿笨2012.1.6 先给个概要: 1. [package] [pin] [package model]的“爱恨情仇” 2. [package model]的自述 3. 用hspice调用package参数的区别 1. [package] [pin] [package model]的“爱恨情仇” 那我们就从[package]说起吧,首先来一段[package]的示例,图1 再来看一张[package]的介绍,图2 从图片中我们可以看出关于[package]的作用,它是定义关于R_pkg,L_pkg, C_pkg参数的一个字段,这里定义的参数是一个笼统的数,为什么说它是笼统的呢,是因为它只有一组数就把器件所有的PIN脚都包括了,这显然是为了图省事嘛,人家双胞胎生出来还有差异呢,凭啥你说这么多PIN脚的寄生参数都一样呢,这种参数模型仿出来的结果肯定和实际情况差的有点远。一般大的IC厂家都不会只弄这么一组数来忽悠客户的,这样也太砸自己的招牌了。于是乎,[pin]字段闪亮登场了。 按照惯例,先来看一张[pin]字段的例子,图3 接着看一下[pin]字段的introduction,图4 上图的描述里我们可以看出[pin]字段不仅仅描述了每个PIN脚的package参数,同时也描述了管脚的编号,管脚的信号名称,管脚的模型名称,包含的内容还是蛮多的。由于[PIN]字段里的package信号具体到了每个管脚,不像[package]一组数据打天下,所以用它仿真出来的结果还算勉勉强强接近实际,所以大家看到的ibis模型里既有[package]字段数据,又有[pin]字段数据的比较多。刚才说到为什么[pin]字段仿真出来的结果是勉勉强强接近实际呢,这是因为[pin]字段和[package]字段一样,仅仅用一阶的RLC电路来描述整个package的特性,可能在频率不太高的情况下可以做个参考,但是到了高频后这显然是不够的,PIN与PIN之间的耦合信息,IC内部的bondwire信息等等全部没有。有人会说用3D全波电磁场建模可以解决问题,当然能这么做是最好了,可惜往往事与愿违,package的3D模型不是每个厂家都能提供的。而让手头仅有的资源发挥出最大的作用是我们可以做的事情,同时ibis模型也祭出了绝招,那就是[package model]!!! 这次我们不给示例,先看下[package model]在IBIS5.0的spec里的说明,图5 大家看到这个说明几句话就结束了,都没看明白写的啥意思是吧,咱们暂时先不急,关于[package model]的内容我们第2章在来详细说明,接下来我们该说说[package] [pin] [package model]的“爱恨情仇”了。 <)> 其中: hspice仿真整理
TSPC锁存器的设计与HSPICE仿真
HSpice实战
(完整版)HSPICE与CADENCE仿真规范与实例..
hspice语法手册
TSPC锁存器的设计与HSPICE仿真设计
电路原理图设计及Hspice仿真
HSPICE入门
完整版HSPICE与CADENCE仿真规范与实例
Hspice 常见si仿真子电路集锦
HSPICE基础知识
HSPICE-使用流程
!2013版icfb的使用说明
IC610系统的使用
Hspice简明手册
hspice si仿真:package model的那些事儿