新闻  |   论坛  |   博客  |   在线研讨会
Saber DC分析
huzhiwei0609 | 2011-09-06 20:32:48    阅读:9915   发布文章

第三章  查找、调试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:如果设为0Transcript将报告分析的整个执行时间;如果设为-1Transcript将报告执行概要和时间;如果设为正数,Transcript将报告电路系统的总体信息、运算法则、CPU时间等。

▲    Debug:对Saber计算的每个可能方案进行统计,该特点通常用于当Saber用默认设置不能找到工作点或者要知道设计在工作点上是否收敛。图31为工作点分析的面板。

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处指定的初始点文件,包含系统中每个节点的电压和电流。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31 工作点分析面板

Ø    评估工作点

因为一些设计可包含多个正确的工作点,所以应该评估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算法的一部分,Saberdc_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_JACOBIANMAST_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 1algstep n algstart dyn_rdebug 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分析。 看图32的例子:

 

 

 

 

 

 

 

 

 

                                     32

  该电路有一个不稳定和两个稳定的工作点,两个稳定的工作点是:

●    节点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

 

 

      因为节点C1C2对每个稳定的工作点应是不同的值,所以很明显,DC分析的结果不是一个稳定的工作点,在DC分析中用节点保持变量,可以阻止此情况,例如,要发现C1是高电平,C2是低电平的工作点,用下面方法:

dc(hold c1 5 , relhold y)

di dc

该命令运行DC分析两次,用第一次运行的初始点文件,作为第二次运行的输入,在第一次运行时,C1置于5V,第二次,C1允许查找自己的本身电位,结果如表中B部分,结果显示C1C2处的DC值是所期望的,现在可以进行设计过程中的下一步。

Ø    简单电路对DC分析的不利影响

下面列出简单电路结构对DC分析的不利影响,会难以找到工作点:

●    单节点只连接到电容器和电源:在这种结构中,所有电容器视为开路,所以节点处在DC分析过程中可能浮空,在该点设置一个初始条件,可以避免这样的问题。

●    回路仅包含电感和电压源:这种结构在DC分析中视为短路,对回路电流设置一个初始状态,可以避免这种问题。

●    电流源驱动电容器:因为电容器视为开路,获得工作点会很困难(电容器上电压没有定义),对电流源作非理想的措施(给电流流向)可以有帮助。

●    电压源驱动电感:由于电感视为短路,获得工作点会很困难。

●    两个电感在级数上有初始电流状态冲突。

●    两个电容在平面上有初始电压状态冲突。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
最近文章
protel 常用元件封装
2011-09-06 20:34:08
Saber DC分析
2011-09-06 20:32:48
Saber 时域分析
2011-09-06 20:31:46
推荐文章
最近访客