"); //-->
第三章 查找、调试DC工作点
在运行模拟器、验证网表正确调入后,下一步应找到电路的工作点。查找工作点的步骤如下:
1、执行DC分析
2、评估工作点
3、制定下一步
如果Saber找到所期望的工作点,那么就可以继续进行设计分析的过程,如果没有找到,需要调整设计或DC分析的自变量,并重新运行DC分析。
工作点是一组数值,这些数值定义了在time=0,并且将所有随时间变化的参数以及它们的衍生物设置为0,噪声源和ac源设置为0时,非线性系统的稳定状态。由于所有衍生物设置为0,所以所有随时间变化的元件可以从电路中有效移走(如:电容器视为开路,电感视为短路,所有与时间有关的源有效移走)。在电气电路中,该分析制定了设计的DC偏置值。用DC分析,让Saber计算工作点,存储结果到初始点文件中。
初始点文件有两个作用:
● 它包含了用于其它分析的工作点,Saber用工作点作为时域分析的首个数据点。对小信号频率分析,Saber在工作点周围应用小正弦信号。
● 提供快速检查,以查出可能不正确的部件参数。虽然大多数电路图工具有电气规则检查来验证设计的连接性,但是这些工具不能查出来指定的元件参数,如:如果100kΩ的电阻器上忘记“k”,或者与DC电源连接反向了,设计将会通过检查,但是逻辑是不正确的。
Ø 执行DC分析
1、打开DC分析对话框(Analyses>Operating Point>DC Analysis)
2、验证DC分析面板的内容
大多数情况下,Saber用默认设置就可以制定工作点。通常,用默认设置运行DC分析,然后估算结果初始点,决定是否需要修改设计或DC分析处。
3、设置送入到Transcript中的信息
Saber提供下列两处来控制在DC分析过程中,Transcript的反馈信息:
▲ Monitor:如果设为0,Transcript将报告分析的整个执行时间;如果设为-1,Transcript将报告执行概要和时间;如果设为正数,Transcript将报告电路系统的总体信息、运算法则、CPU时间等。
▲ Debug:对Saber计算的每个可能方案进行统计,该特点通常用于当Saber用默认设置不能找到工作点或者要知道设计在工作点上是否收敛。图3-1为工作点分析的面板。
4、设置DC初始点和结束点文件名称,这些地方包含电路开始状态和DC分析结果的文件
▲ Starting Initial Point File:包含在DC分析开始时,所有设计变量的初始值。默认文件名(zero),设置所有连续时间变量(模拟)为0,如果在数字管脚上,事件驱动(数字)或者不定义或者为一个初始值。
▲ Ending Initial Point File:包含在DC分析完成处的节点值,用该文件作为其它Saber分析的初始点文件,如时域(瞬态)和小信号频域(ac)。默认情况下,Saber为该文件命名dc。如果要完成几个重复DC分析,用前一个结束点文件作为下一个运行的初始点文件。该技术减少分析执行时间和增加收敛比率,因为Saber在每个重复上,不得不使所有设计变量为0。下表显示为多个DC分析重复的命名方法:
DC重复分析 |
DCIP |
DCEP |
一 |
Zero |
Dc1 |
二 |
Dc1 |
Dc2 |
三 |
Dc2 |
Dc |
5、验证DC分析面板中的其它设置
大多数情况下,Saber用默认设置会找到DC工作点。
6、执行DC分析
点击Apply按钮,执行DC分析。成功的DC分析会创建一个End Point File处指定的初始点文件,包含系统中每个节点的电压和电流。
图3-1 工作点分析面板
Ø 评估工作点
因为一些设计可包含多个正确的工作点,所以应该评估DC分析的结果,评估工作点,步骤如下:
1、显示工作点报告对话框
在SaberGuide用户界面内,选择Results>Operation Point Report下拉菜单,可以显示在一个工作点报告中的DC分析结果。
2、验证该面板中的内容
通常情况下,该框中默认设置是可以评估工作点
▲ 指定要显示的初始点文件
如果要显示不同的或多个初始点文件,作以比较,可以在Input File Form处指定要显示的初始点文件。
▲ 指定要显示的信号
通过添加节点到Signal List处,可以指定其它节点,在同一信号列表中要加入多个信号,用空格隔开。
●Current Block:当前电路块中的所有信号
●All Toplevel Signals:顶层电路中的所有信号
●All Signals:所哟信号
●Get Selected Signals:从电路中选取的信号
●Append Selected Signals:追加从电路中选取的信号
▲ 显示错误评估信息
当在Display Initial Point Error处指定时,Saber为每个显示的信号写出一个错误评估,除了初始节点值外。错误计算是DC算法的一部分,Saber从dc_err文件中选取信息,不能显示dc_err文件本身。错误值仅对系统变量(如:节点电压)有效,对评估没有用。
3、显示报告
点击Apply按钮执行该框,默认情况下,Saber显示大多数最近计算的工作点文件的值到Report Tool中,当值显示时,可以评估初始点,以决定是否它是有效的。
Ø 制定下一步
如果DC分析结果如所期望,那么可以继续其它设计过程:
● 校正DC分析
● 分析初始点是怎样随独立源的变化而变化的
● 验证时域规范
● 用AC分析验证小信号频域规范
如果DC分析结果不是所期望的,从信息中查找原因,可以作如下操作:
● 如果未指定参数导致不正确的DC工作点,用Edit>List/Alter菜单,在网表中改变参数,重新运行DC分析
● 如果是连接性问题导致不正确的DC工作点,必须在电路图中修改问题,重新网表化电路图,将设计重新调入到Saber中,然后重新运行DC分析
● 如果Saber用默认值没有找到工作点,用下节描述的方法调整DC分析自变量
● 如果Saber找到一个不是所期望的工作点,用后面提到的方法调整DC分析自变量
Ø 难找到DC工作点时的调整方法
如果Saber用默认值没有得到一个解决方案,可以用下列过程找到工作点:
1、如果得到一个错误的信息,表达一个奇特的矩阵(如:ALG_SINGULAR_JACOBIAN,MAST_NO_NUM EQUATION或者MAST_NO_NUM_REFERENCE),很可能是电路中有错误,用所提供的错误信息,解决问题,重新运行DC分析。
2、验证dcerr文件是否在本目录中创建,不要混淆一个成功的DC分析所创建的dcerr文件和dc_err文件。
3、验证dcerr文件是否包含合理的结果,用Display命令可以显示工作点(di dcerr)。如果dcerr文件不包含合理的结果,看第四步,否则用调试模式和把dcerr文件作为分析的输入来重新运行DC分析。
Dc(debug yes,dcip dcerr
如果DC分析仍然不能找到一个解决方案,检查transcript中的输出,看是否设计是收敛的。
4、检查信号是否在解决方案中解决,如果没有,增加DR_Tsettle和重复动态蔓延收敛,例如:dc(dr_tsettle 1,algstep n algstart dyn_r,debug yes
如果信号仍然没有解决,重复该步,dc_tsettle会是一个较大的值。如果在达到dr_tsettle后,收敛振动,失败,用dcerr文件中的值作为初始点。
5、用一个系数3增加密度,减少截断错误到5m,重新运行动态蔓延收敛,例如:
dc(den 3 , dr_terr 5m , dr_tsettle 1, algstep n , algstart dyn_r , debug yes
Ø Saber找到错误的工作点时
对有多个稳定工作点的系统,如锁存器、触发器、计数器,未偏置的DC分析在多个工作点间或许会“感到困扰”。另一方面,依靠设计,DC分析找到一个工作点或许没问题,但是找到的工作点未必是想要的。对于这些情况,可以用DC分析的Holdnodes,在特殊的工作点处给DC分析一个“推进”。在制定了让Saber找到解决方案后,重新运行DC分析。 看图3-2的例子:
图3-2
该电路有一个不稳定和两个稳定的工作点,两个稳定的工作点是:
● 节点C1是高电平,节点C2是低电平
● 节点C2是高电平,节点C1是低电平
如果运行DC分析,然后用Display命令看结果,如下:
dc
di dc
结果显示如表中A部分:
A |
B |
time 0 ---------------------- _n8 5 b1 0.8085 b2 0.8085 c1 1.186 c2 1.186 i(v_dc.vcc) -0.007628 q_3p.q1/bp 0.8085 q_3p.q1/cp 1.186 q_3p.q1/ep 0 q_3p.q1/s 1.186 q_3p.q2/bp 0.8085 q_3p.q2/cp 1.186 q_3p.q2/ep 0 q_3p.q2/s 1.186 0 0 |
time 0 ---------------------- _n8 5 b1 0.07351 b2 0.8186 c1 4.62 c2 0.07351 i(v_dc.vcc) -0.005307 q_3p.q1/bp 0.07351 q_3p.q1/cp 4.62 q_3p.q1/ep 0 q_3p.q1/s 4.62 q_3p.q2/bp 0.8186 q_3p.q2/cp 0.07351 q_3p.q2/ep 0 q_3p.q2/s 0.07351 0 0
|
因为节点C1、C2对每个稳定的工作点应是不同的值,所以很明显,DC分析的结果不是一个稳定的工作点,在DC分析中用节点保持变量,可以阻止此情况,例如,要发现C1是高电平,C2是低电平的工作点,用下面方法:
dc(hold c1 5 , relhold y)
di dc
该命令运行DC分析两次,用第一次运行的初始点文件,作为第二次运行的输入,在第一次运行时,C1置于5V,第二次,C1允许查找自己的本身电位,结果如表中B部分,结果显示C1、C2处的DC值是所期望的,现在可以进行设计过程中的下一步。
Ø 简单电路对DC分析的不利影响
下面列出简单电路结构对DC分析的不利影响,会难以找到工作点:
● 单节点只连接到电容器和电源:在这种结构中,所有电容器视为开路,所以节点处在DC分析过程中可能浮空,在该点设置一个初始条件,可以避免这样的问题。
● 回路仅包含电感和电压源:这种结构在DC分析中视为短路,对回路电流设置一个初始状态,可以避免这种问题。
● 电流源驱动电容器:因为电容器视为开路,获得工作点会很困难(电容器上电压没有定义),对电流源作非理想的措施(给电流流向)可以有帮助。
● 电压源驱动电感:由于电感视为短路,获得工作点会很困难。
● 两个电感在级数上有初始电流状态冲突。
● 两个电容在平面上有初始电压状态冲突。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。