文章分类

当前位置:首页>文章中心>公司动态>PSpice 21周仿真培训 I 第8周:蒙特卡洛分析

PSpice 21周仿真培训 I 第8周:蒙特卡洛分析

发布时间:2021-11-25 点击数:2512

前几期介绍的各种分析都是在电路参数取其标称值下分析其响应。然而对于电阻、电容和电感等实际分立元件,以及半导体器件,其参数值均有一定的容差,例如当选择 10(1+/- 5%)kΩ 的电阻时,可能预测设计测量的电阻应该在 9.5kΩ ~ 10.5 kΩ。当所有元器件的容差效果组合一起时,可能对电路的输出响应造成巨大偏差。


于是接下来的两期将介绍两种统计分析:蒙特卡洛分析和最坏情况分析,用于研究元器件参数值变化(容差),或者影响元器件参数值的物理参数变化(比如温度有容差)时,对某些电路特性的影响。


本周看点:

  • 元器件容差的设置

  • 蒙特卡洛分析的基本操作

  • 直方图的使用方法


大惊喜

为了让大家能够及时将理论知识转化为实践经验,从第3周内容开始,我们为每期内容配备了实例文件,供大家下载学习。


阅读到文末即可获取下载链接~


蒙特卡罗分析是一种统计模拟方法,它是对选择的分析类型(包括直流分析、交流分析、瞬态分析)多次运行后进行的统计分析。第一次运行采用所有元器件的标称值进行运算,最后将各次运行结果同第一次运行结果进行比较,得出由于元器件的容差而引起输出结果偏离的统计分析,如电路性能的中心值、方差,以及电路合格率、成本等等。用此结果作为是否修正设计的参考,增加了模拟的可信度。


本期以双运放窄带通滤波器为例,要求中心频率为50Hz,品质因数为20。电路如图8.1所示。希望利用蒙特卡洛分析方法分析电路元器件容差对滤波器的频率特性产生的偏差,要求技术指标的误差控制在10%以内。


图8.1 本期实例电路


1

元器件容差设置


蒙特卡洛分析与交流分析、直流分析或者瞬态分析同时进行,在绘制原理图时首先需要通过元器件属性编辑器对各元器件的容差进行设置,然后再根据设计需求对电路进行仿真设置。


01

属性编辑器中添加容差参数


新版本中分立元件R、L和C均具有容差参数,通过双击器件,打开属性编辑器就可以对其容差进行添加和设置。但输入容差参数时,务必在数值后面输入%符号,例如10%,否则会出现偏差。


图8.2是对电容C的属性编辑框中直接输入容差值。若需要在电路图上显示容差数值,需要选择整个TOLERANCE容差行,然后右键选择Display,在随后的对话框中选择Value only即可只对数值进行显示。


图8.2 属性编辑器中添加容差值


02

BREAKOUT库元件添加容差参数


早期的版本中只有通过选择breakout元件库中的元件,通过模型编辑器为分立元件添加容差。例如对电容添加容差,首先从breakout库中选择Cbreak元件,然后通过点击右键选择Edit PSpice Model打开模型编辑器,最后通过设置语句对其容差进行添加。


如图8.3所示:Cbreak为模型名称;CAP为PSpice模型类型;C=1表示数值因子为1,用于设置电容参数值的倍率;LOT和DEV是两种容差类型:


  • DEV 称为器件容差:指同一模型名称的元件其参数值在该容差范围内独立变化;

  • LOT 称为批容差:指同一模型名称的元件其参数值在该容差范围内统一变化,即它们的值同时变大或变小。


图8.3 模型编辑器设置电容容差


如何设置模型参数的变化模式应根据实际情况确定:


  • 如果设计的电路要用印刷电路板(PCB)装配,则不同PCB中针对电路设计中同一个元器件采用的元器件参数将独立随机变化,就只需要选用DEV;

  • 如果在集成电路生产中,不同批次之间的元器件参数还存在起伏波动,就还应该用LOT。


图8.2的方式设置的容差其实就是DEV容差;图8.3中同时设置DEV和LOT,共同作用下这个电容的总容差将达到 +/- 15%。


03

半导体器件的参数容差设置


分立元件的参数主要就是它的数值,但半导体器件有着很多参数,容差设置只能针对某一个参数进行设置。比如需要对晶体管的放大倍数添加容差值,可以点击晶体管,右键找到Edit PSpice Model,进入模型编辑器,如图8.4所示,直接在Bf值后添加DEV容差。


图8.4 晶体管的放大倍数设置容差


04

分布类型的设置


蒙特卡洛分析过程中元器件参数值的改变是遵循特定的统计分布的,一般分立元件是默认均匀分布,在元件属性编辑器中可以看到默认项如下:



如果需要修改为高斯分布,可以直接双击后将FLAT改为GAUSS。


对于晶体管的参数,比如图8.4中晶体管的电流放大倍数,通常情况下更符合高斯分布,那么可以在模型编辑窗口中如图8.4下,将dev=50%增加为dev/gauss=50%,这样就把Bf的概率分布设置为高斯分布了。


电路中所有具有容差的元器件都设置好容差和统计分布后,就可以进行仿真参数设置。


2

蒙特卡洛分析的基本操作


先对电路进行交流扫描分析,频率范围从1Hz至1kHz,每十倍频1000个点。并在Options对话框中选择Monte Carlo/Worst Case分析。


图8.5 蒙特卡洛分析设置对话框


01

输出变量


仿真输出变量由用户制定,可以为节点电压值、独立电流源或者独立电压源。在本例中输出变量设置为V(out)。


02

运行次数


运行次数(Number of runs)是用来设置电路进行直流分析、交流分析或者瞬态分析的仿真次数。在最新版本中,最大运行数量已经从4000次增加至10000次,数量大大扩展,以满足用户的需求。电路运行第一次仿真时使用的元器件参数为其标称值。


03

参数分布规律的选择


在“Use distribution”中提供了三种分布供选择,用于反映实际生产中元器件参数的分布情况:


  • Gaussian指正态分布,又称高斯分布,选用该分布时,PSpice采取将元器件的标称值设为均值,DEV容差作为标准偏差,从而产生一组随机数代表元件的分布情况;

  • Uniform指均匀分布,即元器件取的每个值的概率相等;

  • GaussUser也是随机分布,但是如果选用此项分布,还需要在右侧下拉列表中选择一个数值,表示元件值分散范围对应几倍DEV的容差设置值。


04

随机“种子数”的选定


与通用随机数发生器一致,PSpice软件也需要利用初始种子数生成随机数。“Random number seed”一栏设置的数值就是用于指定蒙特卡罗分析中进行随机抽样时产生随机数所用的“种子数”其值必须在 1 ~ 32767 之间的奇数,若未指定,采用内定值为17533


如果种子数相同,则产生的随机数是完全相同的,若使用者希望模拟不同批次生产的电子产品参数分布情况,则每次应该在设置蒙特卡罗分析时,采用不同的种子值。


05

 数据保存形式


按照指定的运行方式对仿真数据进行保存:


  • None:只保存标称值运行的电路响应

  • All:保存每一次运行的数据

  • First:只显示前n次的结果,n填在随后的编辑框里

  • Every:每n次模拟显示一次,n也填在随后的编辑框里

  • Run(list):显示所有指定次数的结果,最多可在后面填入25个数字


06

运行查看结果


按照图8.5的设置,确定后,点选PSpice→Run,或其对应图标。仿真结束后,会出现如图8.6所示的画面。此对话框告知用户有一百项模拟结果的波形资料,可以任选一项或多项,也可以全部选择, 确认对话框后就可以得到分析结果了。


图8.6 分批模拟结果的波形资料


由于图8.1中使用了“dB Magnitude of Voltage”的探针,于是直接显示了一百条输出的幅频特性曲线。


图8.7 蒙特卡洛分析的结果


点选View→Output File可以看到蒙特卡洛分析的文字结果,如图8.8所示:


图8.8 蒙特卡洛分析的输出文档


3

直方图的使用方法


对于很多进行蒙特卡洛分析的工程师,往往不满足于仅显示出输出波形,还想得到输出变量的可能输出值及其相对几率为多少。这就需要使用直方图功能了。对电路进行蒙特卡洛分析后,可以绘制描述电路特性分散情况的分布直方图,能预计该电路投入生产时的成品率。


方法是在完成蒙托卡诺分析以后启动电路性能分析(Performance Analysis),Probe窗口将转化为直方图绘制窗口,选用的特征值函数在显示窗口中成为x轴坐标变量,y轴坐标刻度为百分数。这就是说,只要在MC分析以后启动电路性能分析,就自动进入直方图绘制状态。


具体步骤和上一期参数扫描分析中“测量性能分析的使用”是完全一致的:


  • 屏幕引导方式:在Probe窗口下选择Trace→Performance Analysis→Wizard根据提示的步骤一步步操作;

  • 直接选择方式:在Probe窗口下选择Trace→Performance Analysis>OK,或直接按下菜单栏中的如下按钮,然后选择Trace→Add Trace添加需要分析的测量函数。


由于本期实例要求设计的是带通滤波器,要求中心频率是50Hz,品质因数是20,所以先选择中心频率函数(注意:如果有调整过中心频率的函数代码,需要修改为默认状态,方法参照第六期)。如图8.9所示:


图8.9 选取中心频率函数


确定后得到图8.10的中心频率直方图结果:


图8.10 滤波器中心频率直方图


上图中重要参数的说明如下:


  • n samples: 蒙特卡罗分析的次数,现设为100 次,上限是10000次;

  • n divisions: 显示的长方形个数,现设为20 次,条数越多越清楚,可通过设置 Number of Divisions 值来修改;

  • Mean:输出变量平均值,这里是中心频率的平均值为50.2437Hz;

  • Sigma :输出变量标准差 σ,即均方根误差

  • Minimum、maximum、median: 输出变量的最小值、最大值、中间值;

  • 10 th %ile:按从大到小顺序排列的100个滤波器样本中第10号样本和第11号样本的带宽平均值;

  • 90 th %ile:按从大到小顺序排列的100个滤波器样本中第90号样本和第91号样本的带宽平均值。


对于直方图X轴数据范围划分的区间数,以及直方图下方是否同时显示有关信息和统计分析结果,均可以由用户通过有关任选项设置确定。具体方法是选择Tools→Options 命令,得到图8.11的对话框:


图8.11 设置直方图相关信息


用同样的方式可以得到品质因数的统计直方图:


图8.12 品质因数的直方图


如果设计要求指标的误差需要控制在10%以内,那么需要中心频率在 45 ~ 55 之间,品质因数在 18 ~ 22 之间。


从图8.10和图8.12可知,成品率均未达到100%。说明选取的器件容差有些偏高,将电容容差修改为5%,电阻容差修改为1%,运行后得到图8.13,可知设计可以满足要求。


图8.13 修改器件容差后的统计结果


这里采用将所有电阻电容容差都改变的方式,来实现设计要求。如果能够找到影响各技术指标的关键器件,会对调整元件容差有更直接的指导性,这将在第10周PSpice AA模块的灵敏度分析工具中介绍。