版主
威望 点
金钱 Home币
贡献值 点
好评度 点
|
老伙计,请登录,欢迎回家
您需要 登录 才可以下载或查看,没有帐号?注册
x
9-5 优化设计过程的启动和结果显示分析
按9-3节和9-4节介绍的方法完成与优化有关的设置后,即可正式启动优化过程。本节介绍启动优化设计过程的基本方法,同时介绍如何在优化过程结束后以多种方式显示、分析优化结果。
9-5-1 电路设计的优化
完成待调整元器件参数和优化指标的设置后,即可按下述两步进行电路优化设计。
1. 电路功能和特性的检验
如9-1-1节所述,电路优化设计的前提是待优化的电路设计应该已基本满足功能和特性要求,并且选择比较合适的初值(Initial Value)。在开始优化设计时,首先选择执行图9-9所示Tune子命令菜单中的Update Performance子命令,可以起到对电路设计和初值选定合适性的检验作用。选择执行该子命令后,系统将分别采用元器件参数的初值(Initial Value)和当前值(Current Value),计算每个优化指标,并在图9-2所示窗口中每个指标信息显示框的初值和当前值栏显示出计算结果,每个优化指标信息显示框中的优化进程指示器同时指出与要求的优化目标值之间的接近程度。
2. 优化过程的启动
在图9-9所示Tune子命令菜单中选择Auto子命令,并从其下拉式子菜单中选择执行Start,即启动电路优化设计的进程。
程序内部的工作过程是:从每个待调整的元器件参数初值出发,分别计算每个优化指标对每个元器件参数的导数(变化率),根据优化指标的要求,确定每个元器件参数调整的方向,再调用电路模拟程序通过模拟迭代,选定元器件参数的调整幅度,得到元器件参数的当前值,使优化指标得到改善。然后再从元器件参数的当前值出发,重复上述迭代过程,直到出现下述3种情况之一,结束优化过程。
(1) 顺利完成优化过程,各项优化指标均满足优化目标值要求。
顺利结束优化以后,在图9-2所示优化窗口中,每个元器件参数调整信息显示框内当前值部分列出了这些元器件参数的最终优化设计值。每个指标信息显示框内当前值部分列出了这些优化指标的最终优化结果。同时还列出了整个优化过程中进行迭代的次数以及调用PSpice的总次数。对图9-13二极管电路,优化结束后窗口显示如图9-20所示。
图9-20 二极管电路优化结果
图9-21 优化过程信息提示
由图可见,电阻R的最优设计值应为4.131K,这时流过二极管的电流为1.00163mA,满足优化指标目标值1mA 5uA的要求。优化过程共进行了3次迭代,调用了6次PSpice模拟程序。显然,如果采用第四章介绍的参数扫描分析方法计算这个问题,需要调用PSpice的次数将大大超过6次。
(2) 优化指标未能达到优化目标值要求,优化进程已无法使优化指标向优化目标值方面取得新的进展,表明无法实现优化目标,优化失败。
(3) 人为中断优化过程。在优化迭代过程中,系统内部调用PSpice进行模拟时,屏幕上同时显示出图9-21所示信息提示框。若用户按图中Cancel按钮,将中断当前正在进行的模拟过程。优化过程也随之中止。
9-5-2 优化结果显示和处理
完成优化设计任务后,除可以从图9-20所示窗口中看到优化结果外,还可以从以下6方面显示和处理优化最终结果。
1. 优化结果报告
优化结束后,选择执行图9-7所示File菜单中的Report子命令,系统即自动生成一个以.OOT为扩展名的优化结果报告文件,文件主名为当前项目设计名称。同时系统采用内定的文本编辑程序,将文件内容显示在屏幕上。优化结果报告文件包括以下几部分内容。
(1) 当前优化设计设置文件(.OPT)名及其路径名。
(2) 元器件参数值:包括利用图9-16和9-17设置的各项数值,以及优化设计的最终结果。
(3) 优化指标值:包括利用图9-18和图9-19设置的各项数值,以及优化结果值。
(4) 采用的任选项参数设置值(见图9-11和图9-12)。
(5) 每项优化指标对每个元器件参数的导数值。
(6) 拉格朗日乘子值。
2. 优化过程中间结果记录文件
优化结束后,系统将自动生成一个以.OLG为扩展名的文件,文件主名为当前的电路设计项目名。文件中记录了每次迭代的中间计算结果。如果电路优化未能达到目标值要求,通过分析这些中间计算结果,对查找优化失败的原因会有所启发。采用一般的文本编辑软件,如Windows中的计事本,可以查阅.OLG文件内容。
3. 导数计算结果的显示
如9-5-1所述,进行优化时,要计算每一个优化指标对每个元器件参数的变化率(导数),用于确定元器件参数的调整变化方向。每迭代一次均要在元器件当前值处计算这些导数。优化结束后,从图9-9所示Tune命令菜单中选择执行Show Derivatives,屏幕上将以矩阵形式列出优化中最后一次迭代中的导数计算值。
刚开始启动优化程序时,尚未开始迭代计算,无导数计算结果可查阅。Show Derivatives子命令为灰色显示。如果用户希望了解在元器件参数取初值时的导数值,可从图9-9所示Tune命令菜单中,选择执行Update Derivatives子命令。系统计算导数后,图9-2所示优化窗口的标题栏中同时显示出[Derivs. Avail]信息,表示已有导数计算值供查阅,用户可选择执行Tune/Show Derivatives子命令,查阅计算结果。
对9-6节将介绍的几种分析情况,均可以执行上述两条子命令,计算并显示当前状态下的导数结果。
4. 元器件参数优化结果的处理
对于常规元器件(如电阻、电容),优化结束后得到的元器件参数最佳值是根据优化指标要求的优化设计结果,不一定与该类元器件参数系列标称值相一致。PSpice Optimizer提供了两种方法,对优化结果进行标称值处理。
(1) 选定与优化结果最接近的标称值。优化结束后,在图9-8所示Edit命令菜单中选择执行Round Nearest子命令,系统即根据图9-16中Tolerance参数设置确定的容差,从对应的元器件系列标称值中选定与优化结果最接近的元器件值。对图9-13二极管电路,优化后的电阻R1Val最佳值应为4.131K,选择执行Round Nearest子命令后,得到最接近的标称值为3.9K。
(2) 按最近一次优化结果选定最接近的标称值。与上述(1)的区别在于现在不是根据最终优化结果而且按照优化结束前一次的迭代结果选定最接近的标称值。选择执行图9-8所示Edie命令菜单中Round Calculated子命令,即可实现这一要求。对图9-13二极管电路,优化结束后执行本条子命令得到的标称值也是3.9K。
说明:只有按上述方法得到的标称值未超出图9-16中设置的元器件参数上、下限范围,系统才会用该标称值替换元器件参数值优化结果,出现在元器件参数调整信息显示框(见图9-5)的“当前值”位置。同时,系统按该标称值重新计算各优化指标的当前值。为了说明这时的优化指标当前值不是最佳优化结果,而是一种近似估算值,在每个指标信息显示框(见图9-3)的右上角将出现字母e(estimate)作为标记。
5. 优化结果的存放
要将优化结果存入文件,应选择执行图9-7所示File命令菜单中的Save子命令,优化参数的设置值及全部优化结果将自动存入以.OPT为扩展名的文件。文件主名为当前电路设计项目名。
若选择执行图9-7中的Save As子命令,则结果存入用户给定的文件名。
6. 在电路设计图中标注元器件参数优化结果
优化结束后,选择执行图9-8所示Edit命令菜单中Update Schematic子命令,电路图中OPTPARA符号(见图9-14)的当前值(Current)即显示出元器件参数的优化结果。如果已按上述“4”中介绍的方法对元器件参数优化结果进行了标称值处理,则OPTPARA符号中显示的是标称值的处理结果。
9-6 优化中间过程结果分析
上节介绍了分析、处理优化结果的几个问题。本节介绍如何对优化中间过程作进一步分析的几种方法。
9-6-1 优化进程的波形显示
通过下述设置步骤,可以在优化过程中利用Probe窗口显示每一次迭代的模拟分析结果。9-7-2节将给出应用实例。
1. 确定待监测的信号波形
(1) 完成电路项目设计后,在Capture的PSpice命令菜单(见图9-1)中选择执行Run子命令,对电路进行模拟分析。
(2) 模拟分析后,按第五章介绍的方法,选择执行Trace/Add Trace子命令,显示以后在优化过程中需要监测的有关信号波形(见图5-15),并根据需要调整坐标轴。
(3) 在Probe窗口中,选择执行Windows子命令菜单(见图5-12)中的Display Control子命令,按5-6-1节介绍的方法,赋给窗口中显示的波形一个名称,存入Probe文件。该信号波形名即为优化过程中要监测的信号波形。
2. 与优化过程中显示该信号波形有关的设置
在启动PSpice Optimizer以后,在图9-10所示Options子命令菜单中选择执行Defaults子命令,从屏幕上出现的基本任选项参数设置框(见图9-11)中,在Display一栏键入前面确定的信号波形名称,并在该栏下方选中与该信号波形对应的分析类型。最后按图9-11中OK按钮,完成设置。
这样,在以后过程中,每进行一次迭代,Probe窗口中将显示出与上述信号名对应的波形,用户可以直观看到优化指标向最终优化目标值的逼近情况。
9-6-2 改变当前值对优化结果的影响
PSpice Optimizer提供了3种方法,供用户从不同角度分析、观察元器件参数和优化指标的变化对优化结果的影响。下面先介绍其中的一种,即改变当前值对优化结果的影响。
1. 当前值变化对优化结果影响的两种分析模式
用户可以从下面介绍的两种模式中选用一种,快速观察元器件参数或优化指标在当前值基础上发生微小变化时,对优化结果的影响。
(1) 自动计算模式(Automatic Recalculation)。在这种模式下只能改变一个元器件参数或一个优化指标参数的当前值。但在改变该当前值后可以立即观察到优化结果的变化。
(2) 手动启动模式(Manual Recalculation)。在这种模式下,可以改变多个元器件参数或多个优化指标的当前值。但改变当前值设置后,需要启动重新计算过程才能得到优化结果的变化。
2. 自动计算模式的分析步骤
图9-22 Recalculate设置框
(1) 设置自动计算模式。
(a)从图9-10所示Options子命令菜单中,选择执行Recalculate子命令,屏幕上出现图9-22所示Recalculate设置框。
(b)在图9-22的When一栏选中Auto。
(c)按图9-22中OK按钮,完成自动计算模式的设置。
(2) 计算当前值状态下的导数。在图9-9所示Tune子命令菜单中,选择执行Update Derivatives子命令,计算在系统当前值状态下的导数。在计算当前值微小变化对优化结果的影响时,将要使用计算的导数结果。
(3) 改变优化项目的当前值。在图9-2所示优化窗口中,根据需要,采用文本编辑方法,修改某一个元器件参数或某一个优化指标的当前值。
(4) 观察分析结果。在上述步骤(3)中,按回车键完成该参数当前值的改变后,优化窗口立即显示出其他参数的重新计算结果。如果改变的是一个元器件参数的当前值,则在显示的优化指标计算结果右上方出现字母e(estimate),表示这是根据当前导数值,计算元器件参数微小变化的影响,不是优化结果。
3. 手动启动模式的分析步骤
(1) 在图9-22的When一栏选中Manual,再按图中OK按钮,完成手动计算模式的设置。
(2) 在图9-9所示Tune子命令菜单中,选择执行Update Derivatives子命令,计算在系统当前值状态下的导数。
(3) 在图9-2所示优化窗口中,根据需要,采用文本编辑方式改变一个或多个元器件参数当前值,或者改变一个或多个优化指标的当前值。注意,不能同时改变元器件参数和优化指标的当前值。
(4) 启动重新计算过程
(a)在图9-10所示Options子命令菜单中,选择执行Recalculate子命令,屏幕上出现图9-22所示Recalculate设置框。
(b)如果修改的是元器件参数当前值,在图9-22中按“Results”按钮,图9-2所示优化窗口中将显示出各个优化指标当前值的重新计算结果,并在其右上方显示出字母e(estimate),表示这是估算值,而不是最终优化结果。
(c)如果修改的是优化指标当前值,在图9-22中按“Parameters”按钮,优化窗口中将显示出系统根据新的优化指标当前值计算的元器件参数当前值结果。
9-6-3 剔除优化项目对优化结果的影响
9-6-2节介绍了当前值微小变化对优化结果的影响。用户还可以分析优化过程中减少优化项目要求,包括减少元器件参数和/或优化指标,对优化结果的影响。
1. 优化项目选中状态的修改
如9-2-2节所述,优化窗口中,每个优化指标信息显示框(见图9-3)和每个元器件参数调整信息显示框(见图9-5)的左上角都有一个选中状态设置框。一般情况下,该状态框中有选中标志“√”,表示在优化过程中要考虑这些优化项目的要求。采用下述两种方法均可以使该选中状态标志消失,然后再按9-5节介绍的方法重新启动优化过程,系统将在不考虑没有选中标志的这些优化项目要求的情况下,完成优化计算。
(1) 在图9-2所示优化窗口中,用鼠标点击选中状态设置框,可使该优化项目在“选中”和“脱离选中”之间变化。
(2) 在图9-2所示优化窗口中,用鼠标连击图9-3或图9-5信息显示框右下角位置,屏幕上将出现图9-19或9-17所示参数设置框,只要使其中的Enabled一项处于未被选中状态,然后按图中OK按钮,即可使相应优化项目脱离选中状态。
2. 说明
(1) 无论每个优化项目是否处于选中状态,优化窗口中最多只允许有8个元器件参数和8个优化指标。且优化指标中至少要有一个是目标函数。
(2) 对于未处于选中状态的优化项目,只是在启动优化过程时不考虑该项的优化要求。在选择执行图9-9所示Tune子命令菜单中的Update Performance或Update Derivative子命令时,仍然考虑这些优化项目。在以矩阵形式显示导数计算结果时(见9-5-2节),也包括这些优化项目。
9-6-4 增添或修改优化项目后的优化分析
即使在进行了一轮优化设计后,也可按下述步骤,新增或修改优化项目,分析对优化结果的影响。
(1) 从图9-8所示Edit子命令菜单中选择执行Reset子命令,优化窗口中各优化项目均恢复为优化前的设置状态。
(2) 按9-3节和9-4节介绍的方法,新增和/或修改优化项目设置。
(3) 按9-5节介绍的方法重新进行优化。
9-6-5 中间优化结果的保存
前面介绍了几种分析中间结果的方法,采用下述方法可以保存中间计算结果。
1. 保存中间计算值
在图9-8所示Edit子命令菜单中选择执行Store Value,每个优化项目均以其当前值(Current Value)作为新的初值(Initial Value)设置值。
2. 恢复原先设置
若在图9-8所示Edit子命令菜单中选择执行Reset Value子命令,每个优化项目的当前值均取为其初值,恢复优化前的设置状态。
9-7 优化设计实例
本节结合两个实例,具体说明如何调用PSpice Optimizer,解决电路优化设计和晶体管模型参数优化提取这两类优化问题。
9-7-1 有源滤波器的优化设计(例)
1. 优化设计要求
已知有源滤波器电路图如图9-23所示。要求的设计指标是:
(1) 中心频率(Fc)为10Hz 1%。
(2) 3dB带宽(BW)为1Hz 10%。
(3) 增益(Gain)为10 10%。
电路中的可调元件为3个电位器Rgain、Rfc和Rbw。对电位器,一个关键参数是其滑动触点的位置,称为SET,显然SET值的范围为0~1。对图9-23滤波器进行优化设计的目的就是确定这3个电位器的SET参数值,使上述设计指标得到满足。
图9-23 有源滤波器电路(例)
2. 设计项目的建立和电路图绘制
根据设计要求,新建设计项目、绘制电路图、设置分析要求等操作均可按第二章介绍的方法进行。其中需要注意的问题有下面2点。
(1) 在图形符号库中电位器的符号名称为pot,是电位器英文名称Potentiometer的缩写。该元器件参数设置中有一项参数名称为SET,用于指定电位器滑动触点的位置,这也正是优化设计中有待调整的元器件参数。因此3个电位器参数设置中的SET参数未给出具体数值,而分别设置为aGain、aBW和aFc。
(2) 滤波器优化设计是交流小信号分析,因此分析类型设置为(见图3-18):
Analysis type: AC Sweep/Noise
AC Sweep Type: Logarithmic
Start: 1
End: 100
Points/Decade: 100
3. 待调整元器件参数的设置
为了进行优化设计,绘制好电路图后,应按9-3节介绍的方法,在电路图中放置OPTPARAM符号,并设置待优化的元器件参数。对图9-23所示滤波器电路,待优化调整的3个参数为aGain、aBW和aFc,均为电位器的SET参数,因此可采用相同的设置,如图9-24所示。
图9-24 滤波器电路中待调整参数的设置
4. 优化指标的设置
设置好待调整的元器件参数以后,就可以调用PSpice Optimizer,并首先在图9-2所示优化窗口中按9-4节介绍的方法设置优化指标。按设计要求,滤波器电路要满足的优化指标有3个,即增益Gain、中心频率Fc和带宽BW。现均作为目标参数,即图9-23滤波器电路优化设计中无约束条件。由6-4节的介绍可知,PSpice中提供的特征值函数包括有这3个函数,他们与图9-23中输出电压信号V(out)的关系为:
Gain: max(v(out))
Fc: CenterFreq(vdb(out),1)
BW: Bandwidth(vdb(out),3)
图9-25 优化指标Gain的设置
因此,应根据优化设计要求和上述特征值函数定义设置这3个优化指标,表9-1中列出了主要参数设置值。图9-25具体给出了优化指标Gain的设置。另两个优化指标的设置情况与其类似。
表9-1 3项优化指标的主要设置
设置项目 增益 中心频率 3db带宽
Name Gain Fc BW
Reference Internal
Target 10 10 1
Range 1 0.1 0.1
Analysis AC
4. 启动优化进程
完成上述设置后,即可按9-5-1节介绍的方法,在图9-2所示优化窗口中。选择Tune主命令,并在其下拉式菜单(见图9-9)中选择执行Auto子命令,并进而从其下一层次菜单中选择执行Start,系统即自动开始优化过程。优化结束后,优化窗口中给出最终优化结果,如图9-26所示。由图可见,系统共进行了3次迭代,调用了9次电路模拟程序。由图9-26显示的结果可见,如果3个待调整的元器件参数分别取为优化设计值:
aGain=0.476062
aFc=0.457928
aBW=0.702911
可以使3个设计指标达到:
Gain=10.3499
Fc=9.98953
BW=1.00777
图9-26 滤波器电路优化结果
均满足设计要求。在优化过程中,用户可以按9-6节介绍的方法分析中间结果。完成优化设计后,用户也可以按9-5-2节介绍的方法,从不同角度显示和分析优化结果。
9-7-2 晶体管模型参数的优化提取(例)
PSpice Optimizer优化模块的第二大功能是针对给定的模型,由一组晶体管端特性数据,采用拟合的方法,优化提取出模型参数。其优化过程与前面介绍的电路优化设计不完全相同。为了充分发挥模块的这个功能,要求用户对晶体管模型和模型参数有比较全面而深入的了解。
1. 模型参数的优化提取策略。
优化提取模型参数采用的是最小二乘算法。设晶体管模型中共有M个模型参数{aj},j=1,…M。则晶体管模型可表示为
Y(X)=Y(X;a1,…aM)
式中Y为晶体管的端特性,如双极晶体管的集电极电流Ic,基极电流Ib等。X为晶体管的输入变量,如双极晶体管的发射极和基极之间的电压Vbe,集电极和发射极之间的电压Vce等。
对给定的N个测试点数据{Xj,Yj},j=1,…,N。优化提取模型参数的过程就是通过优化迭代,调整模型参数{aj},使下列最小二乘表达式为最小:
[Yi-Y(Xi ;a1,…am)]2
2. 双极晶体管模型参数优化提取(例)
已知某双极晶体管在Vce=10V条件下,使Vbe从0.4V开始,按步长0.01V等间距变至0.82V,在每一个Vbe下,测得Ic和Ib数值。要求从这组数据中提取出双极晶体管的下述6个直流模型参数。
(1) 输运饱和电流Is。
(2) 正向电流放大系数的大电流下降点电流Ikf。
(3) 理想最大反向电流放大系数Br。
(4) 理想最大正向电流放大系数Bf。
(5) B-E结泄漏饱和电流Ise。
(6) B-E结泄漏发射系数Ne。
3. 数据文件(.MDP)
设存放晶体管特性数据的文件名为3055.MDP。该文件内容如下所示,代表了PSpice Optimizer对外部数据文件的格式要求。
Vbe Ic Ib
4.000E-01 6.047E-06 2.655E-06
4.100E-01 8.900E-06 3.253E-06
4.200E-01 1.310E-05 3.989E-06
4.300E-01 1.928E-05 4.897E-06
.
.
.
8.100E-01 8.002E+00 1.922E-01
8.200E-01 9.092E+00 2.371E-01
由上可见,该文件中包括有3列数据,并且在第一行给出了这3列数据的名称:Vbe、Ic和Ib。从第二行开始,每一行分别列出3个具体数据。
用于优化提取模型参数的晶体管特性数据可以是实际测量数据,也可以采用晶体管生产厂家提供的数据,甚至可以是PSpice模拟结果数据。实际上,为了方便起见,上述3055.MDP文件中的数据就是调用PSpice程序,在2N3055晶体管c、e间施加Vce=10V电压,对Vbe进行DC扫描得到的模拟计算结果(因此文件主名为3055)。
4. 与模型参数提取对应的优化问题
图9-27 双极晶体管模型参数提取电路图
用于提取上述晶体管模型参数的电路图如图9-27所示。从优化设计角度考虑,模型参数优化提取相当于是按下述考虑,对图9-27所示电路进行优化设计。其中晶体管Qx的6个直流模型参数(Is、Ikf、Br、Bf、Ise和Ne)为待调整的参数,Ic和Ib为优化目标参数,通过调整上述6个模型参数,在对Vbe进行DC扫描分析时,要求计算得到的Ic和Ib数据尽量与3055.MDP文件中的Ic和Ib值相一致(设允许最大偏差为5%)。
为了便于比较,图9-27中同时有一个2N3055晶体管,所加偏置情况与Qx相同。
根据上述分析,新建设计项目、绘制电路图、设置分析类型和参数等工作均可按第二章介绍的方法完成,下面说明需要注意的三个问题。
(1) 优化过程中涉及的是对Vbe进行DC扫描,分析类型设置如图9-28所示。即对Vbe进行DC扫描,从0.4V开始,取步长为0.01V,按线性变化,直到0.82V。
图9-28 晶体管参数优化提取中的DC分析参数(例)
(2) 由于Q1的模型参数待定,因此应采用元器件符号库中的QbreakN图形符号,并将其模型名设置为Qx。
(3) 为了表示Qx模型中的Is等6个模型参数是待调整的参数,在其模型参数描述中,这6个模型参数的赋值情况应该采用下述格式表示:
模型参数名={待调整参数名}
大括号中的待调整参数名即为优化时在电路图中用OPTPARAM符号定义的参数名。为了方便起见,该名称一般取为与模型参数名称相同。例如,对正向电流放大系数设置为:
Bf={Bf}
模型参数中,除待调整的参数外,其他模型参数均应赋给确定数值。这些值在优化过程中保持不变。
5. 待调整元器件参数设置
为了进行优化,绘制好电路图后,应按9-3节介绍的方法在电路图中放置OPTPARAM符号,并设置待优化的元器件参数,即6个模型参数(见图9-27)。表9-2是这6个参数的设置值。
表9-2 待调整的6个模型参数设置
Is Ikf Br Bf Ise Ne
Initial Value 1E-13 5 5 50 1E-10 1.5
Current Value 1E-13 5 5 50 1E-10 1.5
Lower Limit 1E-14 1 1 20 1E-11 1.2
Upper Limit 1E-11 10 10 200 1E-8 2
Tolerance 0
由于这6个参数并不是通常的元器件参数,不存在系列标称值问题,因此他们的Toleramce均设置为0。关于初值、上下限等设置值需结合实际情况设置,要求有一定的实际经验。
6. 优化指标的设置
图9-29 目标参数Ib的设置
在优化过程中需要设置的另一类参数是9-4节介绍的优化指标。对本节介绍的晶体管模型参数优化提取实例,端特性Ic和Ib为优化指标。均作为目标参数,无约束条件。其设置过程与9-4节介绍的相同。但由于Ic和Ib优化目标值是一组数据,且由外部文件提供,因此其设置方法与常规电路优化设计中的优化指标设置不完全相同,下面结合Ib的设置,说明在目标参数设置中需要注意的几个问题。
图9-29是Ib的优化指标编辑框。与图9-25所示滤波器电路中优化指标Gain的设置相比,主要有3点不同。
(1) 由于优化目标值由外部文件提供,因此,Reference一项应选中External。
(2) 由于选中了External,就需要设置External一栏中的4项参数。
(a) File:设置提供优化目标值的外部文件名称。现为3055.MDP。
(b) X Column Value:如前面介绍的3055.MDP文件内容结构可见,端特性数据中包括了作为自变量的Vbe数据和作为结果数据的Ic、Ib值。图9-29中X Column Value一栏用于指定数据文件中作为自变量的那一列数据标题名。对图9-27实例,该项设置为Vbe。
(c) Y Column Value:本项应指定外部文件中与图中目标参数名(现为Ib)对应的那一列优化目标值数据的标题名。对图9-27实例,该项设置为Ib。
(d) Tolerance:设置优化中目标参数优化结果与目标值相比,允许的容差范围。
(3) Evaluate:如9-4-2节所述,本项用于指定在优化过程中如何定量计算优化指标。对于晶体管模型参数优化提取问题,优化指标(如Ib)包括有一组分目标。因此本项设置有下述两个特点。
(a) 对目标参数Ib而言,需要计算不同Vbe下晶体管Q1的基极电流,因此特征值函数采用YatX(<信号波形名>,<X值>)。其中<信号波形名>应取为Ib(Q1),<X值>应对应不同的Vbe值。
(b) 由于外部文件3055.MDP中包括了DC扫描分析中的一系列Vbe值,为了表示这种情况下要计算的是一系列Vbe值下的Ib(Q1),PSpice优化模块中规定用惊叹号!作为<X值>的设置值,在优化过程中,将根据图9-29中X Column Name一项的设置值Vbe,依次取外部文件中标题为Vbe的那一列,即作为自变量的第一列中的每一个Vbe值,从Ib(Q1)信号波形中得到与每一个Vbe值对应的Ib,再分别与外部文件3055.MDP中标题为Ib的那一列中每个Ib目标值相比,确定优化是否满足规定的容差要求。
基于上述考虑,图9-29中Evaluate一栏设置为yatx(ib(q1),!)。在优化过程中,每进行一次迭代,系统就要根据3055.MDP文件中Vbe那一列的数据0.4,0.41,0.42,…,8.1,8.2,依次计算yatx(ib(q1),0.4),yatx(ib(q1),0.41),…,yatx(ib(q1),8.2)。
对优化指标Ic,其设置情况与上类似,只要改变图9-29中的下面几项设置即可:
Name一项设置为Ic。
Y Column一项设置为Ic
Evaluate一项设置为YatX(Ic(Q1),!)。
7. 优化过程中的波形显示
如9-6-1节所述,在优化过程中,可以利用Probe窗口,显示每一次迭代的结果。对晶体管模型参数优化提取这类优化问题,采用这一技术,可以观察每次迭代后的结果与优化目标值之间的差距。下面结合图9-27实例,介绍在优化过程中自动显示每一次迭代结果的具体步骤。
(1) 确定待监测的信号波形。
(a) 完成图9-27所示电路图绘制后,在Capture的PSpice子命令菜单(见图9-1)中选择执行Run子命令,对图9-27电路进行模拟分析。
(b) 模拟分析后,在PSpice A/D窗口中,按第五章介绍的方法,选择执行Trace/Add Trace子命令,显示Ic(Q1)和Ic(Q2)波形。Ic(Q2)代表了优化目标值。Ic(Q1)与Ic(Q2)的区别反映了优化的进展情况。为了便于比较,再选择执行Plot/Axis Setting子命令,将Y轴刻度改为对数坐标。
(c)选择执行Plot/Add Plot子命令,新增一个波形显示区,用于显示Ib(Q1)和Ib(Q2),并将其Y轴改为对数坐标。
(d) 为了定量显示Ib、Ic优化结果与优化目标值的差别,选择执行Plot/Add Plot子命令,新增一个波形显示区,并通过选择执行Trace/Add Trace子命令,显示100*(Ic(Q1)/Ic(Q2)-1)和100*(Ib(Q1)/Ib(Q2)-1),即显示Ic和Ib的优化结果与优化目标值相比的百分相对误差。
经上述几步操作后,屏幕上Probe窗口的显示情况如图9-30所示,对应于待优化的6个模型参数取图9-27中设置的初值(Initial Value)时的分析结果。由图可见,Ic、Ib的相对误差最大的超过100%,显然不满足要求。
图9-30 模型参数取其初值时的模拟结果
(e) 按5-6-1节介绍的方法,在Probe窗口中,选择Windows主命令,并从其下拉式子命令菜单中选择执行Display Control子命令,屏幕上即弹出如 图5-35所示设置框。在New Name中键入代表屏幕显示内容的名称(例如,取名为IcIbOpt),再按Save按钮,则将图9-30所示屏幕显示内容以IcIbOpt名称存入当前.PRB文件中。该屏幕显示内容名即作为优化过程中待监测的屏幕显示内容。
(2) 设置优化过程中待监测的屏幕显示内容。
在PSpice Optimizer窗口(见图9-2)中,选择执行图9-10所示Options子命令菜单中Default子命令,并在屏幕上弹出的基本任选项参数设置框(见图9-11)中,将Display项设置为前面定义的屏幕显示内容名IcIbOpt,并在该项下方选定相应的分析类型DC,最后按图9-11中OK按钮,完成设置。
(3)在优化过程中监测Ib、Ic信号波形。
完成上述设置后,按9-5-1节介绍的方法正式启动优化过程,则在每一次迭代后,屏幕上即刷新一次图9-30所示Probe窗口中3个波形显示窗口的波形,用户可观察优化过程的进展情况。
8. 双极晶体管模型参数优化提取过程的启动
按上面介绍的方法完成优化项目的设置后,优化窗口如图9-31所示。
图9-31 晶体管模型参数优化提取的起始窗口
图9-31与图9-2所示优化窗口结构基本相同,下面作两点说明。
(1) Ikf、Bf、Ne、Is、Ise和Br这6个参数信息显示框给出了图9-27中设置的各个参数初值和当前值。如图9-27所示,Is和Ise的设置值分别为1.0*E-13和1.0*E-10。但在优化窗口中显示这些数值时采用的是固定格式13位,其中小数点部分6位,指数部分(连字母e在内)5位。由于所用屏幕分辨率的限制,只能显示11位,因此这些数字的指数部分在图中未能全部显示出来。
(2) 对一般电路优化问题,优化窗口中优化指标信息显示框给出了每个优化指标初值和当前值(见图9-26例)。但是对模型参数优化提取问题,如前所述,Ic和Ib均有43个测试数据作为优化目标值,即目标参数Ic和Ib均有43个分目标。因此图9-31中Ic和Ib的初值和当前值部分显示为0/43,表示该优化目标共有43个分目标,当前尚无一个分目标得到满足。
在图9-31中选择执行Tune主命令下的Auto子命令(见图9-9),并从其下拉式子菜单中选择执行Auto,系统即正式开始优化过程。
9. 双极晶体管模型参数优化提取结果显示
按上述步骤,完成图9-27所示双极晶体管模型参数优化提取后,可以按9-5-2节方法,从不同角度显示优化提取结果。
(1) 模型参数优化提取结果:如前所述,外部文件3055.MDP中的数据是调用PSpice程序对2N3055晶体管模拟计算得到的。从道理上讲,优化提取得到的模型参数就应该等于2N3055晶体管的模型参数。表9-3同时给出了6个模型参数的初值、优化提取结果以及2N3055晶体管中这6个模型参数值。由表可见,仅管初值并不很接近最终优化结果,但优化结果与2N3055晶体管的模型参数值还是符合得较好,只是实际作用不很大的反向电流放大系数Br的优化提取结果不够好。
表9-3 2N3055晶体管模型参数优化提取结果比较
模型参数 初值 优化提取结果 2N3055的模型参数值
Is 1.0e-13 9.744e-13 9.744e-13
Ikf 5 4.071 4.029
Br 5 5 2.949
Bf 50 98.456 99.49
Ise 1.0e-10 9.920e-10 9.025e-10
Ne 1.5 1.960 1.941
图9-32 Ic和Ib优化结果显示
(2) 目标参数优化结果:优化结束后,优化窗口中目标参数优化结果显示框如图9-32所示。Ic和Ib的当前值均为43/43,表示43个分优化目标全部满足。
(3) 优化结果的曲线表示:如果在优化前已经按前面“7.优化过程中的波形显示”介绍的方法,显示观察优化过程的进展情况,最后一次迭代后的显示如图9-33所示。由图可见,由提取出的模型参数计算的晶体管43个Ic、Ib数据与2N3055晶体管的Ic、Ib数据符合得很好。Ic之间的相对误差小于0.1%,Ib之间的最大误差也不到2%。
图9-33 Ic和Ib优化结果比较
9-8 PSpice Optimizer程序的引导方式和相关文件
前面几节介绍了调用PSpice Optimizer程序的基本步骤,即在OrCAD/Capture电路图设计环境下,建立设计项目、绘制电路图、并用OPTPARAM符号设置待优化的元器件参数,然后在Capture中选择执行PSpice/Run Optimizer子命令,即调用PSpice Optimizer程序。与优化有关的参数设置存放在.OPT文件中。本节介绍调用PSpice Optimizer程序的其他几种方法。本节还将介绍与优化程序运行有关的文件类型。
9-8-1调用PSpice Optimizer的其他方法
如果已经存在有.OPT文件,除了前面介绍的在OrCAD/Capture环境下调用PSpice Optimizer的方法外,还可采用下面几种方法调用该优化程序。
1. 在Windows下直接调用
在OrCAD软件包中,PSpice Optimizer是一个应用程序,因此可以按通常Windows应用程序的调用方法,直接在Windows的开始(Start)菜单中,从“程序”一项下选择OrCAD Release 9路径下的PSpice Optimizer,即可启动该优化程序,屏幕上出现图9-34所示的优化窗口。如果用户已在Windows桌面上设置了代表PSpice Optimizer的图标,连击该图标也可启动该优化程序。
图9-34 PSpice Optimizer空白窗口
在图9-34中选择执行File主命令下拉式菜单(见图9-7)中的Open子命令,即可调入一个已有的.OPT文件,按前几节介绍的方法进行优化设计,包括重新进行或修改优化指标的设置。
如果在Optimizer窗口中已经进行一项优化设计,选择执行File子命令菜单(见图9-7)中的New子命令,即结束当前的电路优化设计,并清除优化窗口中的内容。这时再选择执行File菜单中的Open子命令,也可调入一个已有的.OPT文件,开始另一项优化设计任务。
2. 命令行调用格式之一
如果用户希望在启动Optimizer时同时调入一个.OPT优化设置文件,可在Windows下采用下述命令行调用格式:
OPTIMIZE <.OPT文件名>
3. 命令行调用格式之二
配合PSpice程序的调用和运行,OrCAD软件包中提供有PSPICE.INI初始化文件。如果用户根据其特殊需要,准备采用另一种初始化文件,可采用下述命令行调用格式:
OPTIMIZE –I <.INI文件名>
当然,也可以将上述两种情况合在一起,即采用下述格式,可在启动Optimizer程序的同时,自动采用用户指定的初始化文件,并调入指定的.OPT文件,进行优化设计。
OPTIMIZE <.OPT文件名> -I <.INI文件名>
采用命令行调用方式指定.OPT文件名或/和.INI文件名时,需同时给出路径名,一般比较麻烦,使用不方便。
9-8-2 与OPTIMIZE运行有关的文件
由前面几节可见,在优化过程中,除了要涉及到与电路图绘制有关的.OPJ、.DSN、.NET、.ALS文件(见第二章),与电路模拟分析有关的.SIM、CIR文件(见第三章、第四章),与模拟结果输出有关的.DAT、.OUT、.PRB文件(见第五章、第六章)以外,还要产生下列几种文件。
1. 优化参数设置文件(.OPT)
优化过程中选择执行File子命令菜单中的Save子命令(见图9-7),与待优化的元器件参数以及优化目标参数有关的设置(见9-3节、9-4节)和任选项参数设置(见9-2-4节、9-2-5节)均存放在以.OPT为扩展名的文件中。
2. 外部数据文件(.MDP)
如9-7-2节所述,对晶体管模型参数优化提取这类优化问题,优化参数目标值数据由外部文件提供。该文件的扩展名可由用户设置,但应主要不得与系统中已采用的扩展名相同。建议用.MDP作为外部文件的扩展名。
3. 中间数据文件
优化过程实际上是进行一系列的模拟迭代,并从每次迭代结果中计算优化目标参数。每次迭代前后的模拟结果分别自动存放在OPT_0.DAT和OPT_1.DAT文件中。如果还要监测优化过程中的波形显示,系统还将自动产生OPT_0.PRB和OPT_1.PRB两个文件,分别记录每次迭代前后的波形显示情况。
4. 优化过程中间结果记录文件(.OLG)
这是优化过程中自动生成的ASCII码文件,记录每次迭代的中间结果,有助于分析优化中出现的各种问题(见9-5-2节)。
5. 优化结果报告文件(.OOT)
优化结束后,选择执行File子命令菜单(见图9-7)中Report子命令,系统即生成以.OOT为扩展名的ASCII码文件,记录优化的各项最终结果(见9-5-2节)。
6. 元器件参数优化结果文件(.PAR)
在优化过程中,系统自动产生一个以.PAR为扩展名的ASCII码文件,记录每次迭代后的元器件参数当前值。优化结束后,该文件中记录的即为元器件参数的最终优化结果。 |
|