1、HSPICE使用流程HSPICE 使用流程HPICE 软件主要用于模拟电路的仿真。 模拟电路仿真工具是以电路理论、 数 值计算方法和计算机技术为基础实现的, 由于模拟电路在性能上的复杂性和电路 结构上的多样性,对仿真工具的精度、 可靠性、 收敛性以及速度等都有相当高的 要求。 HSPICE 程序由于收敛性好,适于做系统及电路仿真,又有工作站版和微 机版本,在国内外的用户十分广泛。一、 HSPICE 可模拟的内容1.直流分析: 包括非线性电路的直流分析1电路的直流工作点: 分析时电路中的电感全部短路,电容全部开路, 得到电路的每一节点的电流和电压(相对参考点)值。2直流小信号传输值: 传输函数的
2、直流小信号值为直流小信号工作下的 输出变量和输入变量之比值,包括电路的输入电阻和输出电阻。3直流转移曲线: HSPICE 可在用户指定的范围内,逐步改变指定的独 立电压或电流源,对每一个电源值的变化,都得到储存的输出变量。4灵敏度分析: 求出指定输出变量对于电路参数 (包括电路中所有的元 件,器件参数,直流电源的输入电平)的直流小信号灵敏度。2.交流小信号分析: 将交流输出变量作为频率的函数计算出来。先计算电 路的直流工作点,决定电路中所有非线性器件的线性化小信号模型参数, 然后在用户所指定的频率范围内对该线性化电路进行分析。1频域分析: 在用户规定的频率范围内完成电路的交流分析。2噪声分析:
3、 HSPICE 可计算每个频率点上总的输出噪声电平及其等效 输入噪声电平。3失真分析: 计算电路交流小信号工作下电路的失真特性, 分析时是在 输入端加有一个或两个频率的信号,在用户给定的输出负载电阻时, 求出在该负载上的输出失真功率。3.瞬态分析 瞬态响应: 是从时间为零开始, 到用户规定的时间范围内进行电路的 瞬态特性分析。 傅立叶分析: 可以对输出波形进行傅立叶分析, 得到在用户指定的基 频及时间间隔范围的傅立叶系数。4.电路的温度特性分析:HSPICE在用户未说明时,是在27C的标称温度下进行各种模拟的。当用户指定电路在什么温度下工作时, HSPICE 也 能进行不同温度下的电路特性分析
4、,在温度低于 -273C时不予模拟。、HSPICE 程序可输入的元器件和电源1.元件: 包括电阻、电容、电感、耦合互感、无损耗传输线及开关等。2.半导体器件: 结型二极管、双极型晶体管、结型场效应管、 MOS 场效应 管及 MESFET 等。3.电源: 独立电流源、独立电压源、线性电压控制电流源、线性电压控制 电压源、线性电流控制电流源、线性电流控制电压源以及相应的非线性 受控源。 其中独立源除直流源外还有脉冲源、 交流正弦源、 分段线性源、 调幅信号源、调频信号源等。4.子电路: HSPICE 允许用户用定义器件模型相似的形式自行定义一组元器件作为子电路。子电路的大小没有限制,子电路可以嵌套
5、子电路,使用户在模拟含有较多重复单元电路的较大规模电路时更为方便。三、 HPICE软件的运行HSPICE可以以命令行方式方式启动,类似于 DOS命令交互方式,较繁琐。我们目前采用的是 Windows标准输入界面,使用标准输入文件。操作步骤为:1、 启动 Hspui.exe 出现 Star-Hspice Launcher2、 在Star-Hspice Launche下,按Browse,选取网表输入文件(*.sp),然后按确定。3、 在 Star-Hspice Launcher下,按 Simulate 就会自动弹出 Hspice窗口,并对电路进行模拟。4、 模拟结束后,Hspice窗口关闭。5、
6、在 Star-Hspice Launche下,按 Avanwaves 查看输出波形。6、 可以用记事本来查看输出文档(*.list)。四、 电路模拟过程用HSPICE进行电路分析时,各个程序模块之间的关系和设计流程见图 1:图1程序设计流程图电路的模拟过程描述如下:逆向设计的步骤是一开始便进入了电路原理图的输入。 原理图是根据逆向提 取的结果输入。原理图Schematics文件输入完毕并检查Check通过后,将原理图 转换成网单文件。我们首先要选择合适的工艺,并调用该工艺所提供的库文件。该库文件中应 包含用该工艺制得的三极管的各个参数值,如单位漏电流,基区方块电阻, 值等(详见HSPICE使用
7、手册)。有源器件,如三极管,它们的尺寸是根据工艺的最 小尺寸及电路的指标要求来设定的,如发射区、基区和集电区的面积,网单文件中的各个管子后面area areab和areac分别标明其面积因子。这样,在模拟时,Hspice 便会自动根据库文件和尺寸计算出具体各管子的参数。 电阻、电容值等参 数的确定则先测量它们的尺寸, 然后根据所选工艺的方块电阻和面电容的值计算 得出。将网单文件和参数生成完毕以后, 我们还要输入激励源和分析语句。 输入信 号根据实际情况用调用相应的信号。 按各个功能块模拟时, 前一级的输出作为后 一级的输入。 分析语句则根据不同的需要选用。 当我们需要知道电路每一节点的 电流和
8、电压时,选用静态工作点分析 .op 语句;如果需要了解在指定范围内,输 出变量值随某个指定的独立源变化的规律,选用 .dc 语句;如要知道某个电路的 幅频特性和相频特性,选用交流小信号分析语句.ac;在要查看在指定的时间间隔 内,输出波形的变化函数关系,选用瞬态分析语句 .tra n。还有其它语句,如噪声分析语句.noise频域分析.four、和小信号传输函数分析.tf、小信号灵敏度分析.sens 等,也能反映出电路性能的好坏。Hspice具有很强的查错功能,可对输入的电路描述语句进行语法检查, 以及电路连接关系的拓扑检查。一旦发现错误,将输出出错信息并停止程序的运行, 这时应先检查.lis文
9、件中是否由出错信息。五、 HSPICE 的基本语法1概述1.1文件命名文件名Star-Hspice的输入文件类型和标准命名列出如下:输入文件类型模拟转换数据文件1.2输入网表文件(.sp)Star-Hspice读入一个输入网表文件,并将模拟结果存在一个输出列表文件或 图形数据文件中。输入文件fe含以下内容:电路网表(子电路和宏、电源等)声明所要使用的库(可选)说明要进行的分析(可选)说明所要求的输出(可选)输入网表文件和库文件可以由原理图的网表生成器或文本编辑器产生。输入 网表文件中的第一行必须是标题行,并且.ALTER辅助模型只能出现在文件最后 的.END语句之前,除此之外,其它语句可以按任
10、意顺序排列。注意:如果输入文件的最后没有.END语句,将会产生错误信息。1.2.1输入行格式输入网表文件不能为压缩格式。输入文件名的长度、语句长度以及等式长度不超过 256个字符。除了被引用的文件名以外,不区分所有大小写一行输不完转到下一行时,下一行的第一个非数字、非空格的字符必须为 “+”。注释(“*”和“ $”符号后的内容视为注释)当输入文件中出现了特殊的控制字符时会产生错误。由于大多数系统无法 打印特殊字符,错误信息就会因为错误字符无法显示而不明确。可以采 用.OPTIONS BADCHAR语句来定位这些错误。1.2.2名称名称必须以字母打头,然后可以跟上数字和下列字符:! # $ %
11、* + - / _定界符优于名称,并紧跟名称之后。名称可以长达 1024 个字符。名称不区分大小写。1.2.3定界符输入定界符有:tab、空格、逗号、等号和小括号 一次和二次引用定界表达式和文件名元素的属性用冒号来定界(如“ M1:beta”)用句点来表示隶属定界,如“ X1.A1.V”表示电路X1的A1子电路的V结点1.2.4结点结点标识可以长达 1024个字符(包括句号和延展部分)结点数字开头的 0 被忽略跟在以数字开头的结点编号后的字母被忽略。如,结点 1A 等同结点 1 结点名可以由以下任何字符打头: # _ ! %结点可以用 .GLOBAL 语句声明为全局的 结点0、GND、GND
12、!和GROUND均指的是Star-Hspice全局的地。2.元件输入的一般格式2.1基本元件(R、L、C等)输入语句NAME node1, node2 .nodeN vmodel referenaiue optional parameters其中,NAME定义元件的类型及名称。第一个字母用于指定元件的类型,例如:C表示电容、L表示电感、R表示电阻,剩下的字母则是给这个元件起的名字。node1 . nodeN指明元件在电路中的连接情况value指明元件的标称值。比如:C1 2 0 10uF表明在结点2和地之 间接入一个10uF的电容C1。当基本元件参数不能充分描述时,调用相应的模型来描述。 参数
13、列表2.2二极管输入语句Dxxx nplus nminus mname + 或Dxxx nplus nminus mname area_val +或Dxxx nplus nminus mname + 2.3BJT俞入语句Qxxx nc nb ne mname +或Qxxx nc nb ne mname + + 2.4MOS器件的输入Mxxx nd ng ns mname + +orMxxx nd ng ns mn ame Ival wval or.OPTION WL Mxxx nd ng ns mname wval lval3模型语句.MODELmname type 其中,mname所定义的模
14、型名。注意:模型名称中如果含有点( .)可能会导致某些情况下模型自动选择的失败type选择模型类型。为以下类型之一:AMPoperational amplifier modelCcapacitor modelCOREmagnetic core modelDdiode modelLmagnetic core mutual inductor modelNJFn-channel JFET modelNMOSn-channel MOSFET modelNPNnpn BJT modelOPToptimization modelPJFp-channel JFET modelPLOThardcopy plo
15、t model for the .GRAPH statementPMOSp-channel MOSFET modelPNPpnp BJT modelresistor modelpname1 . 参数名称。 参数名称和模型要匹配,可以多行输入,新起行的第 一个字符必须为“ + ”。VERSION 版本号。用于识别不同版本所允许的 BSIM和BSIM2的模型。(略)4元件库的选择输入分立器件库(DDL )是Star-Hspice的分立器件模型的集合,由BJT、MESFET、 JFET、 MOSFET 和二极管模型组成。可以采用 X 子电路调用语句和 DDL 元件 调用,将 DDL 库中的元件包含进
16、来。 DDL 元件语句调用实际 DDL 库文件中的 模型名。例如,下面的语句建立了一个 IN4004二极管模型的实例:X1 2 1 DlN4004其中, DIN4004 是模型名。Star-Hspice有如下几种方式调用DDL模型库:1、 系统在安装时的缺省设置。当输入语句中用到某个模型或者子电路时, 系统自动在 DDLPATH 环境变量所指向的路径中搜索和模型名同名的文 件,其后缀为.inc。DDLPATH变量设置在meta.cfg配置文件中。2、 在输入文件中用 .OPTIONS SEARCH”= ”设置搜索路 径。3、 直接用 .INCLUDE 语句将特定模型包含进来。如.INCLUDE
17、 /T2N2211.inc可以用 .LIB 语句将常用的命令、器件模型、子电路分析等放入到库文件中。(暂时略)5 电压/ 电流源语句5.1独立电压 / 电流源某些类型的分析只能使用与之相关联的电压 / 电流源语句。例如,如果在同一独立源语句中定义了 DC和AC源,则在进行DC分析时,AC源被将移出电路。Vxxx n+ n- dcval AC=acmag, 或者Iyyy n+ n- dcval AC=acmag, 其中,Vxxx 独立电压源的名称。必须以“ V”打头,后面可以跟23t字母数字字符。lyyy 独立电流源的名称。必须以“ I”打头,后面可以跟1023个字母数字字符。n+ 正结点n-
18、负结点DC 设置DC电压/电流源的值,deva%设置的值。“tranfun”在零时刻的值将覆盖DC值(缺省为0Q。tranfun 电压/电流源的输出函数( AC, ACI, AM, DC, EXP, PE, PL,PU, PULSE,+PWL, R, RD, SFFM, SIN)AC 表示该电压/电流源用于AC小信号分析aemag AC 幅度acphase AC相位(缺省为0.0)缺省为 1.0)例子VX 1 0 5VVB 2 0 DC=VCCVH 3 6 DC=2 AC=1,90IG 8 7 PL(1MA 0S 5MA 25MS)VCC 10 0 VCC PWL 0 0 10NS VCC 1
19、5NS VCC 20NS 0VIN 13 2 0.001 AC 1 SIN (0 1 1MEG)ISRC 23 21 AC 0.333 45.0 SFFM (0 1 10K 5 1K)VMEAS 12 95.1.1DC电压/电流源可以采用不同的方式定义DC电压或者电流源:V1 1 0 DC=5VV1 1 0 5VI1 1 0 DC=5mAI1 1 0 5mA前两个例子在结点1和地之间定义了一个5V的DC电压源。第三和第四个例子 在结点1和地之间定义了一个5mA的DC电流源,电流流向为从结点1流向地。5.1.2AC电压/电流源用AC关键词来定义AC电压/电流源的幅度和相位。V1 1 0 AC=1
20、0V,90VIN 1 0 AC 10V 90上面两个例子定义了一个幅度为10V、相位为90度的AC电压源。进行AC分析 时的频率扫描范围在.AC分析语句中给出。AC分析给出电路的脉冲响应。5.1.3瞬态电压 /电流源 对于瞬态分析,可以将电源定义成时间的函数。可以采用的函数有:脉冲、指数、阻尼正弦、单频FM以及分段线性函数。5.1.4混合电压 /电流源混合电源的定义是为了进行多种类型的分析。例如,可以在定义 DC电源时,在相同结点间同时定义AC和瞬态电源。在这种情况下,当进行特定的分析时, Star-Hspice会选择相应的DC, AC或者瞬态电源。有一个特例是零时间常数的瞬态 电源,它将覆盖
21、DC值,并被用来计算所有分析的工作点。VIN 13 2 0.5 AC 1 SIN (0 1 1MEG)上面的例子在结点13和2之间同时定义了一个0.5V的DC电压源、一个1V的AC 电压源和一个阻尼正弦电压源。当进行 DC分析时,程序对其它两个电压源采用 零电压值。5.2 独立电压 / 电流源函数Star-Hspice提供以下几种电压/电流源函数:Pulse (脉冲函数)Sinusoida(l 正弦函数)Exponential (指数函数)Piecewise linea(r 分段线性函数)Sin gle-freque ncy FM(单频调频函数)Sin gle-freque ncy AM(单频
22、调幅函数)5.2.1 PULSE (脉冲函数)Star-Hspice采用梯型脉冲函数。在第一个上升斜坡前有一段瞬态模拟的初始过渡延迟,以后每个上升斜坡内, 电压或者电流从初始值到脉冲平顶值线性变化, 过了脉冲平顶值后, 电压或者电流沿下降斜坡线性变化到初始值。 整个脉冲再按 某一周期重复变化。PULSE v1 v2 td tr tf pw 或者PU v1 v2 td tr tf pw 其中,v1 电压或者电流的初始值。v2 脉冲平顶值。td 从瞬态模拟开始到第一个上升斜坡开始前的延迟(单位为秒,缺省为0.0,并且当设置 td 0.0时,同样取 td=0.0)tr 从初始值到脉冲平顶值的上升斜坡
23、的时间(缺省为 TSTEP)tf 从脉冲平顶值返回到初始值的下降斜坡时间(缺省为 TSTEP)pw 脉冲宽度(脉冲平顶部分的宽度) (缺省为 TSTEP)per 脉冲的重复时间(单位为秒,缺省为 TSTEP)例子:VIN 3 0 PULSE (-1 1 2NS 2NS 2NS 50NS 100NS)V1 99 0 PU Iv hv tdlay tris tfall tpw tper第一个例子在结点3和地之间定义了一个脉冲电压源。脉冲的输出高电压为1V,输出低电压为-1V,初始延迟为2ns,上升和下降时间均为2ns,脉冲宽度为50ns,周期为100ns第二个例子中所用到参数值应该有相应的.PAR
24、AM语句定义。脉冲时序表时刻电压或电流值0v1tdv1td + trv2td + tr + pwv2td + tr + pw + tfv1tstopv15.2.2 SIN (正弦函数)Star-Hspic采用阻尼正弦电压/电流源,即电压或电流值为一衰减指数因子与一正弦波的乘积。使用时要求给出正弦波的频率、指数衰变因子、 初始相位以及波形的初始时刻(详细见下面说明)。SIN vo va vfreq td 其中,VO 电压或者电流的直流偏移量(单位为V或者A)va 电压或者电流的幅度(单位为V或者A)freq 频率(单位为Hz,缺省为1/TSTOP)td 延迟时间(单位为秒,缺省为0.0)9 阻尼
25、因子(单位为1/秒,缺省为0.0) 初始相位(单位为度,缺省为0.0)输出函数为: vo va exp (t td) sin2 freq (t td) 360例子:VIN 3 0 SIN (0 1 100MEG 1NS 1e10)这个例子在结点3和地之间定义了一个阻尼正弦电压源。波形峰值为 1V,直 流偏移量为0V,频率为100MHz,时间延迟为1ns,阻尼因子为1e1Q初始相位为 0。5.2.3EXP (指数函数)EXP v1 v2 td1 t1 td2 其中,v1初始的电压或者电流值(单位为V或A)v2电压或者电流的脉冲值(单位为 V或A)td1上升延迟时间(单位为秒,缺省为0.0)td2
26、下降延迟时间(单位为秒,缺省为td1+TSTEP)t1上升时间常数(单位为秒,缺省为TSTEP)t2下降时间常数(单位为秒,缺省为TSTEP)输出函数为:v1 0 t td1v1 (v2 v1) 1 exp( - td1) td1 t td 2t1td2 td1 t td 2、v1 (v2 v1) 1 exp( ) exp( ) td2 tt1 t2例子:VIN 3 0 EXP (-4 -1 2NS 30NS 60NS 40NS)5.2.4PWL (分段线性函数)PWL t1 v1 R 或者PL v1 t1 R 其中,v1 定义电压或者电流值t1 定义时间段的值R 设置函数循环重复repeat
27、 定义波形重复的起始点TD 是定义分段线性波形在开始前有一段延迟的关键词delay 定义分段线性波形在开始前有一段延迟的延迟量每一对(t1, v1)定义时刻t1时的电压或电流值为v1。每两个时间点之间的电压或电流值线性变化。用参数“ R”来设置函数被循环调用,可以在“ R”后面加一参数用来指定函数从什么地方开始循环, 但必须设置在函数的间断点处,例如, 如果t1 = 1,t2 = 2,t3 = 3,t4 =4,贝U“ repeat 可以等于 1,2,或者 3此外,可以采用 DADA 语句来定义 PWL:PWL (TIME, PV).DATA datanamTIMEPVt1v1t2v2t3v3t4v4.ENDDATA.TRAN DATA=datanam其中,TIME 提供给DADA语句的时间值参数PV 提供给 DADA 语句的幅值参数。 p 这种输入方式可以将一个模拟的结果作为另一个模拟的输入。最后一定要加 瞬态分析语句。525 SFFM (单频调频函数)SFFM vo va fc mdi 其中,vo 输出电压或者电流的直流偏移量(V或A)fc 载波频率(单位Hz,缺省为1/TST0P
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1