文章分类

当前位置:首页>文章中心>PSpice 21周仿真培训 I 第12周:PSpice AA——蒙特卡洛分析

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

发布时间:2022-01-15 点击数:2566

蒙特卡洛工具是一种统计模拟的方法,是一种采用随机抽样统计来估算结果的计算方法,而且计算结果的精确度很大程度上取决于抽取样本的数量,一般需要大量的样本数据。在电路设计时元器件值在一定范围内变动,随机选取不同样本,分析研究元器件参数值的变化对电路特性的影响。


本期选用软件自带的射频放大器的实例,我们希望在大批量生产时,能100%满足带宽大于200MHz下,放大器的增益在4.5dB~6.5dB之间。


图12.1 本期实例电路


1

PSpice AA中蒙特卡洛工具的功能


PSpice AA中Monte Carlo工具的概念、含义与PSpice A/D中的相同,其功能还包含:


  • 显示Monte Carlo分析过程中每一次模拟仿真得到的电路特性值

  • 对Monte Carlo分析得到的大批电路特性原始数据进行统计分析

  • 以概率分布密度函数图和累计分布函数曲线两种方式直观地显示分析结果

  • 根据对电路特性的规范要求预测生产成品率


2

蒙特卡洛运行参数设置


蒙特卡洛工具的工作流程如图12.2所示:


图12.2 Monte Carlo工具分析流程图


分析流程中的1到4步均和前面两期的灵敏度工具和优化工具相同,蒙特卡洛分析也需要电路中的元器件设置容差参数,然后再运行PSpice A/D,并调用电路特性函数。


01

分布参数的设置


在调用蒙特卡洛工具前,除了对元器件设置容差外,还需要对元器件容差的分布参数进行设置。对于无源元件电阻R、电容C等常用的元件,可以双击元件符号,出现如图12.3所示的元器件属性框图。


图12.3 无源元器件的分布参数设置


在DIST(分布参数设置)栏内默认设置了该电阻容差分布参数是FLAT(平均分布),用户可以直接点击FLAT进行修改。确认保存后,系统就会按照用户定义的分布参数类型进行蒙特卡洛分析。


PSpice提供四种标准分布类型


  1. 均匀分布(FLAT):也叫矩形分布,它是对称概率分布,在相同长度间隔的分布概率是等可能的。也就是说任一元器件在容差的上下限范围内以相等的概率出现。实际上这种分布是很少的,但因为简单,所以默认分布都是FLAT。


  2. 高斯分布(GAUSS):也叫正态分布,正态曲线两头低,中间高,左右对称,因其曲线呈钟形,因此也称之为钟形曲线。在多数情况下,用正态分布足以近似实际的概率分布,所以在容差分布中最常用的就是GAUSS。


  3. 双峰分布(BSIMG):指分布具有两个相当相等的高点,在正负容差边界处出现的概率最大。


  4. 斜峰分布(SKEW):也称为偏态分布,表示在正负容差两个方向出现的概率不相等。


而对于二极管、三极管等有源器件,可以在选定元器件后,点击右键的快捷菜单,选择“Edit PSpice Model”进行参数设置。以图12.1中的三极管3905为例,模型文件如图12.4所示。


图12.4 有源器件的分布参数设置


在图12.4中,Postol和Negtol两列中设置了相应元器件的正负容差后,Distribution(分布参数)一栏随即自动加载系统默认的参数类型,在下拉菜单中选择需要的分布参数类型。


有些有源器件没有图12.4所示的参数化模型,用户也可在PSpice模型编辑器中对模型参数输入对应分布和容差值,具体如下:


BF=200 dev/gauss=10%

表示容差为10%,容差分布为高斯分布。


02

调出蒙特卡洛工具窗口


容差参数和分布参数均设置好后,调用PSpice A/D的交流扫描分析,并得到放大器的电压增益和带宽两个特征函数的数值。如图12.5所示。可以看出标称值下,带宽207MHz,增益5.53dB,均能满足指标要求。


图12.5 射频放大器的增益和带宽的计算结果


在Capture界面下,选择执行PSpice → Advanced Analysis → Monte Carlo,即调用蒙特卡洛工具。屏幕显示转为蒙特卡洛工具窗口,如图12.6所示。根据图中红色箭头所示,添加电路特性函数至电路特性函数统计结果数据区(Statistical Information)。


图12.6 蒙特卡洛工具窗口


03

运行参数设置


在蒙特卡洛工具的窗口下,执行Edit → Profile Setting,设置与蒙特卡洛分析相关的参数。如图12.7所示。


图12.7 蒙特卡洛分析参数设置


  • Number of Runs:用于设置整个蒙特卡洛分析工程包括的模拟分析次数;要注意的是,如果模拟分析次数太少,分析结果将不能反映实际大生产情况,所以建议选用的模拟次数不要少于400次。


  • Starting Run Number:默认情况下,本项参数设置为1,即蒙特卡洛分析时第一次采用标称值模拟分析,然后按照随机数序列完成整个蒙特卡洛分析过程。在完成一次蒙特卡洛全过程分析后,用户可以根据实际情况,改变本项参数设置,确定从某一次运行设置重新开始分析。


  • Random Seed Value:本项设置的数值用于指定蒙特卡洛分析中产生随机数时的 “种子数”。随机数序列取决于产生随机数时采用的“种子数”。即使元器件的标称值和容差保持不变,采用不同的种子数将会产生不同系列的随机数。


  • Number of Bins:蒙特卡洛分析结束后,采用直方图显示电路特性参数统计分布情况时,将全部数据分成若干个区间进行统计处理。本项参数设置用于确定采用的区间数。系统默认值是10。


04

显示有直方图的蒙特卡洛分析结果


运行参数设置好后,选择执行Run → Start Monte Carlo命令,或是直接点击工具栏中运行图标,完成蒙特卡洛分析后,窗口中将通过曲线和数据表格显示分析结果。如图12.8所示。


图12.8 蒙特卡洛分析的仿真结果


在统计结果数据区中包含13列,其中很多列和之前优化分析的界面相同,这里就不赘述。其中:


  • Yield列:显示预测生产的成品率。是指Cursor Min和Cursor Max设置的上下限范围内数据总个数与原始数据个数的比值 (%)。将增益范围放在4.5dB至6.5dB之间,带宽最小值放在200MHz,可以看出目前增益的成品率为94%,带宽为81%。


  • Mean列:给出该行电路特性函数所有原始数据的平均值。


  • Std Dev列:给出该行电路特性函数所有蒙特卡洛分析原始数据的标准偏差值。


  • 3 Sigma列:给出该行电路特性函数所有原始数据中,数值在均值加减3倍标准偏差值范围内的数据个数与原始数据个数之比。


  • 6 Sigma列:给出该行电路特性函数所有原始数据中,数值在均值加减6倍标准偏差值范围内的数据个数与原始数据个数之比。


  • Median列:给出该行电路特性函数所有分析数据中中位数的原始数据,比如运行次数是11次,那么中位数就是第6次的数据,如果运行次数是100次,那么就是第50次和51次数据的平均数。


蒙特卡洛分析结束后,可以采用4种方式显示分析结果,包括:蒙特卡洛分析过程中每次模拟分析结果数据、对所有数据的统计处理结果,以及采用分布概率密度函数(PDF)和累积分布函数(CDF)两种形式显示表示电路特性统计分布曲线。


3

蒙特卡洛的结果分析


01

原始数据表


在图12.8所示的窗口中下半部分是分析结果数据显示区,用户可以查阅原始数据。点击数据显示区中“Raw Meas”的标签栏,出现电路特性函数原始数据的排序结果。如图12.9所示。一共有100次模拟分析的结果原始数据。


图12.9 电路特性函数原始数据显示结果


双击图12.9的其中一行的第一列单元格,该行数据就将从小到大排列,如图12.10(a)所示,看出增益最小值出现在第83次模拟分析;若再次双击该行第一列单元格,则该行电路特性函数数据显示从大到小的排列方式,如图12.10(b)所示,增益最大值出现在第78次模拟分析。


(a)按照增益数据从小到大顺序排列


(b)按照增益数据从大到小顺序排列

图12.10 蒙特卡洛分析结果原始数据的排列


根据排序的分析结果,可以通过更改图12.7中的“Starting run number”参数设置,确定从某一次运行设置开始重新分析,提高分析效率,无需从头开始分析。


如果用户希望进一步利用这些原始数据,还可以直接点击某一行使用快捷键菜单中的copy,或是直接按住Ctrl+c键,将处于选中状态的那一行数据全部复制到剪切板中,然后在其它应用程序(比如word或excel)中执行“粘贴”(Paste)即可使用这些数据。


原始数据表中显示的是分析结果数据,如果执行View→Log File→Monte Carlo命令,屏幕上将以文本格式显示出蒙特卡洛分析过程中每一次模拟仿真采用的元器件参数值。图12.11给出第2次模拟采用的各元器件值,以及电路增益和带宽的函数值。


图12.11 第2次采用的元器件参数值


02

概率密度函数(PDF)图


概率密度函数(Probability Density Function,缩写成PDF)图实际上是直方图。X轴是电路特性值,分成几个区间。Y轴可以表示电路特性数据值在每个区间内的数据个数,也可以每个区间内数据个数与原始数据总数之比。


1

改变纵坐标:

按默认设置,纵坐标是蒙特卡洛分析后原始数据中数值在每个区间内的数据个数。在直方图显示区,按右键选择执行MC Yaxis(Absolute/Percent),纵坐标将以百分比显示每个区间内的数据个数与原始数据个数总数的比值。


图12.12 PDF图纵坐标的设置


2

改变X轴上的数据区间划分个数:

前面介绍的分析参数设置中有提到,执行Edit → Profile Setting,得到图12.7,在对话框的Number of Bins文本框中可以设置数据区间划分个数,该项设置的数值越大,显示越详细。


3

调整Max和Min的位置:

PDF图中分别带有Max和Min字符的两条竖线标尺,代表该电路特性的规范要求范围。在这两条标尺范围内PDF图形曲线面积是满足要求的电路特性值所占的比例,即成品率。


调整竖线位置可以先单击某一条标尺,比如Max,选中后Max标尺显示红色,然后在新的位置上单击左键,处于选中的标尺将移至新的位置。随即统计分析表中的 “Cursor Max”和“Yield”两栏的数值也随之更新。


4

转换显示累计分布函数(CDF)曲线:

在图12.12的右键快捷菜单中选择MC Graph(PDF/CDF),就将屏幕上的PDF图转换成CDF曲线。


03

累计分布函数 (CDF)曲线


累计分布函数(Cumulative Distribution Function,缩写成CDF)从数学角度说,CDF是对概率密度函数PDF的积分。蒙特卡洛分析结束后显示的CDF曲线横坐标是电路特性值,纵坐标表示小于等于电路特性某个数据值的累计数据个数或者是与原始数据总数之比。


图12.13 累积分布函数曲线


纵坐标是表示累计数据个数还是占总数的比值,也是通过右键快捷菜单进行切换。图12.8和图12.13分别是以PDF和CDF两种方式显示同一批数据。如果需要显示带宽的数据结果,可以在统计信息表格中点击带宽函数的那一行即可。


04

利用分析结果改进电路


从图12.3和图12.8可以看出成品率并没有达到设计要求。兼顾成本和成品率,利用第十期的灵敏度分析工具,分析影响增益和带宽的关键器件。如图12.14所示,可以看出R1、R5、R6、R8属于共同的关键器件。


图12.14 寻找关键器件


将这四个器件投射到电路图中,双击它们,打开器件属性窗口,将这四个器件的容差修改为1%,如图12.15所示。其他非关键器件仍保持原来的容差。


图12.15 修改关键器件的容差


修改完成后关闭器件属性窗口,重新运行仿真,得到蒙特卡洛的分析结果,如图12.16所示,可以看出增益和带宽的成品率均达到100%。这意味着我们所有的目标都能满足大批量生产的需求。当然实际中用户还可以增加样本个数,以确保更精准的评估。


图12.16 重新运行后的结果


从上述实例可以看出,借助灵敏度工具和蒙特卡洛工具,我们可以轻松兼顾设计成本,同时提高大批量生产的成品率。当然在这过程中如果器件在标称值下指标还没满足要求,就可以利用优化工具进行改进,具体方法见第十一期。下一期我们将关注产品的可靠性,因为我们肯定不希望产品因为过热问题被召回。