配置与运行仿真
概览
- 了解在 Simulation Dashboard 面板中何处配置仿真分析,以及如何使用普通数值格式、工程计数法或科学计数法输入数值。
- 了解每种常见分析类型的作用、适用场景,以及成功运行分析所需的设置。
- 了解如何在原理图和结果文档中查看仿真结果,包括添加的计算值和输出表达式。
Simulation Dashboard 面板的 Analysis Setup & Run 区域用于配置和运行仿真分析。电路完成验证并做好仿真准备后,即可按照以下各节中的说明配置所需的分析类型。

Simulation Dashboard 面板的 Analysis Setup & Run 区域
以下各节介绍如何配置常用的仿真分析及其他仿真设置。
工作点分析
工作点分析用于确定电路的直流工作点,其中电感视为短路,电容视为开路。此分析可计算电路稳态运行时的电流和电压平衡点值、直流模式下的传输系数,以及其他类型计算所需的交流传输特性的极点和零点。
工作点分析在 Simulation Dashboard 面板的 Operating Point 区域中配置。
使用 Display on schematic 按钮可在原理图上直接显示计算值:
- Voltage – 显示节点相对于参考节点的电压
- Power – 显示消耗(正值)或输出(负值)的瞬时功率
- Current – 显示元件输出电流。
运行分析后,计算得到的电压、功率和/或电流值将以标签形式显示在相应节点处。
仿真结果文档将包含电路中所放置探针的计算结果。
下方展示了电路工作点分析的配置示例及其仿真结果文档。请注意,仿真运行后出现的结果值标签(对应已启用的电压和功率计算)会显示在原理图图纸上。下方还展示了向仿真结果文档添加其他计算值的示例。
传递函数分析
传递函数分析(直流小信号分析)计算电路中各电压节点处的直流输入电阻、直流输出电阻和直流增益。
要执行传递函数分析,请在 Simulation Dashboard 面板的 Operating Point 区域中启用 Transfer Function 选项。启用该选项后,即可使用相应的分析选项:
- Source Name – 用作计算输入参考的小信号输入源。
-
Reference Node – 在各指定电压节点进行计算时用作参考的电路节点。“
0”为参考节点(默认为GND)。
下方展示了电路传递函数分析的配置示例及其仿真结果文档。在仿真结果文档中,单击设计空间底部的选项卡,选择 Transfer Function 图表,即可访问分析结果。
极点-零点分析
极点-零点分析通过计算电路小信号交流传递函数中的极点和/或零点,确定单输入、单输出线性系统的稳定性。首先求出电路的直流工作点,然后确定电路中所有非线性器件的线性化小信号模型。随后使用此电路求出满足指定传递函数的极点和零点。
要执行极点-零点分析,请在 Simulation Dashboard 面板的 Operating Point 区域中启用 Pole-Zero Analysis 选项。启用该选项后,即可使用相应的分析选项:
-
Input Node – 电路的正输入节点。
-
Input Reference Node – 电路输入端的参考节点。
-
Output Node – 电路的正输出节点。
-
Output Reference Node – 电路输出端的参考节点。
-
Analysis Type – 允许您进一步细化分析范围。可选择查找满足电路传递函数的所有极点(
Poles Only)、所有零点(Zeros Only),或同时查找Poles和Zeros。 -
Transfer Function Type – 定义计算电路极点和/或零点时使用的交流小信号传递函数类型。有以下两种类型可供选择:
-
V(output)/V(input) – 电压增益传递函数。
-
V(output)/I(input) – 阻抗传递函数。
-
下方展示了电路极点-零点分析的配置示例及其仿真结果文档。 在仿真结果文档中,单击设计空间底部的选项卡,选择 Pole-Zero Analysis 图表以查看分析结果。
直流扫描
直流扫描分析生成的输出类似于曲线追踪仪的输出。它按预定义步长修改所选参数的值,执行一系列工作点分析,从而得到直流传输曲线。
直流扫描分析在 Simulation Dashboard 面板的 DC Sweep 区域中配置。
单击 Add Parameter 控件,添加要进行步进扫描的参数。参数可以是电压源或电流源的直流值、电阻值或温度(Temp)。 在 From、 To 和 Step 字段中,分别指定扫描范围的起始值、终止值和步进值。
使用 Output Expressions 部分添加表达式,以便在仿真结果文档中将其输出为波形(除电路中所放置探针的波形之外)。有关详细信息,请参阅 添加输出表达式 部分。
下方展示了电路直流扫描分析的配置示例及其仿真结果文档。
瞬态
瞬态分析生成的输出类似于示波器通常显示的内容,它在用户指定的时间区间或周期数内,计算随时间变化的瞬态输出变量(电压或电流)。除非启用了 Use Initial Conditions 选项,否则在瞬态分析之前会自动执行工作点分析,以确定电路的直流偏置。
瞬态分析在 Simulation Dashboard 面板的 瞬态 区域中配置。
选择所需模式并定义相应的值,以指定分析的时间区间 / 周期数:
-
– Interval 模式。 在 From、 To 和 Step 字段中,定义所需时间区间的起始值和终止值(以秒为单位),以及标称时间步长。
-
– Period 模式。在 From、 N Periods 和 Points / Period 字段中,定义所需时间区间的起始值和终止值(以秒为单位)、正弦波的周期数,以及每个正弦波周期的数据点数。
使用 Output Expressions 部分添加表达式,以便在仿真结果文档中将其输出为波形(除电路中所放置探针的波形之外)。有关详细信息,请参阅 添加输出表达式 部分。
启用 Use Initial Conditions 选项可使用初始条件计算瞬态过程,跳过工作点分析。如果希望从非静态工作点开始执行瞬态分析,请使用此选项。 可以为原理图中每个适用的元件定义初始条件(定义相应参数的值,例如电感的 Initial Current,或双极型晶体管的 Initial B-E Voltage 或 Initial C-E Voltage),也可以在电路中放置 .IC 器件(使用主菜单中的 Simulate » Place Initial Condition 命令,或从 Simulation Generic Components 库中放置 .IC 元件,然后设置所放置元件的 Initial Voltage 值)。 元件的 IC 值优先于连接到网络的 .IC 对象。
下方展示了电路瞬态分析的配置示例及其仿真结果文档。
傅里叶分析
设计的傅里叶分析基于瞬态分析期间采集到的最后一个周期的瞬态数据。例如,如果基频为 1kHz,则使用最后一个 1ms 周期的瞬态数据进行傅里叶分析。
要执行傅里叶分析,请启用 Simulation Dashboard 面板的 Transient 区域中的 Fourier Analysis 选项。启用该选项后,即可使用相应的分析选项:
- Fourier Fundamental Frequency – 被正弦波叠加结果所逼近的信号的频率。
- Fourier Number of Harmonics – 分析中要考虑的谐波数量。每个谐波的频率都是基频的整数倍。各次谐波与基频正弦波叠加,形成被分析信号的实际波形。参与叠加的谐波越多,得到的波形就越接近信号的波形(例如,通过叠加正弦波来形成方波)。
下方展示了电路傅里叶分析的配置示例及其仿真结果文档。 前两个绘图显示了电路瞬态分析的波形,后续绘图则在仿真结果文档中单独的 Fourier Analysis 图表上显示傅里叶分析结果。基频为 1kHz 的方波被分解为频率为该基频奇数倍的正弦波(奇次谐波),如第三个绘图所示(1kHz、3kHz、5kHz、7kHz 等),且各次谐波的幅度随谐波次数增加而递减。
应力分析
应力分析用于计算各个元件的工作条件,例如最大电压、电流和功耗,并将其与元件应力模型中定义的限值进行比较。
元件的应力模型在其仿真模型对应的 Sim Model 对话框的 Stress 选项卡中配置。在此处,您可以选择所需的 Device Type 并定义参数值,还可以定义应力模型(其引脚已预定义)与仿真模型之间的引脚映射。有关应力分析模型配置的更多信息,请参阅 单个元件编辑 页面。
用于降低参数限值的降额系数根据应力模型参数计算得出。您也可以在 Advanced Analysis Settings 对话框的 Stress 选项卡中设置这些值(单击 Simulation Dashboard 面板的 Analysis Setup & Run 区域中的 Settings 控件可打开该对话框)。
要执行 应力分析,请在 Simulation Dashboard 面板的 Transient 区域中启用 Stress Analysis 选项。在仿真结果文档中,单击设计空间底部的选项卡,选择 Stress 图表以查看分析结果。
交流扫描
交流扫描分析生成的输出显示电路的频率响应,将小信号交流输出变量作为频率的函数进行计算。它首先执行工作点分析,以确定电路的直流偏置,将信号源替换为固定幅度的正弦波发生器,然后在指定频率范围内分析电路。交流小信号分析的预期输出通常为传递函数(电压增益、跨阻等)。
交流扫描分析在 Simulation Dashboard 面板的 AC Sweep 区域中配置。
为分析定义以下参数:
- Start Frequency – 正弦波发生器的起始频率(单位为 Hz)。
- End Frequency – 正弦波发生器的终止频率(单位为 Hz)。
- No. Points / Points/Dec / Points/Oct – 扫描范围的增量值,与所选的 Type 配合使用。
-
Type – 频谱中数据点的分配方式。提供以下三种类型:
- Linear – 在线性刻度上均匀分布的数据点总数。
- Decade – 在 log10 刻度上每十倍频程内均匀分布的数据点数。
- Octave – 在 log2 刻度上每倍频程内均匀分布的数据点数。
使用 Output Expressions 部分添加要在仿真结果文档中以波形形式输出的表达式(除电路中放置的探针对应的波形之外)。有关更多信息,请参阅 添加输出表达式部分。
下图展示了为电路配置的交流扫描分析示例及其仿真结果文档。
噪声分析
噪声分析通过绘制噪声谱密度来测量电阻和半导体器件的噪声贡献,噪声谱密度是以伏特平方每赫兹(V2/Hz)为单位测量的噪声。电容、电感和受控源被视为无噪声元件。
要执行噪声分析,请在 Simulation Dashboard 面板的 AC Sweep 区域中启用 Noise Analysis 选项。启用该选项后,即可使用相应的分析选项:
-
Noise Source – 电路中的独立电压源,用作噪声计算的输入参考。
-
Output Node – 电路中用于测量总输出噪声的节点。
-
Ref Node – 电路中用作参考的节点,用于计算所需 Output Node 处的总输出噪声。默认情况下,此参数设置为“
0”(参考节点,默认为GND)。如果设置为任何其他节点,总输出噪声将按V(Output Node) - V(Reference Node)计算。 -
Points Per Summary – 用于控制执行哪种噪声测量。此选项支持以下值:
-
0– 将此参数设置为该值时,仅测量输入和输出噪声。 -
1– 将此参数设置为该值时,将测量电路中各个元件的噪声贡献。
-
下图展示了为电路配置噪声分析的示例及其仿真结果文档。
在仿真结果文档中,单击设计空间底部的选项卡,选择 Noise Spectral Density 图表,然后在 Sim Data 面板的 Source Data 列表中选择相应条目,并单击 Add Wave to Plot 按钮,将所需波形添加到当前绘图中。onoise_spectrum 波形(蓝色)显示在指定输出节点(本例中为 Output)处测得的总输出噪声。inoise_spectrum 波形(红色)显示为在此节点处获得测得的输出噪声,需要在输入端注入的噪声量。
同样,单击设计空间底部的选项卡,选择 Integrated Noise 图表,然后在 Sim Data 面板的 Source Data 列表中选择相应条目,并单击 Add Wave to Plot 按钮,将所需的计算值添加到结果表中。
S 参数分析
S 参数(散射参数)提供了一种基于入射微波与反射微波之比来描述网络的方法(对于被测器件,即有多少功率从一个端口传输到另一个端口,以及有多少功率被反射回来)。随后可利用这些比值计算电路的各项特性,包括输入阻抗、频率响应和隔离度。虽然 S 参数分析主要用于射频电路和元件,但它同样适用于任何具有至少两个源(端口)的电路。
要执行 S 参数分析,请在 Simulation Dashboard 面板的 AC Sweep 区域中启用 S-Parameters Analysis 选项。启用该选项后,即可使用相应的分析选项。定义涉及的端口(源),并为每个端口设置阻抗(默认为 50 欧姆)。如果器件具有两个以上的端口,可以使用 Add 控件添加端口并进行相应定义,这将使生成的“S 矩阵”包含更多 S 参数。
仿真引擎还会计算 Y 参数(导纳)和 Z 参数(阻抗),可根据需要将其添加到图表的绘图中。
使用 Output Expressions 部分添加表达式,以便在仿真结果文档中以波形形式输出,表达式格式为 s_<m>_<n>、y_<m>_<n> 或 z_<m>_<n>,例如 s_1_1 或 y_1_2。
运行交流扫描分析后,即可在仿真结果文档的 S-parameters Analysis 图表中查看 S 参数数据。
下图展示了为电路配置 S 参数分析的示例及其仿真结果文档。
附加分析
还提供多种附加分析类型。附加计算的原理是遍历所选范围内的参数值,并针对每个参数值执行一系列计算。
温度扫描
温度扫描功能用于在指定范围内的各个温度下分析电路,生成一系列曲线,每个温度设置对应一条曲线。
要执行温度扫描分析,请在 Simulation Dashboard 面板的 Analysis Setup & Run 区域底部启用 Temp. Sweep 选项。单击 Settings,在打开的 Advanced Analysis Settings 对话框的 General 选项卡上的 Temperature 区域中,使用以下参数配置分析:
- From – 所需扫描范围的起始温度(单位为摄氏度)。
- To – 所需扫描范围的终止温度(单位为摄氏度)。
- Step – 用于确定所定义扫描范围内各扫描值的递增步长。
下图展示了结合温度扫描功能为电路配置交流扫描分析的示例及其仿真结果文档。
参数扫描
参数扫描功能允许您在指定范围内,以定义的增量扫描器件、源和/或温度的值。
要执行参数扫描分析,请在 Simulation Dashboard 面板的 Analysis Setup & Run 区域底部启用 Sweep 选项。单击 Settings,在打开的 Advanced Analysis Settings 对话框的 General 选项卡上的 扫描参数 区域中配置分析。单击 Add Parameter 控件添加要进行步进扫描的参数,并在下拉菜单中选择该参数。选择步进参数的分布类型,然后在下方字段中设置分布参数:
- Linear – 分别在 From、To 和 Step 字段中指定起始值、终止值以及在定义的扫描范围内使用的步长。
- Decade – 分别在 From、To 和 Points/Dec 字段中指定起始值、终止值以及参数值每变化十倍时的数据点数。
- Octave – 分别在 From、To 和 Points/Oct 字段中指定起始值、终止值以及参数值每变化两倍时的数据点数。
- List – 在 Values 字段中指定所需参数值的列表(以空格分隔)。
根据需要添加并配置任意数量的步进扫描参数。
下图展示了电路结合参数扫描功能配置瞬态分析的示例,以及相应的仿真结果文档。
蒙特卡洛
蒙特卡洛分析允许您执行多次仿真,每次仿真中元件值都会在指定容差范围内随机变化。
要执行蒙特卡洛分析,请启用 Simulation Dashboard 面板的 Analysis Setup & Run 区域底部的 Monte Carlo 选项。单击 Settings,在打开的 Advanced Analysis Settings 对话框的 General 选项卡上,通过 Monte Carlo 区域中的以下参数配置分析:
- Number of Runs – 希望仿真器执行的仿真次数。每次仿真都会使用指定容差范围内的不同器件值。(默认值 = 5)。
-
Distribution – 此参数定义随机数生成过程中所得数值的分布。有三种分布类型可供选择:
-
Uniform(默认)– 这是一种平坦分布。数值在指定容差范围内均匀分布。例如,对于容差为 10% 的 1K 电阻,随机生成的阻值落在 900Ω 到 1100Ω 之间任意位置的概率相同。 -
Gaussian– 数值按照高斯(钟形)曲线分布,中心为标称值,指定容差对应于正负 3 个标准差。对于阻值为 1K +/- 10% 的电阻,分布中心为 1000Ω,+3 个标准差为 1100Ω,-3 个标准差为 990Ω。使用这种分布类型时,随机生成的数值更有可能接近指定值。 -
Worst Case– 这种分布与均匀分布相同,但只使用范围的两个端点(最坏情况)。对于 1K +/- 10% 的电阻,所使用的阻值会从 990Ω 和 1100Ω 这两个最坏情况值中随机选取。在任意一次仿真中,使用高端最坏情况值(1100Ω)或低端最坏情况值(990Ω)的概率相同。
-
-
Seed – 仿真器使用此值为分析的各次运行生成随机数。如果希望使用另一组随机数运行仿真,必须将此值改为其他数字。
(Default = -1)。 -
Group Tolerances:
- Resistor – 电阻采用的容差。以百分比形式输入(默认值 = 10%)。
- Capacitor – 电容采用的容差。以百分比形式输入(默认值 = 10%)。
- Inductor – 电感采用的容差。以百分比形式输入(默认值 = 10%)。
- Transistor – 晶体管(正向电流放大系数 β)采用的容差。以百分比形式输入(默认值 = 10%)。
- DC Source – 直流源采用的容差。以百分比形式输入(默认值 = 10%)。
-
Digital Tp – 数字 Tp(数字器件的传播延迟)采用的容差。以百分比形式输入(默认值 = 10%)。容差用于确定随机数生成器可为器件生成的数值的允许范围。对于标称值为
ValNom的器件,该范围可表示为ValNom - (Tolerance * ValNom) ... ValNom + (Tolerance * ValNom)
下图展示了电路结合蒙特卡洛分析功能配置瞬态分析的示例,以及相应的仿真结果文档。
灵敏度分析
灵敏度分析可用于确定哪些电路元件或因素对电路的输出特性影响最大。利用这些信息,您可以减小负面特性的影响,或利用正面特性提升电路性能。灵敏度分析将计算给定测量值相对于电路元件的元件/模型参数的灵敏度数值,以及相对于温度/全局参数的灵敏度。分析结果以表格形式列出每种测量类型的灵敏度值,并按大小排序。
要执行灵敏度分析,必须配置合适的 测量。在下方示例中,交流扫描分析设置了输出表达式 dB(v(OUT)),并为此输出配置了两项测量:BW(带宽)和 MAX(最大幅度)。可以针对其中任一测量计算灵敏度。
要执行灵敏度分析,请启用 Simulation Dashboard 面板的 Analysis Setup & Run 区域底部的 Sensitivity 选项。单击 Settings,在打开的 Advanced Analysis Settings 对话框的 Sensitivity 选项卡上配置分析。使用 Group Deviations 区域定义应用于该类型元件值的相对容差。使用 Custom Deviations 区域分析具有参数值且支持灵敏度分析计算的任意对象的灵敏度。所有灵敏度设置的默认值均为 1m,允许的取值范围为 1u 至 0.1。
运行分析后,切换到 Measurements 选项卡中,在结果文档的 Sim Data 面板中选择所需的测量结果集,然后单击 Sensitivity 按钮切换到 Sensitivity 图表。灵敏度结果以表格形式显示,便于您快速找出对其数值变化最敏感的元件。
在精度与性能之间取得平衡
仿真设置的一个重要环节是为仿真所用的范围设置正确的值。
例如,默认值可能不符合电路特性所要求的仿真时间。以瞬态特性分析为例,其 From - To 时间区间设置为 0 至 1u,如下所示。

瞬态时间区间已设置为 0 至 1u。
在此电路中,信号源的 Period 已设置为 1uS,如下所示。
考虑到该电路的工作特性,此瞬态分析范围无法让电路得到正确的仿真,如下所示。
对于信号源中配置的周期而言,瞬态时间范围过短。
同样,当范围过宽(例如 0 - 100u)时,也会难以分析曲线,而且分析所需的时间也会增加。
因此,应选择大于信号周期的范围,例如 5 个周期(0 - 5u)。这应足以让电路达到稳定状态,同时又不会使此类计算的计算量过大。
另外,为计算选择合适的数值步长或为曲线选择合适的显示点数也很重要。如果选择的点数过多,计算速度就会变慢;点数不足则会导致计算不准确。
例如,下面显示了两条幅频特性曲线,第一条配置为使用 10 个点,第二条配置为使用 1000 个点。所用点数的差异不会对计算时间产生显著影响,却能大幅提高特性曲线的精度。
添加输出表达式
配置某些分析时,除了电路中放置的探针所对应的波形外,您还可以添加表达式,并将其作为波形输出到仿真结果文档中。要添加表达式,请在 Simulation Dashboard 面板中所需分析区域的 Output Expression 部分单击 Add 控件。当前选定的输出表达式行下方将出现一个空行。指定输出表达式,并设置图表编号和颜色。您可以直接在面板中新添加的条目中完成这些操作,也可以单击
按钮,然后在 Add Output Expression 对话框中从可用的 Waveforms 列表中进行选择。

选择所需的输出表达式或定义新函数,然后配置该表达式的绘制方式。
对话框的 Waveforms 区域提供了当前可用波形和常量的列表。默认情况下,列出的是 All 波形。使用列表顶部的下拉菜单可应用筛选条件:
- Digital – 数字节点的逻辑电平(0、1、未定义、高阻态)。如果某个节点连接到具有数字仿真模型的元件引脚,则该节点被视为数字节点。
- Node Voltages – 电路中各网络的电压。
- Voltages – 电路中各元件两端的电压。
- Currents – 流过电路中各元件的电流。
- Powers – 电路中各元件消耗/输出的功率。
- Charges\Fluxes – 电路中电容的电荷量和电感的磁通量。
- Conductivities – 电路中二极管和晶体管的电导。
- Constants
您可以使用下面列出的函数,基于任意源数据波形创建数学表达式。请注意,可用函数取决于获取波形时所运行的分析类型。
表达式可以包含可用函数和允许使用的运算符的任意组合。单击波形或函数条目,即可将其添加到下方当前处于活动状态的表达式字段(Expression X 或 Expression Y)中。您也可以直接在这些字段中输入内容来定义表达式。
对话框底部的选项用于定义表达式在仿真数据文件中的绘制方式:
- Name – 输出表达式的名称。
- Units – 显示的计量单位。
- Plot Number – 用于绘制波形的图表序号。选择当前已定义的图表之一,或选择 New Plot 为该波形创建新图表。
- Axis Number – 波形将使用的 Y 轴序号。选择当前已定义的坐标轴之一,或选择 New Axis 为该波形创建新的 Y 轴。
- Color – 波形的颜色。如果不更改,仿真数据文件将自动为不同波形分配颜色。
可用函数
代数
| 语法 | 说明 |
|---|---|
| x % y | 返回 x 除以 y 的余数 |
| x * y | 返回 x 与 y 的乘积 |
| x + y | 返回 x 与 y 的和 |
| x - y | 返回 x 与 y 的差 |
| x / y | 返回 x 与 y 的比值 |
| x MOD y | 返回 x 除以 y 的余数 |
| ABS(x) | 返回 x 的绝对值 |
布尔
| 语法 | 说明 |
|---|---|
| !x | 如果 x=0,则返回 1,否则返回 0 |
| x != y | 如果 x=y,则返回 0,否则返回 1 |
| x & y | 如果 x 和 y 均为真(非零正值),则返回 1,否则返回 0 |
| x && y | 如果 x 和 y 均为真(非零正值),则返回 1,否则返回 0 |
| x < y | 若 x<y,则返回 1,否则返回 0 |
| x <= y | 若 x<=y,则返回 1,否则返回 0 |
| x <> y | 若 x=y,则返回 0,否则返回 1 |
| x == y | 若 x=y,则返回 1,否则返回 0 |
| x > y | 若 x>y,则返回 1,否则返回 0 |
| x >= y | 若 x>=y,则返回 1,否则返回 0 |
| x AND y | 若 x 和 y 均为真(非零正值),则返回 1,否则返回 0 |
| x NAND y | 若 x 和 y 均为真(非零正值),则返回 0,否则返回 1 |
| x NOR y | 若 x 和 y 中至少一个为真(非零正值),则返回 0,否则返回 1 |
| x OR y | 若 x 和 y 中至少一个为真(非零正值),则返回 1,否则返回 0 |
| x XOR y | 若 x 和 y 中仅有一个为真(非零正值),则返回 1,否则返回 0 |
| x | y | 若 x 和 y 中至少一个为真(非零正值),则返回 1,否则返回 0 |
| x || y | 若 x 和 y 中至少一个为真(非零正值),则返回 1,否则返回 0 |
| ~x | 若 x=0,则返回 1,否则返回 0 |
| BUF(x) | 若 x>0.5,则返回 1,否则返回 0 |
| IF(x,y,z) | 若 x 为真(非零正值),则返回 y,否则返回 z |
| INV(x) | 若 x>0.5,则返回 0,否则返回 1 |
复数
| 语法 | 说明 |
|---|---|
| ABS(x) | 返回 x 的绝对值 |
| IM(x) | 返回 x 的虚部值 |
| IMAG(x) | 返回 x 的虚部值 |
| IMG(x) | 返回 x 的虚部值 |
| M(x) | 返回 x 的幅值 |
| MAG(x) | 返回 x 的幅值 |
| P(x) | 返回 x 的相位值,单位为度 |
| PH(x) | 返回 x 的相位值,单位为度 |
| PHASE(x) | 返回 x 的相位值,单位为度 |
| R(x) | 返回 x 的实部值 |
| RAD(x) | 返回 x 的相位值,单位为弧度 |
| RE(x) | 返回 x 的实部值 |
| REAL(x) | 返回 x 的实部值 |
双曲函数
| 语法 | 说明 |
|---|---|
| ACOSH(x) | 返回 x 的反双曲余弦的实部值 |
| ASINH(x) | 返回 x 的反双曲正弦值 |
| ATANH(x) | 返回 x 的反双曲正切值 |
| COSH(x) | 返回 x 的双曲余弦值 |
| SINH(x) | 返回 x 的双曲正弦值 |
| TANH(x) | 返回 x 的双曲正切值 |
积分
| 语法 | 说明 |
|---|---|
| AVG(x,y) | 返回 x 的移动平均值 y(可选)为阈值 |
| DDT(x) | 返回 x 对时间的导数 |
| IDT(x,ic,a) | 返回 x 对时间的积分;ic 为可选初始条件,若 a 为真则重置 |
| IDTMOD(x,ic,m,o) | 返回 x 对时间的积分;ic 为可选初始条件,达到模数 m 时重置,输出偏移量为 o |
| RMS(x,y) | 返回 x 的均方根值 y(可选)为阈值 |
| IDT(x,y,z) | 返回 x 对时间的积分 y(可选)为初始条件 若 z(可选)为真(非零正值),则重置 |
对数
| 语法 | 说明 |
|---|---|
| x ** y | 返回 x 的 y 次幂的实部值 |
| x ^ y | 返回 x 的 y 次幂 |
| DB(x) | 返回 x 的分贝值(20lg(x)) |
| EXP(x) | 返回 x 的指数函数值 |
| LN(x) | 返回 x 的自然对数值 |
| LOG(x) | 返回 x 的自然对数值 |
| LOG10(x) | 返回 x 的常用对数值 |
| POW(x,y) | 返回 x 的 y 次幂的实部值 |
| PWR(x,y) | 返回 x 的模的 y 次幂 |
| PWRS(x,y) | 返回 x 的模的 y 次幂;结果的符号与 x 相同 |
| SQRT(x) | 返回 x 的平方根值 |
| SQUARE(x) | 返回 x 的平方值 |
其他
| 语法 | 说明 |
|---|---|
| x ? y : z | 若 x 为真(非零正值),则返回 y,否则返回 z |
| CEIL(x) | 返回 x 向上取整后的整数值 |
| DNLIM(x,y,z) | 返回 x 和 y 中的最大值;z 定义一阶导数连续区域(平滑区域)的宽度 |
| FLOOR(x) | 返回 x 向下取整后的整数值 |
| HYPOT(x,y) | 返回 x 和 y 的平方和的平方根 |
| INT(x) | 返回 x 的整数部分 |
| INTQ(x) | 如果 x 为整数,则返回 1,否则返回 0 |
| LIMIT(x,y,z) | 如果 y<x<z,则返回 x;如果 x<y,则返回 y;如果 x>z,则返回 z |
| MAX(x,y) | 返回 x 和 y 中的最大值 |
| MIN(x,y) | 返回 x 和 y 中的最小值 |
| NINT(x) | 将 x 舍入到最接近的整数值 |
| ONE(x) | 返回 1 |
| PWL(x,a,b,c,d,...) | 根据以一组坐标对形式给出的查找表,通过插值计算 x 对应的值。各点的横坐标必须按升序排列。 当输入变量的值超出这些坐标对定义的范围时,函数将保持原有斜率进行外推。 |
| ROUND(x) | 将 x 舍入到最接近的整数值 |
| SGN(x) | 如果 x>0,则返回 1;如果 x=0,则返回 0;如果 x<0,则返回 -1 |
| STP(x) | 如果 x>0,则返回 1;如果 x=0,则返回 0.5;如果 x<0,则返回 0 |
| TABLE(x,a,b,c,d,...) | 根据以一组坐标对形式给出的查找表,通过插值计算 x 对应的值。各点的横坐标必须按升序排列。 当输入变量的值超出这些坐标对定义的范围时,将按以下方式处理:
|
| TBL(x,a,b,c,d,...) | 根据以一组坐标对形式给出的查找表,通过插值计算 x 对应的值。各点的横坐标必须按升序排列。 当输入变量的值超出这些坐标对定义的范围时,将按以下方式处理:
|
| U(x) | 如果 x>0,则返回 1;如果 x=0,则返回 0.5;如果 x<0,则返回 0 |
| U2(x) | 如果 0<x<1,则返回 x;如果 x>1,则返回 1;如果 x<0,则返回 0 |
| UPLIM(x,y,z) | 返回 x 和 y 中的最小值;z 定义一阶导数连续区域(平滑区域)的宽度 |
| URAMP(x) | 如果 x>0,则返回 x,否则返回 0 |
| ZERO(x) | 返回 0 |
三角函数
| 语法 | 说明 |
|---|---|
| ACOS(x) | 返回 x 的反余弦的实部值 |
| ARCCOS(x) | 返回 x 的反余弦的实部值 |
| ARCSIN(x) | 返回 x 的反正弦的实部值 |
| ARCTAN(x) | 返回 x 的反正切值 |
| ASIN(x) | 返回 x 的反正弦的实部值 |
| ATAN(x) | 返回 x 的反正切值 |
| ATAN2(y,x) | 返回 y/x 的反正切值 |
| COS(x) | 返回 x 的余弦值 |
| SIN(x) | 返回 x 的正弦值 |
| TAN(x) | 返回 x 的正切值 |
配置和执行仿真测量
测量是用于表征电路行为和性能的一组量。测量值通过评估电路中的波形特征,按照指定规则计算得出。测量项的示例包括带宽、增益、上升时间、下降时间、脉冲宽度、频率和周期。
输出波形的测量项在 Measurements 对话框的 Add Output Expression 选项卡中配置。 单击 Add Measurement 控件可添加新的测量项,并在显示的条目中配置测量项的名称、类型及相关参数。 可定义的测量项数量不受限制。已添加测量项的名称会显示在 Simulation Dashboard 面板的输出表达式条目中。
可用的测量类型及其参数
| 测量类型 | 说明 | 参数 |
|---|---|---|
| BandWidth | 指定范围内的带宽 | Level – 相对于最大值的下降量,以波形的测量单位表示 Wave Type – 波形类型: log – 对数,ampl – 幅度From – 用于确定测量范围的波形横坐标起始值 To – 用于确定测量范围的波形横坐标终止值 |
| CutoffHigh | 指定范围内带宽的上限截止频率 | Level – 相对于最大值的下降量,以波形的测量单位表示 Wave Type – 波形类型: log – 对数,ampl – 幅度From – 用于确定测量范围的波形横坐标起始值 To – 用于确定测量范围的波形横坐标终止值 |
| CutoffLow | 指定范围内带宽的下限截止频率 | Level – 相对于最大值的下降量,以波形的测量单位表示 Wave Type – 波形类型: log – 对数,ampl – 幅度From – 用于确定测量范围的波形横坐标起始值 To – 用于确定测量范围的波形横坐标终止值 |
| CenterFrequency | 指定范围内带宽的中心频率 | Level – 相对于最大值的下降量,以波形的测量单位表示 Wave Type – 波形类型: log – 对数,ampl – 幅度From – 用于确定测量范围的波形横坐标起始值 To – 用于确定测量范围的波形横坐标终值 |
| QualityFactor | 指定范围内带宽的品质因数 | Level – 相对于最大值的下降量,单位与波形的测量单位相同 Wave Type – 波形类型: log – 对数,ampl – 幅度From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| Period | 指定范围内的波形周期 | Num – 测量范围内的匹配序号 Level – 用于确定波形频率的纵坐标值 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| PeriodLastPoint | 指定范围内最后一个波形点的周期值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| Frequency | 指定范围内的频率 | Num – 测量范围内的匹配序号 Level – 用于确定波形频率的纵坐标值 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| FrequencyLastPoint | 指定范围内最后一个波形点的频率值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| RiseTime | 指定范围内波形的上升沿持续时间 | Num – 测量范围内的边沿序号 LevelMin – 用于确定边沿起点的最低电平 LevelMax – 用于确定边沿终点的最高电平 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| FallTime | 指定范围内波形的下降沿持续时间 | Num – 测量范围内的边沿序号 LevelMin – 用于确定边沿起点的最低电平(边沿起点) LevelMax – 用于确定边沿终点的最高电平(边沿终点) From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| Max | 指定范围内波形最大值点的纵坐标值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| XatMax | 指定范围内波形最大值点的横坐标值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| Min | 指定范围内波形最小值点的纵坐标值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| XatMin | 指定范围内波形最小值点的横坐标值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| PeakY | 指定范围内特定波峰(局部最大值)的纵坐标值 | Num – 测量范围内的波峰序号 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| PeakX | 指定范围内特定波峰(局部最大值)的横坐标值 | Num – 测量范围内的波峰序号 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| ValleyY | 指定范围内特定波谷(局部最大值)的纵坐标值 | Num – 测量范围内的波峰序号 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| ValleyX | 指定范围内特定波谷(局部最大值)的横坐标值 | Num – 测量范围内的波峰序号 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| FirstY | 指定范围内第一个波形点的纵坐标值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| FirstX | 指定范围内第一个波形点的横坐标值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| LastY | 指定范围内最后一个波形点的纵坐标值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| LastX | 指定范围内波形点的横坐标值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| YatX | 给定横坐标值处波形点的纵坐标值 | Xfixed – 波形点的横坐标值 |
| XatY | 指定范围内波形穿越给定电平的指定事件所对应的横坐标值 | Num – 测量范围内的匹配序号 Level – 电平 Cross Type – 比较方式: cross – 相交,rise – 上升沿,fall – 下降沿From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| DeltaY | 两个选定波形点的纵坐标之差 | Xfirst – 第一个点的横坐标值 Xlast – 第二个点的横坐标值 |
| RangeY | 指定范围内波形最大值点与最小值点的纵坐标之差 | Xfirst – 范围起点的横坐标值 Xlast – 范围终点的横坐标值 |
| NY | 指定范围内选定波形数据点(按计算点序号选择)的纵坐标值 | Num – 数据点序号 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| NX | 范围内所选波形数据点(按计算所得的点编号选取)的横坐标值 | Num – 数据点编号 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| AVG | 范围内波形纵坐标的平均值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| Int | 范围内以波形为上边界的积分 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| Rms | 范围内波形的均方值 | From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| Width | 范围内最接近指定纵坐标值的两个波形数据点的横坐标值之差 | Num – 匹配项的序号 Level – 指定的纵坐标电平值 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| DeltaX | 范围内两个选定波形点的横坐标值之差,这两个点由指定的纵坐标值确定 | Num – 匹配项的序号 Yfirst – 第一个波形点的纵坐标值 Ylast – 第二个波形点的纵坐标值 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
| Slope | 所选波形点处倾角的正切值(斜率) | Xfixed – 波形点的横坐标值 |
| SlopeX | 范围内斜率等于选定值的波形数据点的横坐标值 | SlopeMin – 最小斜率值 SlopeMax – 最大斜率值 Num – 匹配项的序号 From – 用于确定测量范围的波形横坐标初值 To – 用于确定测量范围的波形横坐标终值 |
查看仿真结果文档时,测量结果 数据会显示在 Sim Data 面板的 Measurements 选项卡上。了解有关 处理测量结果的更多信息。
全局参数
全局参数用于定义电路元件特性对参数的依赖关系。通常,如果元件模型支持参数依赖关系,则可在确定元件的最终实现方案之前,使用全局参数来选择元件特性。
全局参数在 Advanced Analysis Settings 对话框的 Global Parameters 选项卡中定义(单击 Simulation Dashboard 面板的 Analysis Setup & Run 区域中的 Settings 即可访问)。请注意,全局参数可以直接定义,也可以使用公式定义。在后一种情况下,参数值和公式都会显示在 Value 列中。

使用 Advanced Analysis Settings 对话框的 Global Parameters 选项卡定义仿真所用的全局参数。
在电路中元件的参数值中添加表达式或全局参数名称 – 仿真器检测到后,会先检查全局参数列表,然后尝试求值。
高级仿真选项
Advanced Analysis Settings 对话框的 高级 选项卡(单击 Simulation Dashboard 面板的 Analysis Setup & Run 区域中的 Settings 即可访问)可用于定义高级仿真选项,包括 SPICE 变量的值、仿真器使用的积分方法以及仿真参考网络。

Advanced Analysis Settings 对话框的 Advanced 选项卡
此选项卡的上半部分列出了可直接访问 SPICE 变量的选项,您可以在此更改迭代次数限制、误差容限等。 下文详细介绍了列表中的各个 SPICE 变量。
SPICE 选项
| SPICE 选项 | 说明 | 默认值 |
|---|---|---|
| ABSTOL | 设置电流绝对误差容限(单位:安培)。 | 1e-12 |
| AUTOPARTIAL | 启用 XSpice 代码模块的偏导数自动计算功能。 | 禁用 |
| BADMOS3 | 使用具有“kappa”不连续性的旧版 MOS3 模型。 | 禁用 |
| BYPASS | 启用用于非线性模型求值的器件旁路机制。 | 禁用 |
| CHGTOL | 设置电容电荷量或电感磁通量的下限(单位:库仑);用于 LTE 时间步长控制算法。 | 1e-14 |
| CONVABSSTEP | 设置求解代码模型输入的直流工作点收敛时的绝对步长限制。 | 0.1 |
| CONVLIMIT | 禁用某些内置元件模型中使用的收敛算法。 | 启用 |
| CONVSTEP | 设置求解代码模型输入的直流工作点收敛时的相对步长限制。 | 0.25 |
| CURRENTMNS | 设置当 SimCode 模型中未指定相应值时,用于确定最小电源电流的比例因子。 | 1.5 |
| CURRENTMXS | 当 SimCode 模型中未指定相应值时,用于确定最大电源电流的比例因子。 | 0.5 |
| DEFAD | 设置 MOS 漏极扩散区面积。 | 0.0 |
| DEFAS | 设置 MOS 源极扩散区面积。 | 0.0 |
| DEFL | 设置 MOS 沟道长度(单位:微米)。 | 1e-4 |
| DEFW | 设置 MOS 沟道宽度(单位:微米)。 | 1e-4 |
| DIGERRDEFAULT | 每个数字约束器件的默认错误次数上限 | 20 |
| DIGIL | 数字输入低电平电压 | 1e-1 |
| DIGIH | 数字输入高电平电压 | 9e-1 |
| DIGIOLVL | 默认数字 I/O 电平:1-4 | 1 |
| DIGIRD | 数字输入上升沿延迟时间 | 1e-9 |
| DIGIFD | 数字输入下降沿延迟时间 | 1e-9 |
| DIGOL | 数字输出低电平电压 | 0.0 |
| DIGOH | 数字输出高电平电压 | 1.0 |
| DIGOU | 数字输出未定义状态电压 | 0.5 |
| DIGOR | 数字输出上升时间 | 1e-9 |
| DIGOF | 数字输出下降时间 | 1e-9 |
| DIGMNTYMX | 默认延迟选择器:1=最小值,2=典型值,3=最大值 | 2 |
| DIGMNTYSCALE | 用于根据典型延迟推算最小延迟的比例因子 | .4 |
| DIGTYMXSCALE | 用于根据典型延迟推算最大延迟的比例因子 | 1.6 |
| DRIVEMNS | 设置在 SimCode 模型未指定相应值时,用于确定最小输出驱动能力的比例因子。 | 1.5 |
| DRIVEMXS | 设置在 SimCode 模型未指定相应值时,用于确定最大输出驱动能力的比例因子。 | 0.5 |
| DRVMNTYMX | 临时全局覆盖 SimCode 器件的输出驱动能力索引(无、最小值、典型值、最大值)。 | 无 |
| GMIN | 设置电路中任意器件的最小电导(最大电阻),单位为姆欧。同时设置与电路中每个 PN 结并联的电导值。 | 1e-12 |
| GMINSTEP | 设置 GMIN 步进算法的步数。设为 0 时,将禁用 GMIN 步进,并将源步进设为仿真器默认的直流(工作点)收敛算法。 | 1 |
| IMNTYMX | 临时全局覆盖 SimCode 器件的电源电流索引(无、最小值、典型值、最大值)。 | 无 |
| ITL1 | 设置工作点分析的迭代次数上限。 | 100 |
| ITL2 | 设置直流分析的迭代次数上限。 | 50 |
| ITL3 | 设置瞬态分析的迭代次数下限。 | 4 |
| ITL4 | 设置瞬态分析中每个时间点的迭代次数上限。 | 40 |
| ITL5 | 设置瞬态分析的总迭代次数上限。 | 5000 |
| KEEPOPINFO | 运行交流分析时保留工作点信息。 | 已禁用 |
| LDMNTYMX | 临时全局覆盖 SimCode 器件的输入负载索引(无、最小值、典型值、最大值)。 | 无 |
| LOADMNS | 设置在 SimCode 模型未指定相应值时,用于确定最小输入负载(最大输入电阻)的比例因子。 | 1.5 |
| LOADMXS | 设置在 SimCode 模型未指定相应值时,用于确定最大输入负载(最小输入电阻)的比例因子。 | 0.5 |
| MAXEVTITER | 设置直流(工作点)收敛的最大事件迭代次数。 | 0 |
| MAXOPALTER | 设置直流(工作点)收敛的最大模拟/事件交替次数。 | 0 |
| MINBREAK | 设置断点之间的最小时间间隔(单位:秒)。 | 0.0(自动) |
| NOOPALTER | 启用直流(工作点)交替。 | 已禁用 |
| NOOPITER | 直接跳至 GMIN 步进算法。 | 已禁用 |
| PIVREL | 设置矩阵中列最大元素与可接受主元值之间的相对比率。该值必须介于 0 和 1 之间。 | 1e-3 |
| PIVTOL | 设置矩阵元素可被接受为主元的最小绝对值。 | 1e-13 |
| PROPMNS | 设置在 SimCode 模型未指定相应值时,用于确定最小传播延迟的比例因子。 | 0.5 |
| PROPMXS | 设置在 SimCode 模型未指定相应值时,用于确定最大传播延迟的比例因子。 | 1.5 |
| RAMPTIME | 控制独立源以及电容和电感初始条件在指定时间段内从零上升至最终值的开启时间(单位:秒)。 | 0.0 |
| RELTOL | 设置程序的相对误差容限。该值必须介于 0 和 1 之间。 | 1e-3 |
| RNODETOGND | 无直流接地通路的节点的并联电阻(单位:欧姆)。 | 1e12 |
| RSHUNT | 在每个电路节点与地之间添加的电阻值(单位:欧姆),有助于消除“奇异矩阵”等错误。通常,RSHUNT 应设置为非常高的电阻值(1e12)。 | 0.0(无并联电阻) |
| SIMWARN | 允许运行时显示 SimCode 警告消息。SimCode 警告可能包含时序违规信息(tsetup、thold 等),或指示电源电压低于器件规格要求(无、否、是)。 | 无 |
| SRCSTEP | 设置用于直流(工作点)收敛的源步进算法的步数。 | 1 |
| TEMP | 设置电路的实际工作温度(单位:摄氏度)。与 TNOM 的任何偏差都会导致仿真结果发生变化。如果器件模型具有可在元件级设置的 Temperature 参数,则为该参数设置的值将覆盖 TEMP。 |
27.0 |
| TNOM | 设置创建器件模型时采用的标称温度(单位:摄氏度)。如果器件模型具有可在模型文件级设置的 TNOM 参数,则为该参数设置的值将覆盖 TNOM。 | 27.0 |
| TPMNTYMX | 临时全局覆盖 SimCode 器件的传播延迟索引(无、最小值、典型值、最大值)。 | 无 |
| TRTOL | 用于 LTE 时间步长控制算法。该值用于估算 SPICE 对实际截断误差的高估倍数。 | 7.0 |
| TRYTOCOMPACT | 适用于 LTRA 模型。指定此选项后,仿真器会尝试压缩 LTRA 传输线输入电压和电流的历史数据 | 已禁用 |
| VNTOL | 设置程序的绝对电压容限(单位:伏特)。 | 1e-6 |
您可以在 Integration method 字段中定义仿真所用的数值积分方法。 Trapezoidal 方法速度较快且精度较高,但在某些条件下容易产生振荡。 Gear 方法需要更长的仿真时间,但通常更稳定。理论上,使用更高的 Gear 阶数可获得更精确的结果,但会增加仿真时间。默认方法为 Trapezoidal。
运行仿真时,所有可用信号采集到的数据均以电路中的某个特定网络为参考。此网络在 Spice Reference Net Name 字段中定义,默认为 GND 网络。要运行以非接地网络为参考的瞬态仿真,请在此字段中输入该网络的名称。
在当前版本的 Altium Designer 中,仿真器不使用 Digital Supply VCC 和 Digital Supply VDD 设置。
运行分析
配置所需的分析类型后,单击分析名称右侧相应的 Run 按钮以执行分析。分析结果将显示在名为 <ProjectName>.sdf 的新文档中,该文档会自动以文档选项卡的形式打开。
要运行所有分析类型并将其显示在同一个仿真结果文档中,请使用主菜单中的 Simulate » Run Simulation 命令(快捷键: F9)。每种分析类型的结果都将显示在各自的图表中。









































