admin 管理员组

文章数量: 887021


2024年1月24日发(作者:python爬虫模块)

Saber 软件简介

Saber软件主要用于外围电路的仿真模拟,包括SaberSketch和SaberDesigner两部分。SaberSketch用于绘制电路图,而SaberDesigner用于对电路仿真模拟,模拟结果可在SaberScope和DesignProbe中查看。Saber的特点归纳有以下几条:

1. 集成度高:从调用画图程序到仿真模拟,可以在一个环境中完成,不用四处切换工作环境。

2. 完整的图形查看功能:Saber提供了SaberScope和DesignProbe来查看仿真结果,而SaberScope功能更加强大。

3. 各种完整的高级仿真:可进行偏置点分析、DC分析、AC分析、瞬态分析、温度分析、参数分析、傅立叶分析、蒙特卡诺分析、噪声分析、应力分析、失真分析等。

4. 模块化和层次化:可将一部分电路块创建成一个符号表示,用于层次设计,并可对子电路和整体电路仿真模拟。

5. 模拟行为模型:对电路在实际应用中的可能遇到的情况,如温度变化及各部件参数漂移等,进行仿真模拟。

- 1 -

第一章 用SaberSketch画电路图

在SaberSketch的画图工具中包括了模拟电路、数字电路、机械等模拟技术库,也可以大致分成原有库和自定义库。要调用库,在Parts Gallery中,通过对库的描述、符号名称、MAST模板名称等,进行搜索。

画完电路图后,在SaberSketch界面可以直接调用SaberGuide对电路进行模拟,SaberGuide的所有功能在SaberSketch中都可以直接调用。

¾ 启动SaberSketch

SaberSketch包含电路图和符号编辑器,在电路图编辑器中,可以创建电路图。如果要把电路图作为一个更大系统的一部分,可以用SaberSketch将该电路图用一个符号表示,作为一个块电路使用。启动SaberSketch:

▲UNIX:在UNIX窗口中键入 Sketch

▲Windows NT:在SaberDesigner程序组中双击SaberSketch图标

下面是SaberSketch的用户界面及主要部分名称,见图1-1:

退出SaberSketch用 File>Exit。

¾ 打开电路图编辑窗口

在启动SaberSketch后,要打开电路图编辑窗口,操作如下:

▲要创建一个新的设计,选择File>New>Design,或者点击快捷图标,会打开一个空白窗口。

▲要打开一个已有的设计,选择File>Open>Design,或者点击快捷图标,在Open Design

对话框中选择要打开的设计。

图1-1 SaberSketch的用户界面

- 2 -

¾ 选择和放置电路元件

打开电路图编辑窗口后,就可以放置元件符号了。在Saber中,每个元件符号的功能是用基本的层次电路图或者MAST模板来描述的,所以在最底层电路中的元件必须与MAST模板链接才能够被Saber模拟。

在电路图中放置的符号成为元件符号,元件符号是原始符号的复制品,它可以被修改,原始符号给元件符号提供了默认值,例如:当在电路图中放置一个电阻符号时,修改rnom属性,指定新的电阻值,而原始符号的rnom的默认值没有改变。要改变元件符号,除了直接修改元件符号外,还可以通过修改原始符号,原始符号改变,元件符号将随之改变。例如:如果改变了原始符号的图形或者默认属性,SaberSketch在保存了所编辑的符号后,将对已打开的电路图中的相关元件符号全部更新,不管何时打开电路图,SaberSketch都会检查和更新相关元件符号。

查找元件

▲如果要查找具体的产品元件,用Parts Gallery中的参数查询向导可以达到此目的,选择Schematic>Get Part>Parametric Search,或者选择右键快捷菜单中的Get

Part>Parametric Search,将出现Parametric Search Wizard框,如图1-2所示,选择产品元件所属类型,然后点击Next,在General Information、Maximum Rating、Performance Specifications三个标签中,进行相关设置,然后点击Finish,就可以列出符合要求的产品。

图1-2 参数查询向导

▲在Parts Gallery中查找元件的一种方法是,打开Parts Gallery框(Tools>Parts Library,或者Schematic>Get Part>Parts Library,或者右键快捷菜单Get Part>Parts Gallery,或者用工具栏中的图标),如图1-3所示,用Available Categories列表中的导航树,一层层往下查找。双击每层的名称,就可以显示该层的子层,在Available Parts处会显示出该子层中所包含的元件,并显示出该元件的图形,点击Place按钮或双击该元件名称就可以将元件放入电路图中(元件会放在电路图中央)。该框下端显示出元件的相关信息。

- 3 -

图1-3 Parts Gallery 框

▲用Parts Gallery查找元件的另一种方法是,用它的搜索功能,在Search String中键入字符串,对字符串的搜索设置可以选择Parts Gallery框中的Options>Preferences,出现Parts Gallery Preferences框,如图1-4所示,点击Search标签,进行相关设置。例如:普通的晶体管在库中,模板名是q_3p,符号名称是npn,元件名称是BJT。搜索到元件后,点击Place按钮或双击该元件名称即可放置元件。选择Parts Gallery中的Tools>View Template可以查看所选元件的MAST模板。

图1-4 Parts Gallery Preferences框

▲选择Schematic>Get Part>By Symbol Name,或者右键快捷菜单中的Get Part>By

Symbol Name,打开Get and Plate Symbol By Name对话框,如图1-5所示,在Symbol - 4 -

处键入符号名称,如果不知道符号的路径,可以点击Browse按钮,查找符号的位置,点击Place按钮即可将符号放置电路图中。

图1-5 Get and Place Symbol By Name对话框

移动元件符号,指定元件名称

将鼠标光标移到元件符号上,元件颜色会变成高亮度红色,点击并按住左键,移动鼠标至指定位置,松开左键,元件就会放到新的位置。

当放置元件时,SaberSketch将自动给元件设置一个唯一的标注(ref),可以在后面的属性修改中对此进行修改。

增加电源和模拟激励源

大多数设计需要电源和模拟激励源才能实现其功能,下面对各部分简述:

▲电源:在设计中可以用全局网络标号(如Vcc或Vdd)连接电源和各个部件,但必须要将一个电源和全局网络标号连接起来,否则在模拟中,全局网络标号将浮空。

▲地:在电路图中必须加入元件“Saber node 0”,如果不加入模拟地,模拟将出错。可以通过Parts Gallery搜索描述中含有ground的部件,进而发现Ground(Saber node 0)。

▲模拟激励源:这些部件(如:正弦电压源或者系统控制源)作为模拟中的激励源。

在设计中加入数字部件

在设计中加入数字部件进行混合模拟,按下面步骤进行:

1、在电路图中放置普通的数字元件

2、设置传输延时和惯性延时

在数字元件的tplh和tphl属性中,可以指定传输延时;在tilh和tihl属性中,可以指定惯性延时(通过门电路的最小脉冲)。默认情况下,这四个属性是未定义的。

3、制定使用Hypermodel的类型。

添加Hypermodel

在模拟器中,数字信号用离散状态(如0、1、Z、X)表示,模拟信号用连续曲线表示,如果设计中包含模拟和数字元件,Saber必须用Hypermodel将模拟信号和数字信号进行匹配。

▲使用默认的Hypermodel

默认的Hypermodel用5V CMOS技术理想Hypermodel,该模型只是为了方便模拟,提高模拟速度,得出模拟的近似结果。网表器会自动添加默认的Hypermodel。

▲使用理想的Hypermodel

理想Hypermodel在数字信号和模拟信号间提供近似的传输,它们不会考虑实际中器件的行为,这种模拟需要较少的时间。在初次设计,要对电路的性能有个大体的了解时,使用这些理想的Hypermodel是比较有用的。添加Hypermodel将在下面具体介绍。

- 5 -

▲使用指定技术的Hypermodel

与理想Hypermodel相比,这些Hypermodel模型化了其它的特性(如:电流级、输出电容、泄漏电流等),并且提高了理想Hypermodel的特性的精确度。因为这些Hypermodel模型化了大量的影响因素,所以所需的模拟时间较长,但结果是非常精确的。当设计已经具备了一定的基本结构后,要对设计进行微调,可以使用这些Hypermodel。使用这些Hypermodel的具体操作后面详述。

▲Hypermodel文件名和逻辑族

下列表格比较理想Hypermodel和指定技术Hypermodel使用的文件名的逻辑族:

逻辑族 理想Hypermodel文件名 指定技术Hypermodel文件名5V CMOS Ideal CD (cd_) RCA CD 5V ()

15V CMOS Ideal CD (cd_) RCA CD 15V ()

ECL MC1600 系列 Ideal ECL (ecl_) ECL ()

军用高速CMOS Ideal MHC (mhc_) Military HC ()

Ideal HC (hc_) Motorola HC ()

高速CMOS

Ideal HCT (hct_)

快速TTL Ideal Fast (f_) National Fast TTL ()

ASTTL/ALSTTL Ideal ALS (als_) TI ALS/AS ()

Standard/LS TTL Ideal LS (ls_) TI LS ()

注:所以提供的Hypermodel文件在Saber_home/template/hypermod目录,尾缀为 .shm

▲创建部分指定数量的Hypermodel

如果在Saber/Netlister Settings框中仅定义一个指定技术的Hypermodel文件,网表器将为在模拟和数字边界的指定族添加一个类属Hypermodel。如果想让一部分有象实际元件一样的特性,必须在元件的每个管脚处定义一个指定的Hypermodel。例如:用74LS04反相器对数字管脚定义一个Hypermodel,具体过程如下:

1、在Saber/Netlister Settings框中指定TI LS Hypermodel文件。

2、该Hypermodel文件位于template/hypermod目录,找到文件,在该文件中搜索文本“74LS04” ,结果显示如下:

74LS04:adadadg dadadap : : ti74ls_15

a表示输入(input),d表示输出(output),g表示地(ground),p表示电源(power),

ti74ls_15是模型地标称。

3、在数字元件的每个端口添加一个 SaberModelName属性。打开所有端口的属性编辑器,本例中表示如下:

Name Value

SaberModelName ti74ls_15

点击Apply按钮。

▲从Saber/Netlister Settings框中选择Hypermodel

1、打开Saber/Netlister Settings框(Edit>Saber/Netlister Settings)。

注意:在此之前必须用Design>Use指定该设计为最上层才行。

2、选择Netlister标签,然后是Hypermodels标签。

Available列表框中列出预定义的Hypermodel

3、指定Hypermodel

在Available框中点击要使用的Hypermodel,然后点击《》按钮,将该Hypermodel放入Selected列表框中,点击Apply按钮,然后是Save按钮,保存设置。

4、在Basic标签中指定参考电源和参考地。

5、点击Close按钮,关闭Saber/Netlister Settings框。

▲插入Hypermodel后,重新命名网络标号

- 6 -

如果在数字元件和模拟元件之间插入Hypermodel,会要求重新命名网络标号,在模拟元件一边的网络标号不变,在数字元件一边的网络标号改为netname_digital_part_inst_pinname,如图1-6所示:

图1-6 在数字和模拟元件间加入Hypermodel后的情况

如果网表器报告错误,检查网表器(netlister_)的脚本,解决错误。

不同类型间的衔接

如果设计中包含多种技术元件(如电气和机械),当连接不同技术模板时,需要考虑类型间的衔接,用接口模板来完成。

¾ 属性

属性是电路图中元件特性的信息标签。

修改属性

要修改元件属性,方法如下:

▲如果属性在电路图中可见,用鼠标左键点击属性,在电路图窗口中直接编辑属性。

▲如果属性值在电路图中不可见,或者要编辑更多的属性值,可以打开属性编辑器。将鼠标光标移至元件符号上面,双击符号,或者从右键快捷菜单中选择Properties,属性编辑器就会出现,如图1-7所示,通过修改Name和Value处的值就可以修改属性了。用编辑器中的Edit和Attributes菜单可以增加、删除、复制和改变属性。框中黑点表示该属性名称及值在电路图中不可见,半绿半黑表示该属性的值在电路图中可见,全绿表示该属性名称及值在电路图中都可见,蓝色的锁表示锁定该属性,不允许修改。

图1-7 属性编辑器

- 7 -

属性各要素

▲Name:属性名称,除了saber_model、ref、primitive属性外,已提供的模拟元件属性名称都直接与MAST模板对应。

▲Value:定义属性值。

▲Attribute:定义属性位置、颜色、字体、属性在电路图中是否可见等

▲Qualifiers:允许生成属性组,可以用于其它设计工具中。

在Value中的以*req*表示的,电阻器的阻值(rnom),电容器的电容(c),电感的电感值(l),晶体管的类型( NPN(_n)或者PNP(_p)),必须为这些值指定具体的值。

获取属性帮助

在属性编辑器的下拉菜单中,选择Help>Help on Part,或者选中属性,在属性编辑器左下角的Help处会显示该属性的含义。

要查阅元件的MAST模板,可以在属性编辑器中选择Help>View Template,或者在电路图中,鼠标移至元件符号处,从右键快捷菜单中选择View Template。

指定全局属性

用Saber符号(元件名称为“Saber Include File”)可以指定全局属性,元件的属性定义优先于Saber符号定义的属性,按下面的步骤可以添加全局属性到Saber符号中:

1、打开Parts Gallery对话框,查找到Saber符号并放置到电路图中

2、打开Saber符号的属性编辑器

3、要自定义全局属性,点击New Property,在Name和Value处填入

4、点击OK按钮完成修改

定义和传递参数

如果属性值是数字,先将属性值定义为一个标签,然后再定义标签的数值。如:电容器的属性值定义为c_val,这个标签就成为一个参数,这个参数的数值是由表示该电路块的符号的属性c_val的值来传递的;如果属性值不是数字,可以用标签、引用字串定义属性值,如用{fn}表示其数值,其数值由上级电路的属性fn的值来传递。

例子:

如图1-8,是一个有源滤波电路,在该电路中所有的元件的数值是用{fn}和c_val来

图1-8 有源滤波电路

定义的,注意c_val不需要{},因为c_val本身就表示电容的属性值。为电路创建一个 - 8 -

符号,添加两个属性fn和c_val,在高一级的电路中放置和修改fn和c_val的属性值,如图1-9所示:

图1-9 有源滤波电路的上层电路

¾ 布线

画线

1、开始布线

将鼠标移至元件管脚处,图标变成十字架,表示鼠标已在管脚处,点击左键即可开始画线。(其它方法:按W键,或者点击图标栏中的布线按钮,或者选择Schematic>Create>Wire,或者从右键快捷菜单中选择Create>Wire)

2、要改变布线方向,在指定位置点击左键,然后可以继续画下一段线。在未结束画线前,点击右键,可弹出快捷菜单,内容如下:

▲Flip Previous Vertex:对直角布线,翻转先前两个线段会使端点与原先成180度的方向

▲Delete Previous Vertex:删除先前的端点,也可用Backspace键

▲Any-Angle Segment将线段改成任意方向,不随网格走向。当下一个端点建立后,布线又恢复到直角布线。在布线时可以按住shift键,这样就可以进行任意方向的布线了(也可以选择Edit>Schematic Preferences中的Wire标签,在其中的Orientation处选择Any-Angle)

▲Done:将当前线段在点击右键处结束

▲Cancel:取消布线操作

3、要取消布线和删除所有线段,按Escape键或在布线快捷菜单中点击Cancel

4、结束布线

在要连接的端口或连线处点击左键,或在空余处双击左键,或点击右键快捷菜单中的Done

重新布线

在要编辑的线段上点击左键,要删除线段,按Delete键(或者从布线快捷菜单中,或电路图快捷菜单,或者Edit菜单中,选择Delete)。要移动连线端点,将光标移至该点,点击左键,移动鼠标,如果原先有连接,那么移动后将产生新的线段,但连接保 - 9 -

持不变。要移动连线或符号,将光标移至物体上,点击并按住左键,移动鼠标至指定位置,松开左键,原先的连接将保持。

给连线命名

画完连线后,可以给它命名,如果不命名,SaberSketch会生成一个名字(如_n183)。如果多个连线连到同一个点,只需命名一条连线,SaberSketch会将此命名应用到与其相连的其它连线。

在电路图中命名连线方法如下:

1、将光标移至连线上,高亮显示红色

2、点击右键,在快捷菜单中选择Attributes

该操作显示连线属性框,如果要全居改变电路图中的连线,可以通过编辑Schematic Preferences框中的Wire标签来实现(Edit>Schematic Preference),或者在连线属性框中的左下脚的Apply to 中选择All Wires。

3、修改连线名称,点击Apply按钮

连线名称应用字母和数字构成,连线名不能是Saber的命令或者MAST模板的保留字。

4、如果连线名在电路图中可见,可以直接修改它

连线的其它方法

除在电路图中画线外,还可用下列技术来连接元件。设计Schematic Preference框(Edit>Schematic Preference),使节点高亮显示,这样可以验证连线是否按要求连接。

▲使用连线名称:即使电路图中连线未连接,只要命名相同,SaberSketch就认为是相连的。

▲使用页间连接器:Same Page Connector (sconn)符号位于Parts Gallery的MAST Parts

Library>Schematic Only>Connector,通过页间连接器来定义连线名称,编辑其Name属性即可改变连线名称。

▲使用Bundle:bundle象一个有序线组,而不像总线,bundle仅是连线间的连接。Bundle为电路图中布置一系列的连线提供了便利的方法,不用画出众多的连线。在SaberSketch图标栏中选择bundle图标,如同画连线一样。要从bundle中添加或移走连线,仅连接或去除连到bundle上的连线即可。SaberSketch用附于bundle上的连线名来决定连线间的连接,连线名可以在电路图中直接编辑。要修改bundle的属性,高亮显示bundle,从右键快捷菜单中选择Attributes,或者双击bundle。

¾ 添加边界(Borders)

Borders允许改变电路图的外观和添加些重要信息,如题目、版本历史、图纸编号等,可以用Parts Gallery(MAST Parts Library>Schematic only>Borders)在电路图中添加Borders,使用Text Variables对话框(Schematic>Annotate Info)可将修改日期、文件名称、图纸号等信息自动更新并添加到电路图中。

¾ 将电路图块用一个符号表示

符号是模板或电路图的图形表示,符号的属性描述了它们所代表的模板或电路图的特性,将部分电路系统创建成符号,可用于层次电路系统中。符号的创建可以分为两种:

● 为已有的电路图创建符号

1、创建电路图,然后为电路图添加层间端口连接符号(MAST Parts Library/Schematic

Only/Connectors,如果连接符号连接电路中的数字信号,要使用层间输入、输出、双向连接符号;如果连接符号连接电路中的模拟信号,使用层间模拟连接符号)。

- 10 -

2、电路图及端口设置好后,开始创建符号(Schematic>Create>Hierarchical Symbol,或者在电路图右键快捷菜单中选择Create>Hierarchical Symbol),SaberSketch将打开符号编辑窗口,电路图中的端口会出现在符号编辑窗口中,符号名称与电路图名称,其尾缀为.ai_sym。

3、用画图工具为符号画图(Tools>Drawing Tool,或者点击工具栏中画图工具图标)。

4、为符号创建属性,以便每个参数能传递到电路图中。打开符号属性编辑器(Symbol>Properties,或者在电路图中右键快捷菜单中选择Properties),在Name和Value处填入属性名及值。

5、保存符号(File>Save),退出符号编辑器(File>Close>Active)

● 创建符号,将符号与电路或MAST模板连接

1、要创建新符号,选择File>New>Symbol;要打开已有的符号,选择File>Open>Symbol,打开Open Symbol对话框,选择符号。打开符号编辑窗口后,窗口中间显示的花十字图形为该符号的中心,现在可以编辑和修改符号了。

2、用画图工具(选择Tools>Drawing Tool,或者Symbol>Create>Graphics,或者点击工具栏中的画图工具图标)可以为符号创建图形和注释文本,添加的图形和文本只是符号的外观,对符号的功能和下级描述没有影响。

3、画完符号图形后,可以给符号添加端口,端口是与内部电路或者MAST模板的匹配连接点。用Symbole>Create,选择要放置的端口类型。

4、放置好端口后,将鼠标光标移至端口名称处,点击左键,键入新的端口名称。也可以用Port Attributes框来修改端口名称及其它属性(在端口上点击右键,选择Attributes),端口的名称不能用MAST模板的保留字或者Saber的命令及Saber中的自变量。如果下一级是电路图,端口名称要与电路图中电路层次连接符号的Name属性保持一致;如果下一级是MAST模板,端口名称要与MAST模板定义的连接点保持一致。

5、使符号与下一级连接,有三种情况:

▲ 使符号与电路图连接

SaberSketch默认符号名与电路图名保持一致,并且在同一目录中,如果不是这样,必须在AI_SCH_PATH环境变量中指定符号与电路图的路径名称。如果符号和电路图名称不按默认习惯定义,可以通过给符号添加Schematic属性来定义电路图名称,该属性指定内部电路图的名称。也可以添加Primitive属性,其值为空的。

▲ 为符号创建电路图

如果没有为符号准备好电路图,可以用Symbol>Create>Hierarchical Schematic打开SaberSketch电路图窗口,打开新窗口时,电路图以符号名命名,符号的端口转变成电路图的层次连接符号,用层次连接符号作为输入、输出创建新的电路图。

▲ 使符号与MAST模板连接

为了使符号与MAST模板连接,必须给符号添加Primitive属性,其值为MAST模板的名字。要给符号一个标示,必须给符号添加ref属性,value处空。模板默认属性是在符号中指定的,而不是在模板内,模板信息系统会自动将模板自变量与符号连接。

6、指定符号的属性:

▲ ref属性为下一级中每个元件定义了唯一的元件名,当在电路图中放置符号时,如果提供该属性,SaberSketch会自动分配一个唯一的名字给元件符号,当然用户可以自己修改

▲ 如果电路图中包含参数,可以定义用于内部电路的参数值,在符号上添加与参 - 11 -

数名一样的属性即可。如果不用该方法解决参数值的问题,必须在层次电路中的上一级用SaberInclude文件定义。

7、创建在线帮助

在属性编辑器中,选中某属性,选择Attributes>Help Message,填入自己的帮助描述。

8、保存符号(File>Save)

9、将符号添加到Parts Gallery中

在符号编辑窗口中创建的符号可以用Schematic>Get Part>By Symbol Name菜单放置到电路图中,也可以把符号放到Parts Gallery的数据库中。打开Parts Gallery,用Edit>New Part菜单,将符号放入Parts Gallery数据库中,符号是放入到.aimpart_user的用户数据库文件中的。

¾ 保存SaberSketch设计

通过下拉菜单File>Save保存电路图,SaberSketch以尾缀为.ai_sch来保存所有的电路图。如果要保存有多张图纸的电路图,SaberSketch将它们保存在一个电路中,不能单独保存一张图纸。如果保存的电路图是层次电路,SaberSketch只保存当前的电路图。

- 12 -

第二章 仿真模拟前序

在SaberSketch中画完电路图后,就可以对设计进行仿真了

¾ 指定顶级电路图

要用Saber对设计进行模拟,必须让SaberSketch知道设计中哪个电路图是最上层的,因为Saber在打开时只能有一个网表,所以在SaberSketch中只能指定一个顶级电路图。如果电路图不包含层次设计,SaberSketch会默认打开的电路图为顶级电路图,可以略过此步,否则,要用SaberSketch中Design>Use>Design_name来指定顶级电路图。

当指定顶级电路图后,SaberSketch在用户界面右下角显示设计名称,同时创建一个包含其它模拟信息和层次管理的文件(_dsn)。如果电路图是层次的,SaberSketch会增加一个Design Tool(选择Tools>Design Tool或者点击工具栏中的Design Tool图标),如图2-1所示,可以用Design Tool来打开、保存、关闭层次图中的电路图,也可以在各个层次间浏览。虽然只指定一个顶级图,但仍可以打开、浏览层次图以外的其它电路图。

图2-1 Design Tool

¾ 网表

由于Saber不能直接读取电路图,必须通过网表器产生的网表来进行模拟。产生的网表器是一个ASCII文件,包含元件名、连接点和所有非默认的元件参数。要进行模拟时,只要网表中的连接不同于设计中的,SaberSketch会自动对设计进行网表化。例如:如果增加或修改一条连线,下次分析时,SaberSketch会自动对设计进行网表化并重新调入到Saber中。如果改变连线的颜色,再去进行分析,Saber将使用原有的网表,因为设计的连接没有改变。如果改变属性,SaberSketch会自动发送一条Alter命令到Saber中,改变内存网表,因而减少了重新网表化的需要。

¾ 设定网表器和Saber实施选项

只有第一次运行分析时,Saber才会创建网表并运行,在SaberGuide中进行分析之前,应验证网表器和Saber实施选项。

1、在SaberGuide中验证网表器(Edit>Saber/Netlister Setting),网表器用下面的选项创建 - 13 -

网表,网表包含了电路的所有特性,如图2-2:

图2-2 网表器设置

● Hypermodels:使模拟信号与数字信号匹配,如果没有制定Hypermodel,网表器将使用默认的理想的Hypermodel,其表现特点类似于CMOS技术,输出的默认理想的Hypermodel的表现类似于理想的电压源,其参考电压定义于Netlister/Basic标签的Power net name和Ground net name。

● Map Files:使符号与它们相应的MAST模板匹配,MAST是能够被Saber模拟器读取的模型语言。已提供的模拟元件的Map Files能够自动调入网表器中,提供的Map Files必须位于saber_home/bin目录中,在Saber/Netlister Setting框中的Map Files中具体制定的匹配文件必须位于SABER_DATA_PATH环境变量制定的目录中。

2、设定Saber实施选项(Edit>SaberGuide Preferences),如图2-3所示。

图2-3 Saber实施选项

¾ 对设计进行模拟

在验证完网表器和Saber实施选项后,下一步将进行模拟,一般情况下,先要验证设计的功能。由于设计的电路是工作在理论条件下,所以要调节设计的参数,以减少设计成本和提高电路的可靠性。Saber软件包含了多种分析,在验证前选择合适的分析类型,分析前,SaberSketch会决定是否有必要重新生成网表,如果有必要,它将会重新生成网 - 14 -

表。如果没有制定顶级电路就进行分析,将会提示制定顶级电路图或者取消分析,除非所设计的电路图是单层的。

● 验证设计功能

对所设计的功能,可在时域和频域上进行验证,Saber提供了以下的分析方法:

▲ 要验证设计在时域上的规范,可用瞬态分析来看系统在时间上的响应。傅立叶分析(Fourier analysis)和快速傅立叶分析(FFT analysis)将时域上的波形转变成频谱。

▲ 要验证设计在频域上的规范,用交流分析(AC analysis)来决定系统小信号频率响应,iFFT分析将频域的波形转换成时域上的波形。

▲ 直流传输分析(DC Transfer analysis)来扫描独立源和计算每个操作点的扫描值。

● 调节设计参数

Saber用下列方法来调节设计参数,如设计中的元件数值及容限等:

▲ Vary:用Vary可以对设计或元件的一系列设定的参数进行描述,对每个参数都进行一系列的分析。

▲ Monte Carlo:用蒙特卡诺分析对设计或元件参数随机变化,进行各种分析,对模拟结果进行评估。

▲ Sensitivity:对不同设计或元件的参数的改变,性能测量的敏感度。

▲ Stress:在精确的DC、DC传输或瞬态分析中,分析元件是否会过应力。

● 检查Saber 脚本

点击SaberDesigner用户界面右上角的Saber Transcript图标(>cmd)来查看Saber运行的信息,Saber将信息存在与网表相同的目录,名称为的文件。

¾ 查看分析的波形

SaberSketch提供两种查看波形的方法,一种是用SaberScope波形分析器,另一种是用SaberSketch中的DesignProbes。下面将介绍怎样在信号列表中加入节点,怎样查看模板的内部信号,怎样使用SaberSketch中的DesignProbes:

● 具体制定SaberSketch中的节点或管角来创建波形

Saber用信号列表来决定哪个信号加入到画图文件中,可用SaberScope或DesignProbes来查看存于画图文件中的信号的波形。默认情况下,Saber为设计的根目录中的所有节点都会创建波形,可以手动添加或创建节点或管教到信号列表,也可以通过下面的方法:

1、 确定设计中有.ai_grm文件,如果没有,可以对设计进行网表化即可生成(Design>Netlist designname)。

2、 选择要分析的连线,然后选择所需的分析类型(如瞬态分析)。

3、 在Input/Output标签中,点击Select按钮创建或修改信号列表,从弹出的菜单中使用其中的一项:

▲ All Toplevel Signals:分析顶级设计中的所有信号

▲ All Signals:分析设计中所有的信号

▲ Get Selected Signals:分析已选的节点或管脚名称

▲ Append Selected Signals:在目前的信号列表中追加已选的信号

4、 在Include Signal Types处,选择下面其中一种:

▲ Across Variables Only:仅分析变量两端

▲ Through Variables Only:仅分析通过变量的数据

▲ All Variables:都分析

5、 验证分析框中的其它参数设置,点击OK按钮即可运行分析,分析完成后,可用SaberScope或DesignProbes查看节点或管脚的波形。

- 15 -

● 在连线或管脚上添加DesignProbes,查看波形

Probe是SaberSkech中仅有的有波形查看功能的图形窗口,可以在任意一点添加Probe,和SaberScope一样,SaberSketch中的Probe用信号管理器(Signal Manager)控制DesignProbes需要调用和查看的画图文件(Plot Files)。当运行分析时,会覆盖目前的画图文件,SaberSketch会在Probe中刷新波形,如果要保留波形,可以指定一个不同的画图文件名称。

1、在设计中添加Probe:

将鼠标光标移到连线或管脚处,点击右键,在快捷菜单中选择Probe。要为元件具体管脚添加Probe,将鼠标移到元件符号处,从右键快捷菜单中选Probe,会出现Select Port对话框,如图2-4所示,从中选择要添加的管脚。

图2-4 选择元件符号的管脚

2、在已有的Probe窗口中探测不同点的波形:

将Probe箭头指向连线或管脚即可查看相应的波形,只要相应的信号在画图文件中,就可指向该管脚或连线。(注:本人在用的过程中,如图2-4的情况,选择信号后,可能在Probe中显示不出来,只要把Probe的箭头移到其它地方,再移回来就可以了)

3、指定Probe要使用的画图文件:

用Probe的信号管理器指定要调用的画图文件(Probe>Probe Signal Manager),或者在Probe上的快捷菜单中选择Display Plotfiles,可以控制要调用的画图文件。

例:图2-5是在一个电路图中改变r6的参数时,两次波形的比较,操作方法如上所述,r6=10k时,选择的画图文件是tr,如图2-6中a所示;r6=20k时,选择的画图文件是tr1,如图2-6中b所示。

图2-5 在Probe中显示波形示例

- 16 -

图2-6 修改Plot File处可以在Probe中显示不同的波形

¾ 改变设计

当分析结束后,如果分析的结果不满足要求,可以改变相应的设计,再进行仿真模拟,知道结果符合要求。

● 在SaberSketch中改变属性值

当在设计中改变属性值时,Saber会发送一条Alter命令将内存网表修改成新值,该方法允许在SaberSketch中修改属性并模拟而不必重新网表化。

● 在Saber中改变属性值

用Edit>List/Alter菜单项可以查看元件名称、连接点和参数值等。该菜单显示List/Alter

Design框,该框允许改变的参数用于分析中,但是改变的属性不能传回到SaberSketch设计中。

▲ Netlist:如图2-7所示,面板中列出了设计中的元件及其相应的连接的节点和自变量,可以用Filter来约束Hierarchical Instance List中陈列出的元件。例如:如果在Filter处键入r.*,表格将只显示设计中的电阻元件。除列出元件外,也可以改变元件参数,选择元件,点击Edit按钮,该操作显示Alter Components对话框,在Value处键入新的参数值,点击Apply或OK按钮使改变生效。

图2-7 Netlist面板内容

- 17 -

▲ Parameters:如图2-8所示,通过该面板也可以改变设计参数,在Parameter栏中指定参数名称,在Value栏中指定数值。例如:要将设计温度改为34℃,可以在Parameter栏中查找或键入temp,在Value栏中键入34,点击Ok或Apply按钮使改变生效。

图2-8 Parameters面板内容

▲ History:如图2-9所示,在该面板那,允许重新应用已改变的的参数,调用和保存改变命令(Alter)到命令文件(.scs)。从历史列表中整理和删除先前执行的改变命令。

图2-9 History面板内容

● 保留SaberSketch设计中的DC分析数值

在执行完DC分析后,可以用Design>Back-annotation>Place Values下拉菜单保留设计中的每个节点的DC分析数值,当执行该菜单项时,默认情况下,Saber读取命名为dc的初始点文件,然后将DC数值放入名为back的保留注释文件中,SaberSketch将 - 18 -

DC数值放入连线左下端以文字表示。如果从dc外的初始点文件查阅DC数值,显示Back Annotation框(Results>Back Annotation),键入初始点文件名称,将Place on

Schematic处设为yes,点击OK按钮就可以了。若DC数值改变(如重新进行DC分析或者编辑初始点文件),SaberSketch不会更新设计中的DC值,必须按上面的步骤重新放置。

¾ 退出Saber

完成设计后,可以选择File>Close>Active下拉菜单项关闭设计,在退出前,如果在Save Before Closing对话框中设置为yes,Saber将把模拟的状况保存到文件中,这样可以使下次模拟继续使用这次的结果。所有发给Saber的命令及Transcript 窗口中的报告信息都将保存在文件中。

- 19 -

第三章 查找、调试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分析重复的命名方法:

- 20 -

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:追加从电路中选取的信号

▲ 显示错误评估信息

- 21 -

当在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,在特殊的 - 22 -

工作点处给DC分析一个“推进”。在制定了让Saber找到解决方案后,重新运行DC分析。看图3-2的例子:

图3-2

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

● 节点C1是高电平,节点C2是低电平

● 节点C2是高电平,节点C1是低电平

如果运行DC分析,然后用Display命令看结果,如下:

dc

di dc

结果显示如表中A部分:

A B

time 0 time 0

---------------------- ----------------------

_n8 5 _n8 5

b1 0.8085 b1 0.07351

b2 0.8085 b2 0.8186

c1 1.186 c1 4.62

c2 1.186 c2 0.07351

i(v_) -0.007628 i(v_) -0.005307

q_3p.q1/bp 0.8085 q_3p.q1/bp 0.07351

q_3p.q1/cp 1.186 q_3p.q1/cp 4.62

q_3p.q1/ep 0 q_3p.q1/ep 0

q_3p.q1/s 1.186 q_3p.q1/s 4.62

q_3p.q2/bp 0.8085 q_3p.q2/bp 0.8186

q_3p.q2/cp 1.186 q_3p.q2/cp 0.07351

q_3p.q2/ep 0 q_3p.q2/ep 0

q_3p.q2/s 1.186 q_3p.q2/s 0.07351

0 0 0 0

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

dc(hold c1 5 , relhold y)

di dc

该命令运行DC分析两次,用第一次运行的初始点文件,作为第二次运行的输入,在 - 23 -

第一次运行时,C1置于5V,第二次,C1允许查找自己的本身电位,结果如表中B部分,结果显示C1、C2处的DC值是所期望的,现在可以进行设计过程中的下一步。

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

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

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

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

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

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

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

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

- 24 -

第四章 时域分析

完称设计后,可以验证设计在时域内的响应。Saber用瞬态分析来验证设计在时域内的响应,过程如下:

1、指定首个瞬态数据点

2、如果驱动源(Driving Source)是振荡器,要使用初始点文件(Initial Point File)

3、执行瞬态分析

4、查看瞬态分析结果

5、测量分析结果

6、制定下一步

¾ 指定首个瞬态数据点

由于瞬态分析在分析运行时,使用初始点作为首个数据点,所以在瞬态分析之前,必须找到系统的工作点,可以用下列方法:

● 在瞬态分析面板内,指定Run DC Analysis First处为yes,该选择让Saber执行DC分析来找到工作点,然后用计算的工作点作为首个数据点来进行瞬态分析。

● 选择Analysis>Operating Point>Operating Point下拉菜单项,单独运行DC分析。大多数情况下,Saber用DC Operating Point框中默认值就能找到合适的工作点。

¾ 如果驱动源是振荡器

由于振荡器依赖噪声放大来启动的,而噪声又不是模拟器内在的,所以在瞬态分析运行开始时,必须改变初始点文件中的一些节点值以启动振荡器,详细情况看本章后边叙述。

¾ 执行瞬态分析

1、显示瞬态分析对话框(Analysis>Time-domain>Transient)。

2、指定瞬态分析所要求的信息

瞬态分析设置面板如图4-1所示,要执行瞬态分析,必须指定下列信息:

● End Time(Basic标签):定义瞬态分析结束点。例如:如果驱动源是周期为10μS的正弦函数,要查看前五个周期的瞬态响应,可以在该处键入50μ。

● Start Time(Basic标签):定义瞬态分析开始点。默认情况下,该时间取决于初始点,如果初始点被DC分析创建,该时间为0。

● Time Step(Basic标签):作为瞬态分析中相邻计算点间重复的标尺,可以按下面的情况设置其数值:

▲ 设计中有关时间常数的1/10

▲ 驱动源方波最小的上升沿或下降沿

▲ 正弦驱动源输入周期的1/100

3、指定要分析其波形的信号

Time-domain Transient Analyses面板提供下列两处来指定波形数据怎样被保存,用来画图和分析:

● Plot File(Input/Output标签):指定画图文件的名称,该文件包含了Signal List处定义的信号的模拟结果。默认情况下,Saber为每个瞬态分析创建名为tr的画图文件,如果不想让Saber创建画图文件,在该处填入“_”

● Signal List(Input/Output标签):指定要保存模拟结果的信号,用于Saber画图。默认情况下,信号列表只包含层次中顶级电路中的信号,如果要查看内层电路信号,必须将信号名称加入Signal List处。下列表格列出Signal List处语法的例子,在同一个Signal

List处填加多个信号,用空格隔开。

- 25 -

含义

./ 包含目前例子中所有的信号

/…/ 包含所有信号

/…/pll.* 包含有pll成分的所有例子中的所有信号

…/ 包含当前例子下面的例子中的所有信号

Pll.u12/ 包含pll.u12例子中所有的信号

Sig1 sig2 包含每个列出的信号

如果不清楚该指定哪个信号,用默认设置(该设计中的所有信号),如果以后需要更多的信号,可以按下面方法:

▲ 对模拟时间较短的,用信号列表中另外定义的信号,重新运行瞬态分析

▲ 对模拟时间较长的,用Extract>Add Signals to Plot File菜单项,从中选取另外的信号。

4、设置自动画出波形

在Plot After Analysis(Basic标签)处,可以使分析运行完后,自动画出波形,其选项如下:

● No:表示不自动画图

● Open Only:表示分析运行完后,打开画图文件

● Append:表示分析运行完后,保留当前的波形,再重新放置更新的波形

● Replace:表示分析运行完后,用更新的波形替换当前的波形

5、是否保存初步模拟结果

Data Files包含了模拟中每个数据点的模拟结果,数据文件可能会变得很大,除下述目的要用数据文件外,最好不要创建数据文件:

▲ 为画图文件选取其它的信号

▲ 选取工作点

▲ 将瞬态数据传到频域用于傅立叶分析

▲ 运行应力分析(Stress Analysis)

由于从数据文件选取画图信息要比重新运行分析快得多(特别是对模拟时间较长的分析),所以要认真考虑是否创建数据文件。在Input/Output标签中的DataFile处指定数据文件的名称,默认情况下,Saber对每个瞬态分析都以“tr”命名数据文件。如果不想创建数据文件,在此处键入“_”。

6、验证首个数据点数值

Saber用Input/Output标签中Initial Point File处定义的初始点作为瞬态分析的首个数据点,在运行瞬态分析前,应先验证Saber是否使用正确的初始点文件,也应该指定Calibration标签中的Sample Point Density的值,使它大于或等于用于初始点文件生成过程中的数值,该值越大,模拟的精度越高,但是需要的时间越长。

7、执行瞬态分析

点击Apply按钮执行分析,Saber用初始点文件来验证设计的瞬态响应,从而验证初始电路状况,然后计算一段时间内,电路的响应。

图4-1 瞬态分析面板

- 26 -

Signal List例子

¾ 查看瞬态分析结果

用SaberScope中的信号管理器(Signal Manager)来管理和显示来源于分析过程中所创建的不同画图文件的信号,SaberScope界面如图4-2所示,查看瞬态分析的波形过程大致如下:

● 添加画图文件到信号管理器的列表中

● 打开画图文件

● 选择要进行画图的信号

● 对所选的信号画图

在分析完成后,可以如上所述一样,一步步进行来查看波形,也可以设置SaberGuide来自动执行全部过程。

图4-2 SaberScope界面

1、添加画图文件到信号管理器并打开它

如果分析前在瞬态分析面板中的Plot After Analysis处指定下列其中一个,SaberGuide会自动做这些事情:

▲ Yes-Open Only

▲ Yes-Append Plots

▲ Yes-Replace Plots

在上述情况下,SaberGuide运行SaberScope,打开信号管理器和相应的画图文件。然而如果在Plot After Analysis处指定为No,SaberGuide将不打开信号管理器,可以选择Results>View Plot Files in Scope下拉菜单项打开最后创建的画图文件,激活View

Plotfiles对话框,点击Plot File处的箭头,选择其中一个:

▲ Last:选择分析产生的最近的画图文件,这是默认的

▲ Plot File Names:允许在Plot File处指定一系列的画图文件(用空格隔开),可以点击Browse按钮来浏览并选择画图文件

在Plot Action处,选择下列操作的其中一个:

▲ Open Only:打开画图文件

▲ Append:保留当前的波形,再重新放置更新的波形

- 27 -

▲ Replace:用更新的波形替换当前的波形

当重复运行分析来查看改变设计参数所带来的影响时,Append和Replace对优化设计是非常方便的。在进行了上述的设置后,点击OK按钮或Apply按钮来打开信号管理器。

2、选择信号

如果在上步没有选择Append或Replace画图操作,那么现在需要选择要画图的信号。在Plot File窗口中,用鼠标左键点击即可选中,如果要对所选的信号不选的话,点击Deselect按钮。

3、对所选的信号画图

要对选取的信号画图,点击Plot按钮或者将光标移到Graph窗口中点击鼠标中键(也可以在Plot File窗口中双击所选的信号),在画图文件中选择的信号的波形将在Graph窗口中出现。在对信号画图完成后,可以用不同的方法来分析结果,并制定设计过程的下一步。

¾ 测量分析结果

SaberScope提供多种预定义的自动测量方法,要在SaberScope中测量波形,可以按下面的步骤:

1、显示测量工具(Tools>Measurement)

2、选择相应的测量

显示测量工具后,要选择执行何种测量。在Measurement处,点击箭头,从不同的测量种类中选择测量类型。下表列出在时域内易测量的种类:

测量种类 含义

Falltime 显示从波形上边到下边的下降时间

Risetime 显示从波形下边到上边的上升时间

Slew Rate 显示上升沿或下降沿的回转比率

Period 显示波形的周期

Frequency 显示波形的频率

Duty Cycle 显示脉冲保持时间与间歇时间之比

Pulse Width 显示脉冲宽度

Delay 显示两信号波形边沿的延时

Overshoot 显示相对于顶端的波形过冲

Undershoot 显示相对于底端的波形陷落

Settle Time 显示波形的建立时间

3、选择要测量的信号

在Signal处指定要测量的信号,方法如下:

▲ 点击箭头按钮从结果列表中选择信号

▲ 从当前的图形中选择信号

4、设置测量的数据范围

在测量面板中的Apply Measurement to处,可以控制测量的数据范围,必须指定下列数据范围之一:

▲ Entire Waveform:对整个波形测量

▲ Visible X and Y range only:测量当前图形中可见的X和Y的范围

5、执行测量

点击Apply按钮开始测量,该操作执行对指定信号的测量并在图形中添加相关信息。

6、使用测量信息

在用SaberScope进行数据分析过程中,或许要查看某个测量,用Measure Results面板(Graph>Measure Result或者在图形中双击测量结果)可以完成。用下列按钮使用测量 - 28 -

信号:

▲ Delete Measurement:删除从Graph中选择的测量

▲ Delete All:删除Graph中所有的测量

▲ Show All Values:显示所有的先前的测量

▲ Hide All Values:隐藏所有的先前的测量

▲ 可以通过绿色或黑色的按钮让测量是否可见

¾ 制定下一步

用SaberScope的查看和测量功能,可以验证设计是否满足要求。

如果满足要求,可以进行下列操作:

● 选择Analyses>Continue>Transient下拉菜单项,用最后的数据点继续进行瞬态分析

● 用AC分析验证小信号频率响应

● 用傅立叶变换或FFT来检查时域内波形的频率幅度

● 用统计、参数、应力分析来调整设计参数

如果不满足要求,可以用下列方法进行矫正操作:

● 改变设计或元件参数

如果改变设计不要求改变设计的连接性,可以用Edit>List/Alter菜单项修改设计参数。

● 编辑电路图,重新网表化

如果改变设计要求改变设计的连接性,必须在电路图中修改,重新网表化(Design>Netlist design_name),然后在Saber中重新调入设计(Design>Simulate

design_name)

¾ 检查时域信号的频率幅度

在完成瞬态分析后,用傅立叶分析(傅立叶或FFT)来检查系统的频谱成分,根据时间信号是否是周期性的来选择用傅立叶分析或FFT分析,检查时域波形的频率幅度。

● 傅立叶分析:将周期性波形转换成频谱,由于所有的周期性波形都可以用正弦函数来描述,该分析产生一个线谱,显示直流、基波和各次谐波分量。

● FFT分析:将非周期性波形转换成连续性输出,在FFT中显示每个点。

由于傅立叶分析、FFT分析、失真分析都提供频谱信息,下表将作一比较:

Fourier FFT Distortion

特性 大信号 大信号 小信号

概念 将时域信号转换成频谱 将时域信号转换成频谱 小信号频域分析

类型 时域数据的传递器 时域数据的传递器 单独分析

算法 周期信号的离散性傅立叶连续性傅立叶变换的近似基于泰勒级数近似变换 的Volterra级数

结果 直流、基波、各次谐波分连续频率分布,显示FFT变换每个指定信号量 中每个点 的结果

应用 强的非线性周期性信号或非周期性的大信号或强的基于小信号模型的大信号 非线性非周期性信号 谐波变换

¾ 执行傅立叶分析

傅立叶分析是一个传递过程命令,它读取信号的一个周期(用时域分析计算的),并用连续性傅立叶变换描述直流、基波和各次谐波分量。傅立叶分析用傅立叶级数表示的周期性连续函数f(t)作为无穷级数。对周期性函数,频率成分是基波的倍积分,如下式所示,其中Ci表示幅度,φi表示基波倍数处的相位,基波ω:

f(t)=C0+C1Cos(ωt-φ1)+C2Cos(2ωt-φ2)+………+CiCos(iωt-φi)

- 29 -

基于指定波形的基波,通过将离散性傅立叶变换(Discrete Fourier Transform—DFT)应用于瞬态分析所产生的周期性波形,傅立叶分析计算信号的频谱,要执行傅立叶分析,步骤如下:

图4-3 傅立叶分析面板

1、打开傅立叶分析面板(Analyses>Fourier>Fourier…)如图4-3所示

2、指定要转换的信号

要执行傅立叶分析,必须指定下列信息:

▲ 指定要转换的信号名称

在Signal List处(Input/Output标签)定义要转换的信号,可以在该处键入信号名称或用Select按钮选择。虽然该处的语法与AC和瞬态分析中的信号列表使用的语法一致,但是该处只能加入系统变量,如通过电压源的电流和节点电压等。

▲ 从瞬态分析中指定数据文件名

Saber用先前瞬态分析产生的数据文件作为傅立叶分析的源文件,可以在Input Data

File处验证Saber是否使用正确的数据文件。

3、设置自动画图

在Plot After Analysis处(Basic标签)指定是否自动画图。

4、指定基波和转换的时间周期

在Basic标签中用于指定傅立叶分析的时间周期和基波,在面板中指定的基波与要转换的信号的基波要一致,这点很重要。如果他们不同,结果将会错误,可以检查输入源来设定基本频率。

▲ 如果信号频率在输入端提供,用输入源的频率作为基本频率

▲ 如果多个频率在输入端提供,用输入频率的最小公约数。如:如果有900Hz和1kHz的频率源,那么应该用100Hz作为基本频率

可以用下面的方法在Basic标签中指定基本频率和时间周期:

▲ Frequency&Location:允许指定基本频率和用周期的起始点或结束点作为一个时间数据点来转换

▲ Location:指定开始和结束时间,基本频率作为开始时间和结束时间的差数的反函数来计算

5、验证下列数值

虽然是任选项,但还是应该验证下列内容:

▲ 指定要进行计算的谐波数

- 30 -

在Number of Harmonics处(Basic标签)指定要计算的谐波数(包括基波在内),例如:如果用默认值10,Saber将显示基波和相关的九个谐波。

▲ 指定是否计算THD

如果咱Control标签中的Calculate THD指定为yes,Saber将计算整个谐波的失真(Total Harmonics Distortion---THD),该值是多余的谱成分的能量作为整个信号能量除数得来得,该值独立于要计算得谐波数,该值分析完后,显示于Saber的Transcript窗口。

▲ 验证视窗函数

在转换前可以应用不同的视窗函数来过滤输入数据,Saber中的傅立叶分析包含了预定义的Rectangular、Barlett、Hann、Hamming、Blackman和Flattop视窗函数。可以用Control标签中的Windowing Function箭头按钮来选择合适的视窗函数,也可以自己定义。

6、执行分析

默认情况下,Saber用先前瞬态分析的一部分或全部的数据文件的傅立叶变换来计算频率响应。每个系统变量的结果是以一定线性化比例存于名为fou的数据文件和画图文件中,画图文件中包含了显示直流、基波和各次谐波分量。

7、画出傅立叶分析结果的图形

在傅立叶分析完成后,可以用SaberScope查看结果,下列步骤列出了在SaberScope中查看和使用波形数据的过程:

注意:如果分析前,在Plot After Analysis处指定为Open Only,可以略过第一步,如果指定为Append或Replace,可以略过二、三步。

a、 添加画图文件到SaberScope的信号管理器中(Results>View Plotfiles in Scope)

b、在上一步所创建的画图文件窗口中选择要查看的信号

c、 点击Plot按钮或在Graph窗口中点击中键,可以显示所选信号的图形

d、用SaberScope的波形操作和测量功能来分析数据

8、分析傅立叶分析结果

在SaberScope中可以查看指定信号的频谱,分析结果包括:

▲ 频谱的大小和相位

▲ 频谱的实部和虚部

▲ 谐波失真的总量(如果让Saber计算THD,将在Transcript中显示)

在分析了傅立叶分析的结果后,可以继续设计过程的其它步骤:

▲ 如果分析的结果满足期望值,可以进行小信号频率描述(AC)分析或进行调节参数分析

▲ 如果分析的结果不满足所期望的值,改变设计,重新运行瞬态分析,用傅立叶分析重新生成频谱

¾ 执行FFT分析

快速傅立叶转换是计算一部分时间的频率成分的传递命令,由于该分析需要时域数据,所以在执行该分析前必须运行瞬态分析。FFT用于非周期性函数,如果函数是周期性的,用傅立叶变换进行傅立叶分析。由于非周期性函数不能用傅立叶级数表示,Saber用傅立叶积分表示。

要执行FFT分析,步骤如下:

1、显示FFT面板(Analyses>Fourier>FFT),如图4-4所示

2、指定要转换的信号

要执行FFT分析,必须指定下列信息:

▲ 指定要转换的信号名

- 31 -

在Signal to Transform处指定信号名称,如果不指定信号名,瞬态分析的画图文件中适合的信号都将被转换。

▲ 验证瞬态分析画图文件名

Saber用先前瞬态分析的画图文件作为FFT分析的源文件,要在Transient Plot File处验证该值,确定Saber使用正确的画图文件。

图4-4 FFT分析面板

3、设置自动画图

在Plot After Analysis处可以设置自动画图

4、验证Data Manipulation标签

▲ 验证FFT中的点数

Number of Points处指定用于转换的数据点数,该值必须是2的乘幂,如256、512、1024等。

▲ 验证要转换的时间段

Time Data Start和Time Data Stop处定义用于转换的时域段,可以在该处指定下列值之一:

begin:在瞬态画图文件中定义首个数据点

end:在瞬态画图文件中定义最后的数据点

time:在瞬态画图文件中定义一个指定的时间

在FFT转换过程中,Saber在定义的时间段上,划分相等间隔的线性区间(用Number

of Points处定义的),从而选取数据点。

▲ 验证视窗函数

在转换前可以用不同的视窗函数来过滤输入的数据,Saber中的傅立叶分析包含预定义的Rectangular、Barlett、Hann、Hamming、Blackman和Flattop视窗,按Windowing

Function箭头按钮选择合适的视窗函数,也可以自己定义。

5、执行分析

默认情况下,Saber用从先前瞬态分析所产生的画图文件的一部分或全部的FFT分析来计算频率响应,每个系统变量的结果都以一定线性比例存于名为fft的画图文件中。

6、在SaberScope中对结果画图

下列过程列出了用SaberScope傅立叶分析运行完成后,可用SaberScope来查看结果,查看和操作数据的过程:

注意:如果分析前在Plot After Analysis处指定为Open Only,可以略过第一步,如果指定为Append或Replace,可以略过二、三步。

a、 添加画图文件到SaberScope的信号管理器中(Results>View Plotfiles in Scope)

b、在上一步所创建的画图文件窗口中选择要查看的信号

- 32 -

c、 点击Plot按钮或在Graph窗口中点击中键,可以显示所选信号的图形

d、用SaberScope的波形操作和测量功能来分析数据

分析完结果后,可以做下面的事情:

▲ 如果分析结果如所期望的,可以进行小信号频率扫描(AC)分析或调节设计参数

▲ 如果分析结果不是所期望的,改变设计,重新运行瞬态分析,用FFT分析重新生成频谱

¾ 瞬态分析中的特殊情况

一些电路在进行瞬态分析时,需要对其进行特殊考虑:

▲ 启动瞬态分析中的振荡器

▲ 削减瞬态分析中的尖峰信号

● 启动瞬态分析中的振荡器

物理振荡器通常依赖噪声的增幅来开始振荡的,因为在模拟器中不存在噪声,所以必须想办法来启动它们。这些方法一旦启动电路中的振荡器,没有启动源的影响,振荡器照样可以工作,Saber提供了以下几种方法:

▲ 修改DC初始点:

该方法改变或创建一个初始点,但该点不是真正的DC工作点(不满足基尔霍夫定律),但可以提供足够的能量来启动振荡器。修改DC工作点不需要改变电路的拓扑结构,通常,编辑初始点仅为启动振荡电路进行瞬态分析,当电路开始振荡后,改变初始点的影响将不再存在,下面介绍怎样编辑初始点:

图4-5 编辑初始点面板

1、显示编辑初始点面板(Analyses>Operating Point>Edit Initial Point),如图4-5所示。

2、定义要编辑的节点

在框显示后,可以填入节点名和该节点新的DC值,用空格隔开,可以添加多个。例如:如果要将input节点的DC值改为1.25V,将input_diff节点值改为8.75V,在Node Value List处如下填入:

input 1.25 input_diff 8.75

3、指定要编辑的初始点文件

Saber读取Source Initial Point处指定的文件的DC值,用Node Value List处的值编辑文件,将结果存于Result Initial Point处指定的文件。如果Source Initial

Point处空着,Saber将Node Value List的编辑应用到Result Initial Point处定义的文件。

4、执行该面板

点击Apply按钮,在编辑初始点面板中定义的值上执行sigset命令。用Results>Operating Point Report下拉菜单项,可以显示已编辑的初始点文件的结 - 33 -

果。

5、用新编辑的初始点文件运行分析

在Input/Output标签中,验证Initial Point File处的文件名。

6、检查振荡器幅度在一定时间内是否稳定

不同的启动会产生不同的影响,或者是增长的响应,或者是衰减的响应。振荡器的Q值越高,要达到稳态所需的时间越长。

▲ 用电流源或电压源启动振荡器

图4-6列出电压源或电流源可能放置的位置,这些添加的源仅在脉冲期间影响电路,因此电流源是连到地(0值电流源视为开路),电压源放到连线中(0值电压源视为短路)。本例中电流源更有效,因为存贮能量的元件是电容器。

图4-6 振荡器例图

▲ 保持振荡

模拟器把所有的信号看作好像最终收敛于一个DC值,这样在模拟一个振荡器时就会出现问题,要保持振荡,瞬态分析的精确度不得不提高。试着用下面的步骤,看它是怎样影响设计的性能的:

1、以10的因数来减小Maximum Truncation Error(瞬态分析面板中的Calibration标签中)

2、如果第一步只是部分成功,将Time Step(瞬态分析面板中的Basic标签中)设置成比先前模拟所用的更小些(用100到1000的因数)

3、最后,如果这些方法都不能阻止振荡器振荡,用另一个10的因数减小Maximum Truncation Error

● 削减瞬态分析中的尖峰信号

开关电路的瞬态模拟有时会在输出数据产生尖峰信号,但是现实的系统是没有的。削减这些错误的尖峰信号过程如下:

1、验证尖峰信号是否是真实的

一些带有如栅关断(GTO)元件的系统在它们的测量响应中是有大的尖峰信号的,所以要仔细检查原电路的测试数据,与瞬态分析结果或其它分析结果比较。

2、检查模型和电路图

▲ 确定电路中的模型合适应用

由于尖峰信号通常是在大电路中产生的,所以要精确找到哪个模型有问题是很困难的。一种方法是检查尖峰信号处直接邻近的节点或分支,也可以考虑下,哪个 - 34 -

模型是被开关事件激发。

▲ 确认电路布线正确

▲ 检查电路中可能存在的不稳定电路

一些带有尖峰信号的模拟结果可以提供足够的信息来显示,电路是否是不稳定的或者有完全平衡的负载。

3、Saber模拟选项

一、二步一定要仔细,否则可能遗漏有问题的部分,有时可以用下面的方法:

a、 用 –d flat 选项启动Saber:

saber –d flat designname

该命令强迫Saber用一层,相对于层次、矩阵,该命令将使模拟速度较慢。b、用瞬态选项 terrt all,这是计算切断错误的最精确的方法,该命令也会使模拟速度较慢。

c、 在有较宽的时间常数的系统中,试试用 terrn 3选项。

d、使用ord 1,这会限制综合算法使用第一个,这使模拟精度降低,但是,它会使开关边沿的短的尖峰信号消失。

通常,切断错误和例点密度是决定瞬态分析尖峰精度的临界参数。

4、其它值得考虑的技术

如果在前三步完后,结果仍不令人满意,试试下面的调试技术:

▲ 仅模拟电路中产生尖峰的部分

▲ 对电路中低压部分和高压部分单独进行模拟

▲ 用Monitor Progress(Basic标签)生成详细的分析脚本

▲ 试试不同的开关模型

▲ 添加些非理想的元件,来增加电路的精确度,如没有被说明的电容器、电阻器、电感等

- 35 -


本文标签: 分析 信号 符号