第13章 瞬态与非线性分析

第13章 瞬态与非线性分析

交流小信号分析将电路在工作点附近线性化,信号幅度足够小时能得到精确的频率响应。但模拟电路的实际工作往往涉及大信号摆幅:运放输出从零摆动到接近电源轨、开关电容电路中的电荷转移、功率级的导通与关断。这些场景下线性化假设不再成立,必须回到时域,直接对非线性微分方程求解。瞬态仿真直接求解时域微分方程,是处理上述问题的基本工具。

13.1 瞬态仿真原理

13.1.1 从微分方程到数值积分

瞬态仿真的核心任务是对电路方程组进行数值积分。一个包含电容和电感的电路可以用一组微分方程描述:

\[ \mathbf{C}(\mathbf{v})\frac{d\mathbf{v}}{dt} + \mathbf{f}(\mathbf{v}) = \mathbf{i}(t) \]

其中 \(\mathbf{v}\) 是节点电压向量,\(\mathbf{C}(\mathbf{v})\) 是电容矩阵,\(\mathbf{f}(\mathbf{v})\) 表示电阻性元件和非线性器件贡献的电流,\(\mathbf{i}(t)\) 是激励源向量。SPICE类仿真器采用隐式数值积分方法——最常用的是梯形法和向后欧拉法——将微分方程转化为代数方程,再用牛顿-拉夫逊迭代求解。

以梯形法为例,对电容电流 \(i_C = C\,dv/dt\),在时间点 \(t_n\) 和 \(t_{n-1}\) 之间进行梯形积分:

\[ v(t_n) = v(t_{n-1}) + \frac{h}{2}\left[\frac{dv}{dt}(t_{n-1}) + \frac{dv}{dt}(t_n)\right] \]

其中 \(h = t_n - t_{n-1}\) 为时间步长。整理后电容被等效为一个电阻与一个电流源的并联组合,即伴随模型(companion model)。这一变换使每次迭代只需解一个线性电路,非线性则通过牛顿迭代处理。

13.1.2 时间步长控制

瞬态仿真的精度和速度取决于时间步长的选取。固定步长在信号快速变化时可能产生较大误差,在信号平缓时又浪费计算资源。Cadence Spectre、Synopsys HSPICE 和 Mentor Eldo 均采用基于局部截断误差(LTE)估计的自适应步长控制:根据误差估计值动态调整步长。

局部截断误差的估计方法因积分公式而异。对梯形法,仿真器比较每步的修正量(即牛顿迭代的最终修正项)与用户设定的精度容差。若误差超过容差,步长减半重算;若误差远小于容差,步长加倍以加速仿真。各仿真器的具体算法和默认容差设置略有差异。

图像 图1:瞬态仿真设置

仿真器中与步长控制相关的参数通常包括:

  • reltol(相对误差容差):默认值通常为 \(10^{-3}\),控制电压和电流的相对误差。
  • abstol(绝对误差容差):默认值因量纲而异,电压通常为 \(10^{-6}\,\text{V}\),电流为 \(10^{-12}\,\text{A}\)。
  • tstep(最大步长):用户设定的上限,防止仿真器在信号缓慢时跳过重要细节。
  • tstop(仿真终止时间):决定仿真时长。

实际工程中,tstep 的选取需要权衡。设得过大会漏掉高频分量,过小则仿真时间成倍增加。一个实用的经验法则是:tstep 取信号最高频率分量周期的 1/20 至 1/50。例如,一个 10 MHz 的时钟信号,tstep 设为 2 ns 到 5 ns 较为合理。

图像 图2:正弦信号是瞬态仿真中最常用的信号。在该信号的参数中,"Damping factor"的单位是1/s。正弦信号也是交流小信号分析(AC Analysis)中重要的激励源。设计者需要区别的是瞬态信号激励和交流小信号激励的用途

正弦信号源是瞬态仿真中最常用的激励之一。其参数包括幅度、频率、相位和阻尼因子(damping factor)。阻尼因子使信号幅度按指数衰减,可用于模拟上电过程和衰减振荡。同一个正弦源在交流小信号分析中作为频域激励时,其幅度表示频域幅度,与瞬态分析中的时域幅度含义不同。设计者需要区分这两种用法。

13.1.3 瞬态仿真的精度限制

瞬态仿真的精度受两个因素制约:数值积分误差和模型精度。数值积分误差可以通过收紧容差来减小,但代价是仿真时间增加。模型精度则是更根本的限制——BSIM4 等器件模型本身是对真实器件行为的近似,模型参数提取自有限数量的测试结构,其误差通常在 1% 到 5% 之间。这意味着即使数值误差降到零,仿真结果与实测数据仍存在偏差。

图像 图3:"tran"瞬态仿真设置

Cadence ADE 环境中的 tran 分析设置界面提供了上述参数的完整控制。用户可以在 Analysis 选项卡中选择 tran,设定仿真终止时间、最大步长以及精度等级。Spectre 还提供了 conservative、moderate 和 liberal 三档预设精度,分别对应不同的 reltol 和 abstol 组合。初学者建议从 moderate 开始,遇到收敛问题再切换到 conservative。

13.2 非线性失真分析

13.2.1 谐波失真

当一个正弦信号通过非线性系统时,输出中除了基波分量外还包含谐波分量。总谐波失真(THD)定义为各次谐波功率之和与基波功率之比的平方根:

\[ \text{THD} = \frac{\sqrt{V_2^2 + V_3^2 + \cdots + V_n^2}}{V_1} \]

其中 \(V_1\) 是基波幅度,\(V_2, V_3, \ldots\) 是各次谐波幅度。THD 通常用百分比或 dBc 表示。例如,一个音频放大器的 THD 为 0.001% 意味着谐波功率总和是基波功率的 \(10^{-8}\) 倍。

谐波失真的来源在模拟电路中多种多样。对 CMOS 放大器,主要来源包括:输入差分对的跨导非线性、输出级的有限摆幅、以及器件本身的 \(I\)-\(V\) 特性非线性。以一个简单共源放大器为例,其输出电流与输入电压的关系可展开为:

\[ i_D = I_{DQ} + g_m v_{gs} + \frac{1}{2}g_m' v_{gs}^2 + \frac{1}{6}g_m'' v_{gs}^3 + \cdots \]

二次项产生二次谐波,三次项产生三次谐波。当输入信号幅度增大时,高次项贡献增大,THD 随之恶化。

13.2.2 增益压缩与 1 dB 压缩点

增益压缩描述的是放大器在大信号输入下的增益下降现象。定义 1 dB 压缩点(\(P_{1\text{dB}}\))为实际增益比小信号增益低 1 dB 时的输入(或输出)功率。对 MOS 管,增益压缩主要源于跨导随过驱动电压的变化。当输入摆幅接近甚至超过过驱动电压时,跨导不再恒定,增益开始下降。

1 dB 压缩点的仿真方法如下:在瞬态仿真中施加不同幅度的正弦输入,测量基波输出幅度,计算增益,绘制增益-输入幅度曲线。也可以使用谐波平衡仿真(在 RF 工具中)直接获得压缩曲线。对大多数模拟电路设计,瞬态仿真配合 FFT 分析即可满足要求。

图像 图4:放大器瞬态特性仿真结果

图中显示了一个放大器的瞬态响应。输入正弦信号幅度逐步增大,输出波形在正半周和负半周出现不对称的削波。这种不对称削波产生偶次谐波,使 THD 随输入幅度急剧上升。

13.2.3 互调失真

当两个不同频率的正弦信号同时通过非线性系统时,输出中除了各自的谐波外,还产生频率为 \(m f_1 \pm n f_2\) 的组合分量,称为互调产物。其中二阶互调(\(f_1 \pm f_2\))和三阶互调(\(2f_1 - f_2\) 和 \(2f_2 - f_1\))最为重要。三阶互调分量频率靠近基波,难以用滤波器滤除,是接收机动态范围的主要限制因素。

三阶互调截点(IP3)是衡量线性度的关键指标。其定义为:三阶互调产物功率外推到与基波功率相等时的输入(或输出)功率。IP3 越高,器件的线性度越好。仿真 IP3 的方法是在瞬态仿真中施加双音信号,对输出波形做 FFT,读取基波和三阶互调分量的幅度,再外推得到截点。

图像 图5:反相器瞬态特性仿真结果

数字反相器的瞬态仿真展示了另一种非线性行为——输出在电源轨之间快速切换。这种大幅摆幅的开关行为使反相器工作在线性区的时间极短,谐波失真分析对数字电路意义不大,但瞬态仿真仍然是验证时序和功耗的必要手段。

13.2.4 失真仿真方法

在 SPICE 类仿真器中,失真分析有两条路径。一是直接进行瞬态仿真,对输出波形做 FFT 提取各次谐波幅度。这种方法直观且不受模型限制,但需要小心选择仿真时长和采样点数,以保证 FFT 的频率分辨率足够。

二是使用专用的失真分析工具。Multisim 的失真分析、Spectre 的 harmonic balance(谐波平衡)分析都属于此类。谐波平衡法直接求解稳态周期解,不需要仿真整个瞬态过程,对强非线性电路(如功率放大器、混频器)效率更高。但谐波平衡法对电路规模有上限,且要求电路可分解为线性子网络和非线性子网络的组合。

傅里叶分析是瞬态仿真后处理的标准工具。Multisim 中的傅里叶分析直接对瞬态仿真结果做离散傅里叶变换,输出各次谐波的幅度和相位。用户需要设定基频和谐波次数,仿真器自动计算 THD。

图像 图6:描述语言的精度与仿真速度(上图摘自Cadence用户手册)

仿真结果的精度受器件模型描述语言的精度影响。行为级描述(如 Verilog-A)计算速度快,但精度有限;晶体管级模型(如 BSIM4)精度高,但仿真时间显著增加。设计者需要在仿真速度和精度之间做出选择,这一权衡在瞬态仿真中尤为明显——因为每一步迭代都要评估所有器件的模型方程。

13.3 收敛性问题与解决

13.3.1 不收敛的表现与原因

瞬态仿真不收敛是模拟设计者最常遇到的困扰。典型表现包括:仿真器报错"Newton iterations failed"、时间步长不断减小直至低于最小值、或者仿真结果出现明显的不连续跳变。

不收敛的根源可以归结为以下几类:

初始条件冲突。瞬态仿真需要从某个初始状态出发。如果用户设定的初始条件与电路的自然工作点不一致,仿真器在第一步就需要大幅调整节点电压,导致牛顿迭代发散。例如,对一个输出端接大电容的运放,若初始条件设输出电压为 0,而实际工作点输出电压接近电源电压,则第一个时间步内电容充电电流极大,可能引发不收敛。

模型数值问题。BSIM4 等先进模型在特定偏置区域可能出现导数不连续或数值溢出。例如,当 \(V_{ds}\) 接近零时,某些模型公式中的除法运算会产生极大值。这类问题通常与模型参数有关,难以在电路层面解决。

电路拓扑问题。理想电压源直接并联电容、电感直接串联、浮空节点等拓扑在瞬态仿真中会导致奇异方程组。这类问题在原理图设计阶段就应避免。

时间步长过小。当仿真器反复减小时同步长仍无法满足误差容差时,最终步长可能小到接近机器精度,此时数值误差占主导,迭代必然发散。

13.3.2 改进收敛性的策略

针对上述原因,可以采取以下措施:

合理设置初始条件。在瞬态仿真前先进行直流工作点分析(OP),以工作点结果作为瞬态仿真的初始条件。Spectre 和 HSPICE 默认在瞬态仿真前自动执行 OP 分析,但用户也可以手动指定节点电压初值。

调整仿真参数。将 reltol 从默认的 \(10^{-3}\) 放宽到 \(10^{-2}\),或增大 abstol,可以减轻迭代压力。但代价是精度下降,需要根据设计指标权衡。另一种做法是减小 tstep,强制仿真器用更小的步长起步。

使用瞬态辅助收敛技术。Spectre 提供了 source damping 和 gmin stepping 等辅助收敛方法。gmin stepping 在每个节点并联一个小电导,逐步减小该电导至零,帮助迭代从粗略解过渡到精确解。HSPICE 的 .options 语句中也有类似选项。

检查电路连接。确保没有浮空节点、没有理想电压源与电容直接并联。对必须存在的理想元件,可串联或并联小电阻(如 \(1\,\Omega\) 或 \(1\,\text{M}\Omega\))来改善数值条件。

图像 图7:瞬态仿真设置激励

瞬态仿真中激励源的设置直接影响收敛性。脉冲源和分段线性源的边沿时间过短会产生极高频分量,迫使仿真器采用极小的步长。建议将边沿时间设置为信号周期的 1% 到 5%,既保证波形真实性,又避免数值困难。

13.3.3 一个收敛性调试实例

考虑一个开关电容积分器的瞬态仿真。电路包含两个不交叠时钟信号,开关由 MOS 管实现。仿真器在时钟边沿处反复减小时同步长,最终报错不收敛。

排查步骤:

  1. 检查时钟信号的边沿时间。若边沿时间为 1 ps 而时钟周期为 100 ns,则边沿处的 \(dv/dt\) 极大,开关管在极短时间内从截止切换到导通,牛顿迭代难以收敛。将边沿时间改为 1 ns 后问题缓解。

  2. 检查开关管的尺寸。若开关管的 \(W/L\) 过大,导通电阻极小,与电容串联形成的时间常数远小于仿真步长,导致数值振荡。适当减小开关管尺寸或串联一个小电阻可以解决。

  3. 若上述措施无效,尝试将积分方法从梯形法改为向后欧拉法。梯形法在电路含有无损元件时可能产生数值振荡(振铃),向后欧拉法虽然精度较低但数值稳定性更好。

图像 图8:二极管电压和电流瞬态分析图(放大)

二极管电路的瞬态仿真展示了强非线性带来的收敛挑战。二极管电流与电压呈指数关系,在导通与截止切换瞬间电流变化达数个数量级。图中电压和电流波形在切换点附近出现密集的采样点,说明仿真器在此处自动缩小了步长。这种自适应行为是正常的,但如果步长缩小到极限仍无法满足误差要求,就需要检查模型参数或电路结构。

13.3.4 仿真精度与速度的权衡

瞬态仿真的精度和速度是一对固有矛盾。下表总结了不同精度设置下的典型表现:

精度等级 reltol 典型应用场景 相对仿真时间
conservative \(10^{-4}\) 高精度验证、最终签核 5–10×
moderate \(10^{-3}\) 常规设计验证 1×
liberal \(10^{-2}\) 初步功能检查 0.2–0.5×

实际项目中,建议按设计阶段选择精度。电路架构探索阶段使用 liberal 或 moderate,快速验证功能;流片前的最终仿真使用 conservative,确保结果可信。对混合信号电路,数字部分和模拟部分可以分开仿真,数字部分用行为级模型,模拟部分用晶体管级模型,通过接口模型连接。

图像 图9:一个缓慢信号经过transient函数(摘自Cadence用户手册)

图中展示了一个缓慢变化的信号经过瞬态仿真后的结果。信号变化平缓的区域,仿真器自动增大步长;信号快速变化的区域,步长自动缩小。这种自适应步长控制使仿真器在保持精度的同时尽可能减少计算量。设计者可以通过查看仿真日志中的步长变化来确认仿真器的工作状态。

13.4 非线性分析的高级话题

13.4.1 压摆率与建立时间

压摆率(slew rate)是运放大信号行为的核心指标,定义为输出电压的最大变化速率,单位 V/µs。压摆率受限于运放内部对补偿电容的充电电流:

\[ \text{SR} = \frac{I_{tail}}{C_c} \]

其中 \(I_{tail}\) 是输入差分对的尾电流,\(C_c\) 是补偿电容。瞬态仿真中测量压摆率的方法是:施加一个大幅阶跃信号(通常为满摆幅的 90%),测量输出电压从 10% 到 90% 的时间,计算斜率。

建立时间(settling time)定义为输出进入并保持在最终值附近某个误差带(如 0.1%)所需的时间。建立时间包含压摆阶段和线性建立阶段两部分。压摆阶段受限于压摆率,线性阶段受限于运放带宽。瞬态仿真可以精确区分这两个阶段,帮助设计者定位建立时间瓶颈。

图像 图10:峰值检测器SPICE瞬态仿真结果

峰值检测器是运放大信号应用的典型例子。输入正弦信号经二极管对电容充电,输出电压跟踪输入峰值。图中可以看到输出波形在输入峰值附近保持,在输入下降时由电容维持。这种电路对运放的压摆率和建立时间要求很高,瞬态仿真是验证其性能的唯一手段。

13.4.2 描述函数与非线性稳定性

描述函数法是一种分析非线性系统稳定性的工程方法。其基本思想是用一个等效的复增益来描述非线性元件对正弦输入的响应。对于包含非线性环节的反馈系统,可以用描述函数 \(N(A)\) 代替非线性元件,然后用奈奎斯特判据分析稳定性。

描述函数法在模拟电路中的典型应用是分析含有比较器或继电特性的振荡器。这类电路无法用线性小信号模型分析,但描述函数法可以预测振荡频率和幅度。

图像 图11:1列出了一些典型非线性描述函数,以供查用

表中列出了常见非线性特性的描述函数,包括饱和特性、死区特性、继电特性等。对模拟电路设计者,最常用的是饱和放大器特性和带死区的继电特性。前者对应运放的输出饱和,后者对应比较器的开关行为。

13.4.3 瞬态噪声分析

瞬态仿真也可以包含噪声。与交流噪声分析不同,瞬态噪声分析在时域中注入随机噪声源,模拟电路在噪声环境下的实际输出。这种方法对分析振荡器相位噪声、锁相环抖动、采样保持电路的孔径抖动等至关重要。

瞬态噪声分析的实现方式是在每个时间步注入高斯分布的随机电流源,其功率谱密度由器件噪声模型决定。仿真器需要设定噪声带宽和随机种子数。噪声带宽应至少覆盖电路带宽的 5 到 10 倍,否则噪声功率被截断,仿真结果偏低。

图像 图12:包络检波器SPICE瞬态仿真结果

包络检波器的瞬态仿真展示了非线性电路对调幅信号的解调过程。输入为调幅波,输出为缓慢变化的包络。这种电路的工作依赖于二极管的非线性整流特性,无法用线性分析工具处理。瞬态仿真完整地呈现了从高频载波到低频包络的频率变换过程。

13.5 仿真实践建议

瞬态与非线性分析是模拟集成电路设计验证的核心环节。以下实践建议基于工程经验,供读者参考:

按设计阶段选择仿真策略。架构探索阶段使用行为级模型和宽松容差,快速验证系统功能;电路设计阶段使用晶体管级模型和中等精度,迭代优化参数;流片前使用最严格的精度设置,进行全面的瞬态、失真和噪声仿真。

保留仿真脚本和参数设置。仿真器设置(容差、步长、激励参数)对结果有显著影响。建议将每次仿真的完整设置保存为脚本文件,便于复现和对比。Cadence ADE 的 state 保存功能、HSPICE 的 .option 语句都支持这一做法。

交叉验证仿真结果。不同仿真器对同一电路的瞬态仿真结果可能存在细微差异。在关键设计节点,建议用两种仿真器交叉验证,确认结果一致。若差异超过预期,应检查模型版本和仿真参数设置。

理解仿真器的局限性。瞬态仿真不能替代所有验证手段。对周期稳态电路(如振荡器、开关电容滤波器),谐波平衡或周期稳态分析(PSS)效率更高;对统计性工艺变化,蒙特卡罗分析更合适。瞬态仿真擅长的是捕捉大信号瞬态行为和非线性失真。

图像 图13:二极管并联构成斩波器SPICE瞬态分析

斩波器的瞬态仿真展示了周期性开关动作对信号的处理。二极管并联结构在正负半周交替导通,实现斩波功能。这种电路的仿真需要覆盖多个开关周期才能观察到稳态行为,仿真时间较长,但结果提供了开关瞬态和导通损耗的完整信息。

一个完整的验证流程包括:直流工作点检查、瞬态功能验证、失真指标测量、以及极端条件下的鲁棒性测试(温度扫描、电源电压变化、工艺角组合)。全部通过后,设计才能进入版图阶段。

后续章节将讨论版图寄生提取和系统级仿真。版图引入的寄生电容和电阻会改变瞬态行为,需要在提取后进行后仿真验证。系统级仿真则将多个模块联合起来,验证整体功能。瞬态仿真结果将作为这些验证步骤的输入。

AI 智能助手 访客
妙笔书生 智能助手
基于帮助文档回答您的问题,输入问题即可开始
常见问题
  • 如何创建新项目?
  • 如何上传和管理资料?
  • 如何使用 AI 提取功能?
  • 如何修改个人密码?

正在重新连接服务器…

重新连接失败,将在 秒后重试…

重新连接失败。
请重试或刷新页面。

会话已被服务器暂停。

恢复会话失败。
请重试或刷新页面。

发生未处理的错误。 重新加载 🗙