注:交流分析与直流分析。是以激励源的类型不同来命名的。直流分析是忽略所有的交流信号,电容开路,电感短路,整个电路中只存在直流器件。交流分析是忽略所有的直流信号,电容和电阻写出阻抗形式。因此,分析要比直流分析复杂。交流分析实际上为频率响应分析
? 交流小信号分析(.AC) ? 极零点分析(.PZ)
? 交流小信号失真分析(.DISTO) ? 交流噪声分析(.NOISE) ? 噪声叠加分析(.SAMPLE) ? 交流网络分析(.NET) 【1.交流小信号分析.AC】 ? 一般形式:
.AC type np fstart fstop 注释:
type:扫描类型。 np:扫描点数
fstart/fstop:起始/终值频率
注意:电路当中必须至少含有一个独立交流源! 扫描类型type( type包含的类型 ):
? DEC :每十进制实现对np个点进行扫描,对
数坐标 ? OCT:每八进制实现对np个点进行扫描,对数
坐标)
? 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
对Cload的每个值进行AC分析,扫描频率为1Hz到10KHz,每10进制扫描10个点,其中Cload的值为从1pf到10pf等距离取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变化到100MHz时,节点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】
任何线性时不变电路网络,都可以化为线性传递函数来表示:
其中,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 run.lis file :
【交流小信号失真分析(.DISTO ) 】 考虑失真时: 1. 输入频率f时:输出会出现二次谐波…n次谐波(可利用它计算谐波失真特性),如失真系数可定义为谐波分量的总有效值与基波分量之比
2. 当输入频率为f1和f2时,不仅会产生各自的谐波,还会产生mf1+mf2的组合谐波(可利用它计算相互调制失真特性)
当输入信号的能量很大时,或者通俗的讲,当输入电压的幅值很大时,三极管有可能会进入饱和状态而不是放大状态,此时,三极管的输出电压的幅值就会失真,所以针对这种情况,我们选用宏观的分析方法,即大信号图解分析法。而当输入电压的幅值很小时,用宏观的分析方法也就是大信号图解法,显然结果会很不准确,所以就用小信号模型分析法。小信号模型,就是把抽象元件三极管等效为电阻,受控电流源等元件组成的二端口网络。在这样的基础上进行分析。如图是一个非常典型的三极管放大电路。当输入为小信号时,通过模拟电路的学习,知道,它有三个工作区域:截止区,放大区以及饱和区。很多的时候,我们调整其静态工作点,使其工作在线性区,从而达到让其成为放大器的目的。它的基极电流为IB,集电极电流为IC,输出工作电压为VCE,我们认为,它可以等效为这样的一个线性模型,经过计算,可以得到,输出电流IC为输入基极电流IB的贝塔倍,成线性关系。大家注意,这种线性关系,只是输入、输出特性曲线上极小的一段,是一种近似的线性,没有考虑失真的情况。很多时候,我们必须考虑失真,例如功放电路分析中。由于输入输出的非线性,(周期信号经过非线性系统,输出会产生高次谐波)当放大器输入某一频率f时,输出就会出现二次谐波,三次谐波,四次谐波等等。当输入频率为f1和f2时,不仅会产生它们的
谐波,还会产生mf1+mf2的组合谐波。在功放的推动级,这时的信号幅度已比较大,特性曲线的一段不能用直线来代替,必须考虑非线性失真。要根据输入、输出信号的大小及放大器的特性来选择合适的工作点,尽量使非线性失真达到最小,并要引入负反馈等措施来减少失真。
可计算的五个失真量:
? DIM2:相互调制失真量(与第一级谐波差额时
的失真量)。即频率量 f1-f2 相关的幅度和相位
? DIM3:相互调制失真量(与第二级谐波差额时
的失真量)。即频率分量 2*f1-f2 相关的幅度和相位
? HD2:第二级谐波失真量。即忽略 f2 时,2*f1
频率分量相关的幅度和相位。
? HD3:第三级谐波失真量。即忽略 f2 时,3*f1
频率分量相关的幅度和相位。 ? SIM2:相互调制失真量(总量)。即频率分量
f1+f2 相关的幅度和相位 一般形式:
.DISTO Rload
Rload:输出负载电阻的名字,所有失真功率都是在该负载电阻上计算得出。
交流小信号失真分析,便是分析某个输出负载的输出功率失真。
注释:
inter:打印失真计算结果的频率间隔,即规定打印多少计算结果。
1.一般此频率为进行交流扫描的频率。
2.若不写,则不打印失真计算结果,可以在再用.PRINT和.PLOT语句对失真结果进行打印。
3.若只需要打印第一个和最后一个频率失真计算结果,
则inter值>分析计算的终止频率。 skw2:第二个频率f2 与标称分析频率f1 的比值。允许的范围是1e-3 f1:计算谐波失真特性 f2:可选,计算调制失真特性 refpwr:用来计算输出失真功率的参考功率,缺省值是1mw。 spwf:第二频率 F2 的振幅, 其值必须大于或等于 1e-3, 缺省值是1.0。 注意:一次电路模拟只能有一个.DISTO语句,默认执行最后一个。 例:.DISTO RL 2 0.95 1.0E-3 0.75 第七讲:命令语句 【交流噪声分析(.NOISE) 】 ? 噪声:有用信号外的某些电子干扰。 ? 噪声来源:电阻和半导体器件。 ? 输出噪声:每个器件的噪声源在AC分析的每 个频率点计算出相应的噪声,并传送到一个输出节点。 电路总的输出噪声:一定的频率下,各个噪声源计算所得噪声在该点进行 RMS (均方根)相加: 注释: I:由各个端点噪声产生的等效电流 Z:噪声源与输出之间的等效电阻 n:与电路中所有电阻、MOSFET、二极管、JFET 和BJT 有关的噪声源数目。 单位:V2/Hz 噪声的定义:1.电路总的输入噪声:一定的频率下, 总的输出噪声除以电路电压(或电流)增益或者传输函数。单位:V2/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,20个点打印一次。 Noise run.sp : 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 run.lis file) 【噪声叠加分析.SAMPLE】 噪声叠加分析:对模拟信号数据采样的采样噪声进行分析。得到某输出节点各采样值的噪声(对各噪声的叠加) .SAMPLE FS=freg 注释: FS=freg:数据采样频率 【交流网络分析.NET 】 交流网络分析:进行交流小信号分析时,计算输入输出阻抗矩阵(Z矩阵) 、导纳 矩阵(Y矩阵)混合矩阵(H 矩阵)和散射矩阵(S 矩阵)的参数 单端口网络:.NET input < RIN=val> 双端口网络:.NET output input 注释: input 交流输入电压或电流源名 output 输出端口变量 RIN/ROUT:输入输出电阻 例:.NET V(10,30) VINAC ROUT=75 RIN=50 瞬态分析: 也称为时域的暂态分析(时域分析),是指对所选定的电路节点的时域响应进行分析,即观察该节点在整个显示周期中每一时刻的波形。 瞬态分析条件: ? 电路中含有储能元件,如电容、电感等。 ? 换路的条件:电源值的升高与降低(包括接通与 断开)、电路中元件参数的改变。 ? 换路定理1:在换路瞬间,电容上的电压、电 感中的电流不能突变。这就意味着瞬态分析中需要设置初始条件。 ? 换路定理2:换路瞬间,电感相当于理想恒流 源I0,电容相当于理想恒压源U0 瞬态分析目的: ? 低阶电路的时间常数τ的物理意义? ? 瞬态分析的目的:电路的响应速度。 ? 电路的瞬态响应: ? 零输入响应 ? 零状态响应 ? 全响应 瞬态分析的初始条件 ? 直流工作点(静态工作点) 必须配合.OP语句,以直流工作点为初始条件。 直流工作点为初始条件常常出现不收敛! 瞬态分析初始条件的设定 初始条件语句一般形式: .IC var1=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 V (12) = 4.5 V(4) = 2.23 ? .NODESET 12 4.5 4 2.33 初始条件设置的三种形式: ? ①:IC=?,描述元器件两端的初始电压。 ? 如:C1 2 0 1uF IC=2V ? ②:初始条件语句.IC ? ③:节点电压语句.NODESET(.DCVOLT) ? 优先次序:(1) IC = ... (2) .IC (3) .NODESET。 ? 如.IC 语句和.NODESET 语句共存时,.IC 语句将取代.NODESET 语句。 【 瞬态分析.TRAN 】 .TRAN TSTEP TSTOP TSTEP:瞬态分析的步长。 TSTOP:分析终止时间。 TSTART:分析的起始时间,若不写,默认为0. 注意:瞬态分析总是从时间0开始分析,到稳态结束。但只打印TSTART到TSTOP时间段的结果。 (备注:若对于振荡电路或带有反馈的电路,没有稳态的工作点,一般用.IC语句设置初始值,或者把反馈回路打断分析,再用直流工作点作为初始值。注意,瞬态分析是从时间零开始,到时间TSTOP,仍没有结束,一直分析,但没有输出,而且瞬态分析值没有存储起来。只有在TSTART到TSTOP间隔内的计算才被储存和输出。) UIC:①当.TRAN语句中规定了UIC参数,HSPICE不去计算初始直流工作点,而用.IC语句规定的节点电压计算电路中的初始条件。这时,要仔细设置各个节点的直流电压值。 ②当.TRAN语句未规定UIC参数时,HSPICE在瞬态分析前先计算直流工作点。这时,若有.IC语句,则仅当作求解直流工作点时相应的节点初始值。而瞬态分析忽略这些电压限制。 .TRAN分析的几种表现形式和例子 .TRAN 1NS 100NS UIC 分析和打印瞬态分析结果,从0~100ns,每1ns打印一次。忽略初始直流工作点,以.IC规定的节点电压或电流值或某个元器件两端的初始电压值作为初始条件。 .TRAN .1NS 25NS 1NS 40NS START=10NS 分析和打印10ns~25ns,步长为0.1ns;25ns~40ns,步长1ns. .TRAN 10NS 1US UIC SWEEP TEMP -55 75 10 对温度-55, -45…~75分别进行瞬态扫描,时间从从0~1us,步长10ns。初始条件为IC规定的。 .TRAN 10NS 1US SWEEP Cload POI 3 1pF 5pF 10pF 对负载参数电容Cload为1pf,5pf以及10pf时分别进行瞬态扫描,时间从0~10pf,步长为10ns。POI代表参数列表。 例:这是一个简单的RC电路,请利用HSPICE分析各个节点的瞬态电压和流过各个元件的电流。输入V1增加了一个脉冲函数。 tran run.sp : A SIMPLE AC RUN R1 1 2 1K R2 2 0 1K C1 2 0 .001U V1 1 0 10 AC 1 PULSE 0 5 10N 20N 20N 500N 2U .OPTIONS LIST NODE POST .OP .TRAN 10N 2U $仿真区域为0~2us .PRINT TRAN V(1) V(2) I(R2) I(C1) .END 注意:瞬态分析是为了得到电路的时间响应特性,因此激励源要详细描述,一般为PULSE脉冲激励,正弦激励,指数激励等。一般的交流要写出正弦激励的 形式,不然将会被忽略。 TRAN sweep information (in tran run.lis file) V1为输入脉冲源曲线。显然,它是一个脉冲激励,幅值为5V,起始时间为10ns,上升时间为20ns,下降时间为20ns,脉冲宽度为500ns,周期2us。PULSE源上升阶段,激励源电压逐渐增加,逐渐对C1进行充电,因此,V2逐渐增加,其中时间常数为R1C1=1us>500n,并未充电到稳态。当530s激励源电压突然下降,电容两端逐渐放电,C2减少。 .TRAN分析中初始条件作用举例 例:这是一个简单的RC电路,请利用HSPICE分析各个节点的瞬态电压和流过各个元件的电流。C1两端的初始电压分别为0V和2V。 (图如左。) tran run.sp A SIMPLE AC RUN R1 1 2 1K R2 2 0 1K C1 2 0 .001U IC=0V V1 1 0 10 AC 1 PULSE 0 5 10N 20N 20N 500N 2U .OPTIONS LIST NODE POST .OP .TRAN 10N 2U UIC $仿真区域为0~2us .PRINT TRAN V(1) V(2) I(R2) I(C1) .ALTER C1 2 0 .001U IC=2V .END TRAN sweep information (in tran run.lis file) .END FOUR analysis information (in four run.lis file) 【蒙特卡罗(MONTE CARLO)分析】 在给定的标准差资料的基础上,使用随机数 发生器按元件值的概率分布来选择元件值, 然后对电路进行模拟分析。 目的: 计算a):一定的工艺误差允许范围内的元件值;b):一定的元件值下所允许的工艺误差容忍值。 应用 : 预测a):元件参数的变化对产品效能的影响;b):电路生产的成品率及成本等 蒙特卡罗分析方法: ① 直流工作分析: .DC MONTE=val ① 直流扫描分析: .DC vin 15 .25 SWEEP MONTE=val ① 交流扫描分析: .AC dec 10 100 10meg SWEEP MONTE=val ① 瞬态扫描分析: .TRAN 1n 10n SWEEP MONTE=val 注释: value:蒙特卡罗分析中迭代的次数。一般是30。 电路分析中进行蒙特卡罗分析的方法是,将MONTE命令加入在直流分析、交流分析以及瞬态分析的命令中。经 30 次迭代蒙特卡罗统计分析后,若所有电路性能都合格,则在实际应用中,电路的 80%以上元件特性正确的概率可达 99%。 元件参数的设定.PARAM 蒙特卡罗分析设定—元件参数设定: ? 均匀分布 ① 相对变化: .PARAM XX=UNIF (NOM_VALUE,REL_VARIATION<,multiplier>) ① 绝对变化: .PARAM XX=AUNIF(NOM_VALUE,ABS_VARIATION<,multiplier>) 注释: XX:变化参数名 NOM_VALUE:参数变化中心值(N) REL_VARIATION:相对变化值(R)—(在[N-N*R, N+N*R]之间呈均匀分布) ABS_VARIATION:绝对变化值(A)—(在[N-A, N+A]之间呈均匀分布) multiplier: 重复计算的次数,并储存最大偏离值。默认为1 【傅立叶分析.FOUR】 ? 傅立叶分析时间间隔:(Tstop-1/fperiod, Tstop) Tstop:.TRAN 语句中的终止时间 fperiod:傅立叶分析的基频。 傅里叶分析仅仅在瞬态分析分析终止时间 TSTOP 之前的基频的一个周期。 ? 傅立叶分析能够得到DC 分量、基频和第 2 到 第 9 次谐波(交流分量) 什么是傅里叶变换?它是将任意的时域信号,转化成不同频率的正弦波的无限叠加,属于谐波分析。为什么要进行傅里叶变换?傅里叶变换实际上是将时域信号转化成频域信号,从而方便我们观察信号的频率组成,从而对与频率有关的如噪声等进行观察。HSPICE中的傅里叶分析是瞬态分析的一部分,它是在瞬态分析刚刚结束之前完成的。 一般形式: .FOUR freq ov1 freq:傅里叶分析的基频。此频率的倒数即周期时间一定要小于TSTOP Ov1:要求分析的输出变量,如节点电压。 注意:傅里叶分析同时要进行瞬态分析,为瞬态分析的一部分。 例:.FOUR 100K V(5) 例:这是一个简单的CMOS反相器,请利用HSPICE对输出电压进行傅里叶分析。 four run.sp : 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 .op .tran 200p 20n .FOUR 100MEG V(OUT) .options list node post .print tran v(in) v(out)