配置与运行仿真

概览

本文将引导您使用 Altium Designer 中 Simulation Dashboard(仿真仪表板)面板的 Analysis Setup and Run(分析设置与运行)区域,配置并运行仿真分析。文章首先介绍支持的数值输入格式,然后说明如何设置工作点、传递函数、极点-零点、直流扫描和瞬态等主要分析类型,并介绍每种分析的主要选项及预期结果。您还将了解如何在原理图上显示计算值,以及如何将其添加到仿真结果文档中,帮助您在推进设计之前更好地理解电路行为。继续阅读,了解如何为您的设计正确配置所需的仿真。

- 了解在 Simulation Dashboard 面板中何处配置仿真分析,以及如何使用普通数值格式、工程计数法或科学计数法输入数值。
- 了解每种常见分析类型的作用、适用场景,以及成功运行分析所需的设置。
- 了解如何在原理图和结果文档中查看仿真结果,包括添加的计算值和输出表达式。
使用 AI 深入了解:

Simulation Dashboard 面板的 Analysis Setup & Run 区域用于配置和运行仿真分析。电路完成验证并做好仿真准备后,即可按照以下各节中的说明配置所需的分析类型。

Simulation Dashboard 面板的 Analysis Setup & Run 区域
Simulation Dashboard 面板的 Analysis Setup & Run 区域

以下各节介绍如何配置常用的仿真分析及其他仿真设置。

Number formats

Simulation Dashboard 面板的 Analysis Setup & Run 区域中的数值字段支持三种参数输入格式:普通格式、工程格式和科学计数法格式。

在普通格式中,直接输入数字,例如用“1000000”表示一百万。

在工程格式中,数字由尾数(任意实数)和下表所列的数量级后缀表示。例如,一百万可以用工程格式表示为“1meg”。

前缀符号 名称和值
f 飞,10-15
p 皮,10-12
n 纳,10-9
u 微,10-6
m 毫,10-3
k 千,103
meg 兆,106
g 吉,109
t 太,1012

科学计数法格式将数字表示为两部分:尾数和以 10 为底的指数。尾数和指数必须用拉丁字母“e”分隔,例如用“1e6”表示一百万。尾数和指数均定义为实数。

工作点分析

工作点分析用于确定电路的直流工作点,其中电感视为短路,电容视为开路。此分析可计算电路稳态运行时的电流和电压平衡点值、直流模式下的传输系数,以及其他类型计算所需的交流传输特性的极点和零点。

工作点分析在 Simulation Dashboard 面板的 Operating Point 区域中配置。

使用 Display on schematic 按钮可在原理图上直接显示计算值:

  • Voltage – 显示节点相对于参考节点的电压
  • Power – 显示消耗(正值)或输出(负值)的瞬时功率
  • Current – 显示元件输出电流。

运行分析后,计算得到的电压、功率和/或电流值将以标签形式显示在相应节点处。

  • 在原理图上单击并按住标签,然后拖动,即可移动标签。
  • 运行工作点分析后,也可以在原理图上显示计算值。

仿真结果文档将包含电路中所放置探针的计算结果。

系统会自动计算电路中所有节点的值。可通过 Sim Data 面板将其他值添加到结果表中。有关详细信息,请参阅处理文本数据。

下方展示了电路工作点分析的配置示例及其仿真结果文档。请注意,仿真运行后出现的结果值标签(对应已启用的电压和功率计算)会显示在原理图图纸上。下方还展示了向仿真结果文档添加其他计算值的示例。

 

Node Set 器件用于在工作点分析的预备计算阶段指定电路中某个节点的起始电压。完成此初始计算后,该限制将被解除,迭代将继续进行,直至求得实际的偏置解。要使用 Node Set 器件,请从 Simulation Generic Components 库中放置 .NS 元件,然后设置所放置元件的 Initial Voltage 值。

对于大多数电路,通常无需使用此器件即可实现收敛。不过,在对双稳态或无稳态电路进行仿真时,它可能会有所帮助。

传递函数分析

传递函数分析(直流小信号分析)计算电路中各电压节点处的直流输入电阻、直流输出电阻和直流增益。

要执行传递函数分析,请在 Simulation Dashboard 面板的 Operating Point 区域中启用 Transfer Function 选项。启用该选项后,即可使用相应的分析选项:

  • Source Name – 用作计算输入参考的小信号输入源。
  • Reference Node – 在各指定电压节点进行计算时用作参考的电路节点。“0”为参考节点(默认为 GND)。

下方展示了电路传递函数分析的配置示例及其仿真结果文档。在仿真结果文档中,单击设计空间底部的选项卡,选择 Transfer Function 图表,即可访问分析结果。

请注意,图表最初不会显示任何数据。可通过 Sim Data 面板将计算值添加到结果表中。有关详细信息,请参阅处理文本数据。

 

极点-零点分析

极点-零点分析通过计算电路小信号交流传递函数中的极点和/或零点,确定单输入、单输出线性系统的稳定性。首先求出电路的直流工作点,然后确定电路中所有非线性器件的线性化小信号模型。随后使用此电路求出满足指定传递函数的极点和零点。

极点-零点分析支持电阻、电容、电感、线性受控源、独立源、二极管、BJT、MOSFET 和 JFET,不支持传输线。

要执行极点-零点分析,请在 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) – 阻抗传递函数。

选择节点时,请注意,“0”为参考节点(默认为 GND)。

下方展示了电路极点-零点分析的配置示例及其仿真结果文档。 在仿真结果文档中,单击设计空间底部的选项卡,选择 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 等),且各次谐波的幅度随谐波次数增加而递减。

 

应力分析

此功能处于公开测试阶段,且在高级设置对话框中启用 Simulation.StressAnalysis 选项后可用。

应力分析用于计算各个元件的工作条件,例如最大电压、电流和功耗,并将其与元件应力模型中定义的限值进行比较。

元件的应力模型在其仿真模型对应的 Sim Model 对话框的 Stress 选项卡中配置。在此处,您可以选择所需的 Device Type 并定义参数值,还可以定义应力模型(其引脚已预定义)与仿真模型之间的引脚映射。有关应力分析模型配置的更多信息,请参阅 单个元件编辑 页面。

用于降低参数限值的降额系数根据应力模型参数计算得出。您也可以在 Advanced Analysis Settings 对话框的 Stress 选项卡中设置这些值(单击 Simulation Dashboard 面板的 Analysis Setup & Run 区域中的 Settings 控件可打开该对话框)。

要执行 应力分析,请在 Simulation Dashboard 面板的 Transient 区域中启用 Stress Analysis 选项。在仿真结果文档中,单击设计空间底部的选项卡,选择 Stress 图表以查看分析结果。

 
  • 使用 Stress 图表顶部的控件,仅显示您关注的应力分析结果:

    • 使用 Search 字段,仅显示 Component 或 Parameter 包含所输入字符串的结果。
    • 使用 Hide Invalid Measurement 复选框,隐藏被视为无效的结果(以及没有数值的结果)。

     

  • 如果仿真结果文档中没有 Stress 图表,您可以使用 SimView 编辑器主菜单中的 Chart » Create/Update Stress Chart 命令添加该图表,并根据瞬态图表中的计算结果和原理图中元件的应力参数填充数据。如果文档中已存在应力图表,请使用此命令,以最新的瞬态分析结果和原理图中元件应力参数的当前值更新图表。

    请注意,使用该命令创建应力图表时,将使用默认分析温度值 27°C。如果图表已存在(已执行过应力分析),则将使用实际分析温度。

交流扫描

交流扫描分析生成的输出显示电路的频率响应,将小信号交流输出变量作为频率的函数进行计算。它首先执行工作点分析,以确定电路的直流偏置,将信号源替换为固定幅度的正弦波发生器,然后在指定频率范围内分析电路。交流小信号分析的预期输出通常为传递函数(电压增益、跨阻等)。

执行交流扫描分析之前,电路原理图中必须至少包含一个已设置 AC Magnitude 参数值的信号源(可使用可选的 AC Phase 参数定义初始相位)。仿真期间,该信号源将被替换为正弦波发生器。

必须设置 AC Magnitude 参数才能执行交流扫描分析。
必须设置 AC Magnitude 参数才能执行交流扫描分析。

交流扫描分析在 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 部分添加要在仿真结果文档中以波形形式输出的表达式(除电路中放置的探针对应的波形之外)。有关更多信息,请参阅 添加输出表达式部分。

为交流扫描分析配置输出表达式时,请注意,您可以在 Add Output Expression 对话框中选择多种 Complex Functions。

使用复数函数配置交流扫描分析的输出表达式
使用复数函数配置交流扫描分析的输出表达式

函数 说明
幅值 返回波形的幅值。
幅值 (dB) 返回以分贝表示的波形幅值。
实部 返回复数波形的实部。
虚部 返回复数波形的虚部。
相位(度) 返回以度为单位的波形相位。
相位(弧度) 返回以弧度为单位的波形相位。
群延迟 返回波形的群延迟。

下图展示了为电路配置的交流扫描分析示例及其仿真结果文档。

 

交流分析支持输出电压、功率和电流,包括以下元件的输出:

VCVS VCCS CCVS CCCS
VCVS_Table VCCS_Table CCVS_Table CCCS_Table
VCVS_Poly VCCS_Poly CCVS_Poly CCCS_Poly
VCVS_Expr VCCS_Expr CCVS_Expr CCCS_Expr

噪声分析

噪声分析通过绘制噪声谱密度来测量电阻和半导体器件的噪声贡献,噪声谱密度是以伏特平方每赫兹(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 – 将此参数设置为该值时,将测量电路中各个元件的噪声贡献。

    输入大于 1 的整数等同于指定 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 按钮,将所需的计算值添加到结果表中。

 
如果将 Points Per Summary 参数设置为 1 而不是 0,则会测量电路中每个适用元件的输出噪声贡献,并在 Sim Data 面板中提供各元件对应的波形。

S 参数分析

此功能处于公开测试阶段,且需在 高级设置对话框中启用 Simulation.SParametersAnalysis 选项后才能使用。

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 字段中指定所需参数值的列表(以空格分隔)。

根据需要添加并配置任意数量的步进扫描参数。

下图展示了电路结合参数扫描功能配置瞬态分析的示例,以及相应的仿真结果文档。

 

蒙特卡洛

蒙特卡洛分析允许您执行多次仿真,每次仿真中元件值都会在指定容差范围内随机变化。

  • 蒙特卡洛分析可以改变基本元件和模型的参数,但分析过程中不会改变子电路数据。
  • 每个元件的随机变化都独立于其他元件。例如,如果电路中有两个 10K 电阻,且默认容差设置为 10%,则在第一次仿真中,一个电阻的阻值可能为 953Ω,另一个可能为 1022Ω。程序使用单独且相互独立的随机数来生成每个元件的值。

要执行蒙特卡洛分析,请启用 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。
瞬态时间区间已设置为 0 至 1u。

在此电路中,信号源的 Period 已设置为 1uS,如下所示。

信号源的周期为 1u。
信号源的周期为 1u。

考虑到该电路的工作特性,此瞬态分析范围无法让电路得到正确的仿真,如下所示。

对于信号源中配置的周期而言,瞬态时间范围过短。

同样,当范围过宽(例如 0 - 100u)时,也会难以分析曲线,而且分析所需的时间也会增加。

瞬态时间范围过宽。
瞬态时间范围过宽。

因此,应选择大于信号周期的范围,例如 5 个周期(0 - 5u)。这应足以让电路达到稳定状态,同时又不会使此类计算的计算量过大。

适合此电路瞬态分析的时间范围。
适合此电路瞬态分析的时间范围。

另外,为计算选择合适的数值步长或为曲线选择合适的显示点数也很重要。如果选择的点数过多,计算速度就会变慢;点数不足则会导致计算不准确。

例如,下面显示了两条幅频特性曲线,第一条配置为使用 10 个点,第二条配置为使用 1000 个点。所用点数的差异不会对计算时间产生显著影响,却能大幅提高特性曲线的精度。

计算点数不足时的分析结果。
计算点数不足时的分析结果。

使用合适点数进行计算的结果。
使用合适点数进行计算的结果。

要在曲线上显示分析数据点,请在 Document Options 对话框(Tools » Document Options)中启用 Show Data Points 选项。

添加输出表达式

配置某些分析时,除了电路中放置的探针所对应的波形外,您还可以添加表达式,并将其作为波形输出到仿真结果文档中。要添加表达式,请在 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 – 波形的颜色。如果不更改,仿真数据文件将自动为不同波形分配颜色。

可以通过拖放来更改输出表达式行的顺序。在输出表达式行的空白处按住鼠标左键,即可在列表中将其向上或向下移动。

可用函数

配置和执行仿真测量

测量是用于表征电路行为和性能的一组量。测量值通过评估电路中的波形特征,按照指定规则计算得出。测量项的示例包括带宽、增益、上升时间、下降时间、脉冲宽度、频率和周期。

输出波形的测量项在 Measurements 对话框的 Add Output Expression 选项卡中配置。 单击 Add Measurement 控件可添加新的测量项,并在显示的条目中配置测量项的名称、类型及相关参数。 可定义的测量项数量不受限制。已添加测量项的名称会显示在 Simulation Dashboard 面板的输出表达式条目中。

配置输出表达式时,添加所需的测量项。
配置输出表达式时,添加所需的测量项。

了解有关添加输出表达式的更多信息。

查看仿真结果文档时,测量结果 数据会显示在 Sim Data 面板的 Measurements 选项卡上。了解有关 处理测量结果的更多信息。

全局参数

全局参数用于定义电路元件特性对参数的依赖关系。通常,如果元件模型支持参数依赖关系,则可在确定元件的最终实现方案之前,使用全局参数来选择元件特性。

全局参数在 Advanced Analysis Settings 对话框的 Global Parameters 选项卡中定义(单击 Simulation Dashboard 面板的 Analysis Setup & Run 区域中的 Settings 即可访问)。请注意,全局参数可以直接定义,也可以使用公式定义。在后一种情况下,参数值和公式都会显示在 Value 列中。

使用 Advanced Analysis Settings 对话框的 Global Parameters 选项卡定义仿真所用的全局参数。
使用 Advanced Analysis Settings 对话框的 Global Parameters 选项卡定义仿真所用的全局参数。

在电路中元件的参数值中添加表达式或全局参数名称 – 仿真器检测到后,会先检查全局参数列表,然后尝试求值。

元件值引用全局参数。
元件值引用全局参数。

由于仿真器会先在全局参数列表中查找表达式中使用的名称,因此任何用户定义的名称都具有更高的优先级。例如,如果有一个名为 pi、值为 4 的全局参数,那么表达式中所有的 pi 都会被替换为该值;在这种情况下,不会使用仿真器内部的 pi 值。

高级仿真选项

Advanced Analysis Settings 对话框的 高级 选项卡(单击 Simulation Dashboard 面板的 Analysis Setup & Run 区域中的 Settings 即可访问)可用于定义高级仿真选项,包括 SPICE 变量的值、仿真器使用的积分方法以及仿真参考网络。

 Advanced Analysis Settings 对话框的 Advanced 选项卡
 Advanced Analysis Settings 对话框的 Advanced 选项卡

此选项卡的上半部分列出了可直接访问 SPICE 变量的选项,您可以在此更改迭代次数限制、误差容限等。 下文详细介绍了列表中的各个 SPICE 变量。

一般情况下,无需更改此对话框选项卡上的任何高级 SPICE 参数,即可获得准确的仿真结果。只有在充分了解 SPICE 仿真参数的情况下,才应更改这些选项。
  • 要将数值选项恢复为默认值,请清除其当前定义的值。
  • 排查瞬态分析失败问题时,请尝试设置:
    • ABSTOL = RELTOL * (lowest current magnitude in the circuit)
    • VNTOL = RELTOL *  (lowest voltage magnitude in the circuit)
  • 增大 GMIN 的值可能有助于收敛,但会降低精度。
  • ITL1 对于许多电路,可能需要将其增大至 500。
  • ITL2 对于某些电路,可能需要将其增大至 200。
  • ITL3 在 SPICE3 中未实现。提供此选项是为了在创建 SPICE2 网表时保持兼容性。
  • 将 ITL4 增大至 100 或更高,可能有助于消除“时间步长过小”错误,同时改善收敛性并提高速度。
  • ITL5 在 SPICE3 中未实现。提供此选项是为了在创建 SPICE2 网表时保持兼容性。
  • 如果电路规模较大,且不希望执行多余的工作点分析,启用 KEEPOPINFO 选项会很有用。
  • 在数值主元选取算法中,允许的最小主元由以下公式确定:

    EPSREL = AMAX1(PIVREL * MAXVAL, PIVTOL)

    其中, MAXVAL 是待选主元所在列中的最大元素(部分主元选取)。

  • 对于 RELTOL 选项,值越大,仿真速度越快,但精度越低。

您可以在 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)。每种分析类型的结果都将显示在各自的图表中。

  • 在 SimData 编辑器中,您可以单击 SimView Standard 工具栏上的  按钮,中止当前的仿真分析和波形生成。仿真将停止。如果已采集数据的波形已经生成,则会显示截至中止时刻的波形。在某些情况下,波形会部分显示;在其他情况下,则不会显示任何数据。

  • 混合仿真可配置为使用专用线程,以提高仿真期间的界面响应速度。在 高级设置对话框中启用 Simulation.Threads 选项(默认启用)后,即可使用此功能。

如果电路无法进行仿真,请确定问题出在电路本身还是仿真过程。有关更多信息,请参阅 仿真故障排除页面。
了解有关 处理仿真结果的更多信息。
AI-LocalizedAI 翻译
如您发现任何问题,请选中相关文本/图片,并按 Ctrl + Enter 键向我们提交反馈。
Contents
功能可用性

您可使用的功能取决于您所采用的 Altium 解决方案——Altium Develop、Altium Agile Teams、Altium Agile Enterprise,或 Altium Designer(在有效订阅期内)。

如果您在实际软件中未看到文档中介绍的某项功能, 请联系 Altium Sales 了解更多信息。

旧版文档

Altium Designer 文档不再提供版本区分。如果您需要访问 Altium Designer 旧版本的文档,请前往其他安装程序页面的旧版文档部分。

Contents