《电子电路大全(PDF格式)》第90章


容差,tstep表示仿真步长值,delmax表示最大允许时间步长,其中delmax=tstep*max,
。option dvdt=4 用于数字CMOS电路仿真(默认设置),。option dcca=1 在直流扫描时 
强行计算随电压变化的电容,。option captab对二极管、BJT管、MOS、JFET、无源电容器, 
打印出信号的节点电容值,。option dcstep=val将直流模型和器件转换为电导,主要应用 
于“No DC Path to Ground”或有直流通路,但不符合Hspice定义的情况。
(2)MODEL OPTION 语句:
SCALE影响器件参数,如:L、W、area,SCALM影响model参数,如:tox、vto、tnom。
(3)注释语句
6
…………………………………………………………Page 455……………………………………………………………
注释语句以”*”为首字符,位置是任意的,它为非执行语句。
1。7 仿真控制和收敛
Hspice仿真过程采用Newton…Raphson算法通过迭代解矩阵方程,使节点电压和支路电 
流满足Kirchoff定律。迭代算法计算不成功的节点,主要是因为计算时超过了Hspice限制 
的每种仿真迭代的总次数从而超过了迭代的限制,或是时间步长值小于Hspice允许的最小 
值。
(1)造成 Hspice 仿真不收敛主要有“No Convergence in DC Solution”和“Timestep too
Small”,其可能的原因是:
①电路的拓扑结构:
电路拓扑结构造成仿真不收敛主要有:电路连线错误,scale、scalm和param语句错误, 
其他错误可以通过查找列表文件中的warning和errors发现。
解决的方法是:将电路分成不同的小模块,分别进行仿真;简化输入源;调整二极管 
的寄生电阻;调整错误容差,重新设置RELV,ABSV,RELI,ABSI,RELMOS,ABSMOS等。
②仿真模型:
由于所有的半导体器件模型都可能包含电感为零的区域,因此可能引起迭代的不收敛。
解决的方法是:在PN结或MOS的漏与源之间跨接一个小电阻;将。option中默认的 
GMINDC、GMIN增大。
③仿真器的options设置:
仿真错误容差决定了仿真的精度和速度,要了解你所能接受的容差是多少。
解决的方法是:调整错误容差,重新设置RELV,ABSV,RELI,ABSI,RELMOS,ABSMOS 
等。
(2)针对仿真分析中可能出现的不收敛情况进行分析:
①直流工作点分析:
每种分析方式都以直流操作点分析开始,由于Hspice有很少的关于偏置点的信息,所 
以进行DC OP分析是很困难的,分析结果将输出到。ic文件中。
对DC OP分析不收敛的情况,解决方法是:删除。option语句中除acct,list,node, 
post之外的所有设置,采用默认设置,查找。lis文件中关于不收敛的原因;使用。nodeset 
和。ic语句自行设置部分工作点的偏置;DC OP不收敛还有可能是由于model引起的,如在亚 
阈值区模型出现电导为负的情况。
②直流扫描分析:
在开始直流扫描分析之前,Hspice先做DC OP计算,引起直流扫描分析不收敛的原因可 
能是快速的电压或电流变化,模型的不连续。
解决的方法是:对于电压或电流变化太快,通过增加ITL2 来保证收敛,。option ITL2 
是在直流扫描分析中在每一步允许迭代的次数,通过增加迭代次数,可以在电压或电流变 
化很快的点收敛。对于模型的不收敛,主要是由于MOS管线性区和饱和区之间的不连续, 
Newton…Raphson算法再不连续点处进行迭点计算产生震荡,可以通过增减仿真步长值或改 
变仿真初始值来保证收敛,如:。dc vin 0v 5v 0。1v的直流分析不收敛,可以改为。dc vin
7
…………………………………………………………Page 456……………………………………………………………
0v 5v 0。2v增大步长值,。dc vin 0。01v 5。01v 0。1v改变仿真的范围。
③AC频率分析:
由于AC扫描是进行频率分析,一旦有了DC OP,AC分析一般都会收敛,造成不收敛的原 
因主要是DC OP分析不收敛,解决的方法可以参看前面关于DC OP的分析。
④瞬态分析:
瞬态分析先进行直流工作点的计算,将计算结果作为瞬态分析在T0 时刻的初始值,再 
通过Newton…Raphson算法进行迭代计算,在迭代计算过程中时间步长值是动态变化 
的,。tran tstep中的步长值并不是仿真的步长值,只是打印输出仿真结果的时间间隔的值, 
可以通过调整。options lvltim imax imin来调整步长值。
瞬态分析不收敛主要是由于快速的电压变化和模型的不连续,对于快速的电压变化可 
以通过改变分析的步长值来保证收敛。对模型的不连续,可以通过设置CAPOP和ACM电容, 
对于给定的直流模型一般选择CAPOP=4,ACM=3,对于level 49,ACM=0。对瞬态分析,默认 
采用Trapezoidal算法,精度比较高,但容易产生寄生振荡,采用GEAR算法作为滤波器可以 
滤去由于算法产生的振荡,具有更高的稳定性。
1。8 输入语句
对于。param语句,。param PARHIER=GLOBAL是默认的,使得参数可以按照Top…Down变 
化。param PARHIER=LOCAL,可以是参数只在局部有效。
对于。measure语句,可以采用的模式有rise,fall,delay,average,rms,min, 
peak…to…peak,Find…When,微分和积分等。对Find…When语句,。measure
result find val when out_val=val ,对微分和积分语句,。measure
result val 。
对于。ALTER语句,可以通过改变。ALTER来改变使用不同的库,其中。ALTER语句可以包 
含element语句、。data、。lib、。dellib、。include、。model、。nodeset、。ic、。op、
。options、。param、。temp、。tf、。dc、。ac语句,不能包含。print、。plot、。graph 
或其他I/O语句,同时应该避免在。ALTER中增加分析语句。
1。9 统计分析仿真
主要是对器件和模型进行Monte Carlo分析,随机数的产生主要依赖Gaussian、 
Uniform、Limit分析,通过。param设置分布类型,将dc、ac、tran设置为Monte Carlo分析, 
用。measure输出分析结果,如:
。param tox=agauss(200,10,1)
。tran 20p 1n sweep MONTE=20
。model … tox=tox …
其中,对Gaussian分析。param ver=gauss(nom_val,rel_variation,sigma,mult),
。param ver=agauss(nom_val,abs_variation,sigma,mult),
对Uniform分析,。param ver=unif(nom_val,rel_variation,mult),
。param ver=aunif(nom_val,abs_variation,mult),
8
…………………………………………………………Page 457……………………………………………………………
对Limit分析,。param ver=limit(nom_val,abs_variation),如果你拼错Gauss或 
Uniform、Limit,不会产生警告,但不将产生分布。
1。10 HSPICE 仿真示例
Hspice 可以执行各种模拟电路仿真,它的精度很高。通过点击桌面快捷方式Hspice, 
启动Hspice。
Hspice模拟步骤如下:
①由电路图提取网表或手工编写网表,注意网表文件以。sp结尾。例如,电路网表文件 
为eyediag。sp;标题为:*Eye Diagrams;输出报告文件:eyediag。lis。
②运行模拟,完成后?
小说推荐
返回首页返回目录