saber教材
- 格式:doc
- 大小:623.50 KB
- 文档页数:9
Saber⼊门教程中⽂版Saber 软件简介Saber软件主要⽤于外围电路的仿真模拟,包括SaberSketch和SaberDesigner 两部分。
SaberSketch⽤于绘制电路图,⽽SaberDesigner⽤于对电路仿真模拟,模拟结果可在SaberScope和DesignProbe中查看。
Saber的特点归纳有以下⼏条:1.集成度⾼:从调⽤画图程序到仿真模拟,可以在⼀个环境中完成,不⽤四处切换⼯作环境。
2.完整的图形查看功能:Saber提供了SaberScope和DesignProbe来查看仿真结果,⽽SaberScope功能更加强⼤。
3.各种完整的⾼级仿真:可进⾏偏置点分析、DC分析、AC分析、瞬态分析、温度分析、参数分析、傅⽴叶分析、蒙特卡诺分析、噪声分析、应⼒分析、失真分析等。
4.模块化和层次化:可将⼀部分电路块创建成⼀个符号表⽰,⽤于层次设计,并可对⼦电路和整体电路仿真模拟。
5.模拟⾏为模型:对电路在实际应⽤中的可能遇到的情况,如温度变化及各部件参数漂移等,进⾏仿真模拟。
第⼀章⽤SaberSketch画电路图在SaberSketch的画图⼯具中包括了模拟电路、数字电路、机械等模拟技术库,也可以⼤致分成原有库和⾃定义库。
要调⽤库,在Parts Gallery中,通过对库的描述、符号名称、MAST模板名称等,进⾏搜索。
画完电路图后,在SaberSketch界⾯可以直接调⽤SaberGuide对电路进⾏模拟,SaberGuide 的所有功能在SaberSketch中都可以直接调⽤。
启动SaberSketchSaberSketch包含电路图和符号编辑器,在电路图编辑器中,可以创建电路图。
如果要把电路图作为⼀个更⼤系统的⼀部分,可以⽤SaberSketch将该电路图⽤⼀个符号表⽰,作为⼀个块电路使⽤。
启动SaberSketch:▲UNIX:在UNIX窗⼝中键⼊ Sketch▲Windows NT:在SaberDesigner程序组中双击SaberSketch图标下⾯是SaberSketch的⽤户界⾯及主要部分名称,见图1-1:退出SaberSketch⽤ File>Exit。
第一章使用Saber Designer创建设计本教材的第一部分介绍怎样用Saber Design创建一个包含负载电阻和电容的单级晶体管放大器。
有以下任务:*怎样使用Part Gallery来查找和放置符号*怎样使用Property Editor来修改属性值*怎样为设计连线*怎样查找一些常用模板在运行此教材前,要确认已正确装载Saber Designer并且准备好在你的系统上运行(找系统管理员)。
注:对于NT鼠标用户:两键鼠标上的左、右键应分别对应于本教材所述的左、右键鼠标功能。
如果教材定义了中键鼠标功能,还介绍了完成该任务的替代方法。
一、创建教材目录你需要创建两个目录来为你所建立的单级放大器电路编组数据。
1. 创建(如有必要的话)一个名为analogy_tutorial的目录,以创建教材实例。
2. 进入analogy_tutorial目录。
3. 创建一个名为amp的目录。
4. 进入amp目录。
二、使用Saber Sketch创建设计在这一部分中,你将使用Saber Sketch设计一个单级晶体管放大器。
1. 调用Saber Sketch(Sketch),将出现一个空白的原理图窗口。
2. 按以下方法为设计提供名称3) 通过选择File>Save As …菜单项,存储目前空白的设计。
此时将出现一个Save Schematic As对话框,如图1所示。
图 12) 在File Name字段输入名称Single_amp。
3) 单击OK。
3. 检查Saber Sketch工作面1)将光标置于某一图符上并保持在那里。
会显示一个文字窗口来识别该图符。
在工作面底部的Help字段也可查看有关图符的信息2)注意有一个名为Single_amp的Schematic窗口出现在工作面上。
三、放置部件在教材的这一部分你将按图2所示在原理框图上放置符号。
图中增加了如r1、r2等部件标号以便参照。
图 2 单级晶体管放大器部件布局1.按以下方式查找和放置npn晶体管符号:1) 单击Parts Gallery图符出现Parts Gallery对话框,如图3所示。
Saber软件的历史提到Saber软件的历史,就不得不提到几个公司Analogy,Avanti和Synopsys.Saber于1987年由Analogy公司推出,专用与混合信号和混合技术领域仿真验证.大家需要注意的一点是,1987年到现在已经20年了,也就是说Saber这个软件产品从出生到现在已经活了20年.在非常注重商业效益的西方社会,一个软件产品在经历了20年的市场风雨以后,依然能够继续存在,只能说明一点,它确实有用,能够帮用户解决一些设计问题.到了90年中期,Avanti公司收购了Analogy公司,Saber软件变成了Avanti公司的产品.在后来,到2000年左右的时候,Avanti公司在那场EDA行业中最为惨烈专利战争中败给了当时的EDA行业巨头CADENCE,并为此要付出高额赔偿.当时EDA行业的另一巨头Synopsys抓住机会,将Avanti公司收购,而Saber软件也再次易主,成为Synopsys公司的产品.关于Synopsys公司和EDA行业,我不多说,有兴趣的网友可以上网查查.Saber软件的特点及应用领域Saber软件的特点我想主要有这么几个,一是集成度高,从调用绘制原理图到仿真分析,可以在一个环境中完成,不用切换工作环境.二是各种分析功能齐全,即可以进行DC、DT、AC、TR等这些基本功能分析,也能进行温度、参数灵敏度、蒙特卡诺、噪声、应力、失真等高级分析.三是强大的仿真数据后处理能力,运动SaberScope工具,可以方便、自由的对仿真结果数据进行各种分析和比较乃至运算,同时,Saber软件的交叉探针功能(crossprobe)可以很方便的在Sketch中观察仿真结果数据.Saber软件的工具环境Saber软件主要包括SaberGuide、SaberSketch、SaberScope三部分.SaberSketch主要用于绘制电路图,而SaberGuide用于仿真控制,仿真结果可在SaberScope查看.并且,目前Saber软件支持WindowsXP,Linux,UINX等多种平台.讨论SaberSketch的使用.如果我们采样基于原理图的仿真方式,那么Sketch是我们在整个仿真过程中主要操作的一个界面.先来看看要完成一次仿真,在Sketch中需要做些什么工作.1、启动Sketch,新建一个原理图设计;(呵呵,有点废话);2、选择和放置电路元件;3、设置元件参数;4、连线并设置网络节点名称;5、对混合信号以及混合技术的情况下,对接口部分进行处理;6、新建符号并添加到原理图中(如果需要);7、添加图框;(如果需要);8、保存设计,退出或启动SaberGuide界面,开始仿真设置.这几个步骤中,1和8我想不用介绍了,5和6我曾经在以前的博客文章中介绍过,7作为可选项我不准备介绍,毕竟大家在PartGallery里找找就能找到包含图框的目录.着重介绍一些2、3、4.先来看看第二步选择和放置元件,关于如何放置元件,我想大家都会,在PartGalley里选中要放置的器件,双击鼠标左键就可以在原理图编辑界面中仿真一个符号了.新版的Saber中,支持鼠标的拖拽,即选中器件后,按住鼠标左键就可把元件拖入原理图编辑界面.下面主要介绍一下,如何在Sketch中找到需要的模型符号,在介绍这部分内容之前,先澄清几个概念,以便理解后面的一些过程.首先是符号和模型.对于仿真器而言,只能接受按固定语法描述的网表以及模型文件,无法理解符号以及由符号构成的原理图;而对于普通使用者而言,模型以及网表的语法过于抽象,不能直观的反映设计思想.为了解决这种矛盾,EDA工具中便有了符号和模型的概念.符号主要给人使用,用来编辑原理图;模型主要给仿真器(即计算机)用,用来建立数学方程.Saber中的符号和模型存在一一对应的关系,PartGallery中的每一个符号,都有一个模型与之对应.因此,用户在PartGellery中调用的符号就等于调用了模型,不过这种方式更为直观.需要注意的是,如果PartGallery中没有需要的模型符号,也就代表Saber的模型库中没有需要的模型,此时要想继续仿真,用户就必须自己提供(建模或者下载)模型并为模型建立相应的符号.另外,Saber软件中模型和网表问题的尾缀是一样的,都是*.sin,或许是因为它把网表也看成一个大的模型吧.另外两个需要了解的概念是模板(template)和器件(component).Saber里的模型就分这两类.简单的说,模板(template)是基于某一类器件的通用模型,它需要用户根据需要设置各种参数以达到使用要求;而器件(component)是某一或者某一系列商用元件(如LM324)的模型,它无须用户进行任何设置,可直接使用.另外,Saber的component库分两种,DX库和SL库,后者比前者缺少容差和应力分析参数.来讨论一下如何在Sketch找到合适的器件.对一张原理图来讲,要完成对它的分析验证,首先是需要保证原理图中的各个元器件在Saber模型库中都有相应的模型;其次要保证在Sketch中绘制的原理图与原图的连接关系一致;再者就是根据目标系统的工作特点,设置并调整相应的分析参数.这三个条件都达到,应该能得到一个不错的分析结果.一张原理图中需要的模型涉及很多,但不管怎样,其所对应的模型正如我前面介绍的那样,只有template和component两种.对于需要设置参数template模型,需要去PartGallery中寻找;而component模型则直接可以利用PartGallery的search功能或者ParametricSearch工具进行进行查找.对于template对应的模型,由于template是某一类元件的通用模型,因此我们要在PartGallery里按照器件分类去寻找,而PartGallery的库组织结构也正是按照类来划分的.以下面的PartGallery为例(对应版本是Saber2006.06,以前的版本会有一些区别).在PartGallery中顶层目录按照大的应用领域和市场领域划分.比如Aerospace目录下主要包含与宇航工业相关的一些模型;Automotive目录下主要包括与汽车行业相关的一些模型;PowerSystem目录下主要包括与电源系统设计相关的模型.这种分类方法的一个目地就是,如果你确定自己的目标系统属于其中的一个,就可以直接在该目录下查找所有需要的模型了.当然,还有一种分类方法,就是按照技术领域分类.个人认为,这种分类方法对于搞技术的人来说更加直观和方便.在上面的图中直接左键单击MASTPartsLibrary目录,就可以得到如下图所示的展开.从上图中看,就可以更为直观的按照技术领域寻找需要的template模型了.比如,要找电机之类的模型,可在Electro-Mechanical目录下找,要找机械负载模型,可在Mechanical目录下找,各种激励源或者参考地可在Sources,Power,Ground目录下找.各种模拟数字电路可在Electronics目录下找.查找template模型的另一种方法是利用PartGalley的search功能.如下图所示:在search栏里输入需要查找的关键字符就按回车就可以了,利用这个功能需要对saber的template 模型命名规则有一些了解.基本上,saber中template模型的名字都与其英文术语多少有些关系.比如,gnd代表参考地,resistor代表电阻,capacitor代表电容,switch代表开关之类的.同时,还可以通过SearchObject和SearchMatch去修改search的规则和范围,提高search的效率.这些选项的具体含义看参考saber的帮助文档.需要注意的是,通常情况下,不用去改变这两个选项.在PartGallery里查找component的方法主要有两种,一种直接利用PartGallery的search功能去搜索,只要清楚的知道所需模型的名称,就可以在search中输入查找,如果Saber的模型库中有该器件的模型,则会在下面显示出来.如果下图所示,是查找运算放大器NE5532的结果.需要注意的是,不同的尾缀主要是器件封装上的区别.但有一种例外,以_sl结尾的属于前面介绍过的SL库,这种模型没有MC和STRESS特性,但仿真速度很快.当用上述方法查找没有任何输出的时候,则表明Saber软件模型库中没有这个模型.这种情况下,可以去器件厂商的网站上找找,看看有没有提供该器件的模型,基于saber的或者基于spice都可以.如果是saber的,可直接为其建立符号并引用;如果是基于spice的,则需要用sketch中的Nspitos工具将其转换为saber模型以后在使用.但如果没法找到需要的模型,则需要对其进行建模,这是很多设计者不愿意做的事情.除了建模以外,我们还可以利用sketch中的parametricsearch工具来近似的完成任务.利用这个工具在PartGallery中查找指标参数和所需器件相近或者一样的模型来替代原图中的器件进行仿真,这样也能达到验证的目地.Parametricsearch工具如下图所示:首先选择器件类型,然后在后面出现的对话框中设置各种参数,缩小匹配器件的范围,如下图所示的运算放大器设置界面,在其中设置各种参数以后,单击finish按钮,可得到检索结果,在结果中选择一个可接受的,就可以作为替代模型使用了.1、基本参数及其含义前面曾经介绍过Saber的模型库主要有两类模型,一类是component,不需要设置的任何参数,可以直接使用;另一类是template,需要根据目标器件的特点设置各种参数以达到使用要求.无论是哪一类模型,都含有最基本的两个参数,一个是primitive,另一个是ref.primitive参数表明符号对应的模型名称,而ref参数是该模型在原理图中的唯一标识符,我想这个概念用过其他原理图编辑软件的网友,都应该能了解.如下图所示:上图是sketch电阻模型的参数设置界面,可以通过在sketch中双击该器件符号启动该设置界面.图中primitive属性的值为r,表明该符号对应的模型名称为r,在saber安装目录的template目录下,会有一个r.sin文件,里面包含着名字为r的模型.图中ref参数的值为r1,这表明这个器件在该图中的唯一表示符是r1,即在同一张原理图上,不能再出现ref值为r1的电阻模型,否则sketch会报错.值得一提的是,这两个参数都是软件自动指定的,其中primitive参数一般不允许用户更改,所以为锁定状态(蓝色的锁表示锁定该属性),而ref参数可由用户修改,因此在修改ref参数的时候要注意,不要把该参数设置重复了.另外,框中黑点表示该属性名称及值在电路图中不可见,半绿半黑表示该属性的值在电路图中可见,全绿表示该属性名称及值在电路图中都可见.对于上图中的设置,则在电路图中有如下显示:2.获取参数含义的基本方法至于模型中的其他参数,就需要用户根据自己的需要进行设置了,由于saber软件template非常多,而且每个template带的参数也不少,因此不可能一一介绍参数的含义.这里给出几种查找参数定义的方法:a.在属性编辑器的下拉菜单中,选择Help>HelponPart,会启动Acrobatreader,并显示与模型相关的帮助文档.b.选中属性,在属性编辑器左下角的Help处会显示该属性的含义.c.在属性编辑器中选择Help>ViewTemplate,或者在电路图中,鼠标移至元件符号处,从右键快捷菜单中选择ViewTemplate,可以查看器件的MAST模板,在里面会有各种参数的解释.3.关于全局变量的设置Saber软件提供了一种全局变量参数设置的方法.这种全局变量一旦设定以后,可以被整个原理图中所有元器件引用.该全局变量设置符号的名称为“Saber Include File”,可以利用它指定全局变量.有兴趣的网友可以去试试,但需要主要,元件的属性定义优先于全局变量定义的值.4.关于变量的分层传递关于这个问题,我曾在我的博客文章《滤波器电路仿真》和《滤波器电路仿真续》中仔细介绍过,有兴趣的网友可以去查查看.来谈谈sketch中如何布线的问题,这个问题不太复杂,在这里只是对布线方法和过程做一个简单的总结.1.如何开始一段布线?先来看看如何在sketch中开始一段布线,通常有四种途径可以在sketch中开始一段布线:a.将鼠标移至元件管脚处,图标变成十字架,表示鼠标已在管脚处,点击左键即可开始画线;b.快捷键方式-按W键开始画线;c.点击图标栏中的布线按钮开始画线;d.选择Schematic>Create>Wire,或者从右键快捷菜单中选择Create>Wire命令开始画线;2.如何控制走线方向?要改变布线方向,在指定位置点击左键,然后可以继续画下一段线.在布线过程中,如果按Escape键可取消整个布线;如果双击鼠标左键,可完成这段布线;布线完成以后,如果左键单击选中这段线并Delete键,可删除这段布线.这里需要注意的是两个问题,一是sketch中默认的布线都是正交方式,如何绘制任意角度的线呢?二是在布线过程中,如果只想取消到上一个端点的布线而不是整根布线,该如何处理(注意:Escape键是取消整根布线)?布线时,在未结束布线前,点击鼠标右键,可弹出快捷菜单,菜单中的Any-AngleSegment命令可以实现任意角度布线,而DeletePreviousVertex命令可以删除先前的端点.3.如何给连线命名?画完连线后,可以给它命名,如果不命名,Sketch会自动为连线生成一个名字(如_n183).虽然这样,但对于连线比较多的目标系统,还是建议针对关键节点进行命名,以便在scope中观察结果.给连线命名的方法如下:a.将光标移至连线上,高亮显示红色,单击鼠标右键,在弹出菜单中选择Attributes命令;b.操作显示连线属性框,在Name栏更改连线的名字,在Display栏选择是否sketch中显示连线名字;c.在连线属性框中的左下脚的Apply按钮即可.需要注意的是,连线名称应用字母和数字构成切不能和Saber的命令或者MAST模板的保留字同名.另外,如果多个连线连到同一个点,只需命名一条连线,Sketch会将此命名应用到与其相连的其它连线.4.如何实现不直接连接但表示同一网络节点?有时候,由于要绘制的原理图比较复杂,各种线相互交杂,使得阅读原理图非常不方便,这就需要一种不直接连接,但能表示为同一网络的方法以简化原理图.Sketch中只要两条连线名称相同,就被认为是相连的,因此可用命名相同连线名称的方法实现,但这种方法相对不够直观.另一种方法是使用页间连接器(SamePageConnector),其符号位于PartsGallery的MASTPartsLibrary>SchematicOnly>Connector,编辑其Name属性即可改变连线名称,通过页间连接器来定义连线名称,这样要更为直观一些.5.如何绘制一组线?可以使用使用Bundle功能来绘制一组连线.在Sketch图标栏中选择bundle图标,如同画连线一样.要从bundle中添加或移走连线,仅连接或去除连到bundle上的连线即可.Sketch用附于bundle上的连线名来决定连线间的连接,连线名可以在电路图中直接编辑.要修改bundle的属性,高亮显示bundle,从右键快捷菜单中选择Attributes,或者双击bundle.在Sketch中完成电路图后,就可以对设计进行仿真了.在开始今天仿真设置之前,建议对所绘制的原理图进行一次简单的检查.这一步是很有用,因为有很多仿真中出现的问题,都跟原理图有关系.检查的内容主要包括以下几个方面:1.原理图是否和目标系统一致,有没有连错线路,或者参数设置不对;2.如果是混合技术混合信号系统,各种接口设置是否正确;3.系统中有没有对地短路的节点;4.系统中有没有悬空的节点;5.如原理图分层次,确认当前的是不是顶层原理图.在完成检查之后,可以通过在sketch中通过Design/Netlist命令为原理图自动产生网表(关于网表和原理图的关系,以前已讨论过).如果报错,则根据出错信息修改原理图,如果没有报错,则表明已生成网表,可继续调用Design/Simulate将网表文件加载到仿真器当中,同时启动SaberGuide仿真环境设置界面(注意:此时仍在Sketch框架内,不过菜单和快捷按钮发生了变化).如果一切正常,则会在右上角的状态栏上显示SaberReady或者SimulatorReady(不同版本的区别),如果出错,则要根据出错信息修改原理图,并重复上述过程直至能够正常加载网表文件为止.到了这里,就进入了SaberGuide工具的管辖界内,可以开始仿真了.仿真的过程操作相对简单,通过快捷按钮或Analysis菜单下的相应命令启动所需进行分析的设置界面,根据要求进行设置,单击OK或者Apply按钮就可以开始仿真了.仿真结束以后,可以通过scope后者sketch中的probe工具观察仿真结果.Saber软件提供的分析功能很多,每一种分析功能都有自己特定的应用领域.在这里不准备一一介绍,着重讨论一下4个基本也是最常用的分析功能,DC、DT、AC、TR.1、如何开始DC分析a、打开DC分析对话框(Analyses>OperatingPoint>DCAnalysis)b、设置DC分析面板的内容,大多数情况下,Saber用默认设置就可以制定工作点.c、点击Apply按钮,执行DC分析.成功的DC分析会创建一个EndPointFile处指定的初始点文件,包含系统中每个节点的电压和电流.2.DC分析的一些有用设置.DC分析的设置界面如下图所示.在设置界面中有两个参数可用于调试DC分析以得到合理的分析结果.一个是MonitorProgress,如果设为0,Transcript将报告分析的整个执行时间;如果设为-1,Transcript将报告执行概要和时间;如果设为正数,Transcript将报告电路系统的总体信息、运算法则、CPU时间等.另一个是Debug,它对Saber计算的每个可能方案进行统计,该特点通常用于当Saber用默认设置不能找到工作点或者要知道设计在工作点上是否收敛.另外,在InputOutput标签栏,还有两个参数比较常用.一个是StartingInitialPointFile,它包含在DC分析开始时,所有设计变量的初始值.默认文件名(zero),设置所有连续时间变量(模拟)为0,如果在数字管脚上,事件驱动(数字)或者不定义或者为一个初始值.另一个是EndingInitialPointFile,它包含在DC分析完成处的节点值,用该文件作为其它Saber分析的初始点文件,如时域(瞬态)和小信号频域(ac).默认情况下,Saber为该文件命名dc.3.如何查看DC分析的结果.在SaberGuide中有两种方法可以查看DC分析的结果,一种是通过DC分析报告查看,另一种是直接将DC分析结果反标到原理图上.在SaberGuide用户界面内,选择Results>OperationPointReport下拉菜单,可调出显示DC分析结果的设置对话框,采用默认设置,点击Apply按钮,则可在ReportTool中显示DC分析结果.在SaberGuide用户界面内,选择Results>BackAnnotation...下拉菜单,可直接将DC分析结果反标到原理图上.4.DC分析的意义.DC分析的结果是一组数值,这些数值定义了在time=0时,非线性系统的稳定状态的值.DC分析遵循一下几个规则:a、将所有随时间变化的参数以及它们的衍生物设置为0;b、将所有噪声源设置为0;c、将所有ac源设置为0;d、将所有随时间变化的元件可以从电路中有效移走(如:电容器视为开路,电感视为短路);e、将所有与时间有关的源有效移走;5、DC分析的作用DC分析在Saber软件中地位非常重要,可以说它是其它分析的基础.具体来说,它有两个基本作用:a、它为其它分析的提供工作点,Saber用工作点作为时域分析的首个数据点.对小信号频率分析,Saber在工作点周围应用小正弦信号;b.提供快速检查,以查出可能不正确的部件参数.虽然大多数电路图工具有电气规则检查来验证设计的连接性,但是这些工具不能查出来指定的元件参数,如:如果100kΩ的电阻器上忘记“k”,或者与DC电源连接反向了,设计将会通过检查,但是系统功能是不正确的.1.如何开始DT分析a.打开DT分析对话框(Analyses>OperatingPoint>DCTransfer)b.设置DT分析面板的内容,IndependenceSource和Sweeprange一定要设置,否则,就会出现lan_boy001网友在留言中提到的那种错误“RequiredFieldsnotComplete!!”c.点击Apply按钮,执行DT分析.在默认情况下,成功的DT分析会创建一个与原理图文件同名尾缀为.dt.ai_pl的波形文件.2.DT分析的一些有用设置.DC分析的设置界面如下图所示.在设置界面中有两个参数一定要进行设置.一个是IndependenceSource,它用于制定DT分析所扫描的独立源,其输入可以是系统中的任何一个独立激励源,如电气上的电压源、电流源,后者电磁系统的磁通源和磁势源等,但一定要是独立源,受控源不能作为其输入,可以通过点击旁边的箭头选择BrowseDesign,通过弹出的对话框进行选择并指定.另一个必须设置的参数是SweepRange,它用于制定所扫描变化独立源的变化规则以及内容.系统默认的是变化规则是stepby模式,即所谓的步进模式,即从一个起始值开始按照固定的步长进行变化,到结束值为止.选择这种模式,下面的from后面设置起始值,to后面设置结束值,by后面设置步长.下面在来看看DT分析和后面要介绍的其他几种分析所共有的几个设置参数.一个是上图中的PlotAfterAnalysis,改参数用于确定在分析接受一个是否自动在Scope中打开分析结果文件以及打开的方式,默认设置的NO,不打开;可改选为Yes或者其它参数.在来看看InputOutput标签栏的几个参数,InputOutput标签栏如下图所示:其中常用的几个是SignalList,IncludeSignalTypes以及PlotFile和DataFile参数.SignalList栏用于设置分析结果文件中包含那些系统变量,它有一套固定的语法表达,这里就不仔细介绍了,只是简单看看它的设置菜单中的几个选项(单击旁边的箭头可弹出下拉菜单).a.AllTopLevelSignals表示所有顶层变量(默认值);b.AllSignals表示系统中的所有变量;c.BrowseDesign可通过弹出的选择界面进行选择.IncludeSignalTypes用于设置分析结果文件中包含那种类型的系统变量.其中a.AcossVariablesOnly只包含跨接变量;b.ThroughtVariablesOnly只包含贯通变量;c.AcossandThroughVariables包含跨接以及贯通变量;通常情况下,SignalList和IncludeSignalTypes需要配合使用.PlotFile和DataFile用于指定输出波形文件和数据文件的名字.关于这几个参数设置的定义以及使用,看参考我以前的博客文章《Saber 中如何控制TR分析的仿真数据大小》.3.如何查看DT分析的结果.在SaberGuide中有两种方法可以查看DT分析的结果,一种是通过SCOPE查看分析结果的波形文件,另一种是利用交叉探针(Probe)功能直接在原理图上查看分析结果波形.在SaberGuide用户界面内,选中一个系统节点并单击邮件,在弹出菜单中选择Probe即可显示改节点的波形.另外,在Scope中打开分析结果文件,选择需要观察的信号,并双击,也可在Scope中显示分析结果.4.DT分析的意义.DT分析的实际上是在用户指定的范围内,对独立电压(电流)源按照指定步长进行扫描变化,并计算系统的直流工作点.其基本功能还是计算系统的直流工作点.5.DT分析的作用DT分析常用于分析器件以及系统的各种直流特性,如BJT、MOSFET的转移特性等,如下图所示:再比如,由运算放大器构成的电路的直流特性,如我以前的博客文章《带输出钳位功能的运算放大器》提到的例子.1.如何开始AC分析a.打开AC分析对话框(Analyses>Frequency>SmallSignalAC...)b.设置AC分析面板的内容,StartFrequency和EndFrequency一定要设置,否则,就无法进行仿真了,另外,进行AC分析之前,一定要将原理图中被当作AC激励源的模型的ac_mag参数修改为非零,否则AC分析无法得到正确的结果;c.点击Apply按钮,执行AC分析.在默认情况下,成功的AC分析会创建一个与原理图文件同名尾缀为.ac.ai_pl的波形文件;2.AC分析的一些有用设置.AC分析的设置界面如下图所示.在设置界面中有两个参数一定要进行设置.一个是StartFrequency,它用于指定AC分析的起始频率点,单位为Hz,另一个是EndFrequency,它用于指定AC分析的结束频率点,单位和StartFrequency 一致.一般情况下,要求EndFrequency的值比StartFrequency的值大.设置完这两个参数之后,可直接单击Apply或者OK按钮,执行AC分析.Basic标签栏中还有另外两个比较常用的参数.一个是IncrementType,它用于指定从StartFrequency到EndFrequency之间频率变化的规则,log表示按对数方式变化,lin代表线性变化,这个参数将会觉得AC分析结果文件的显示方式,默认情况下使用log 方式.另一个参数是NumberofPoints,它用于控制AC分析的精度,其值越高,代表在StartFrequncy 和EndFrequency之间插入的分析点越多,分析精度就越高.剩下的一些常用参数包括PlotAfterAnalysis,SignalList以及PlotFile、DataFile等,其定义可使用方式与前面介绍的DT分析一致,具体情况可参考有关DT分析的博客文章《SaberGuide的使用(三)》.3.如何查看AC分析的结果.在SaberGuide中有查看AC分析结果的方法和前面介绍的DT分析一致,一种是通过SCOPE查看分析结果的波形文件,另一种是利用交叉探针(Probe)功能直接在原理图上查看分析结果波形.具体情况可参考前面关于DT分析的博客文章.4.AC分析的意义.AC分析把系统变量看成频率的函数,在指定工作点下对系统进行线性分析(缺省工作点是直流工作点分析(DC)的输出结果,由此可以看出,DC分析的重要性,不进行DC分析,AC分析就无法进行了),计算系统在不同频率下的行为.5.AC分析的作用.AC分析通过用来观察系统或者元件的频域行为,它要求目标系统是线性的,并且主要分析系统在小信号激励情况下的频率效应特性.它通过扫描输入端正弦信号源的频率,得到系统的频域特性,典型的AC分析反映了系统增益和相位与频率的关系,如下图所示:。
第一章 SABER的建模方法研究一、前言:SABER仿真软件中的器体模型库很丰富,各种器件模型多达1万个,但它们均是一些通用的器件模型,可以满足大多数情况下的仿真需求。
但在下列三种情况下,就要自已建立模型进行仿真。
1、SABER提供的仿真模型不能满足一些特殊要求,如在进行参数扫描仿真分析时,不能将几个参数同时变化扫描进行仿真。
2、在对控制策略和系统进行仿真时,对于特定的控制算法或调节器通用软件本身不会提供现成的算法模型,此时就必须进行建模。
3、SABER提供的模型本身存在缺陷,仿真不能真实地反映电路或系统的工作情况。
如果遇到上述情况之一,为了取得较好的仿真结果和现实指导意义,建立仿真模型将不可避免。
通常建立仿真模型的方法有两种,一种是基于SABER模型库中已有的模型进行组合,将由多个器件组成的电路打包成一个器件,这种方法也称之为电路等级建模法;另一种是用MAST语言进行编写,对器件的行为进行描述,这在研究控制算法中应用较多。
下面列举实例,从这两个方面进行具体介绍建模的操作方法和思路。
二、基于电路基本器件的建模方法:电路等级建模法。
实例:在进行三相对称电路仿真时,在三相输入或输出的三根相线中串联三个电抗器La、Lb、Lc和并联三个电容进行滤波,并需要三个电抗器的电感值或三个电容值同时变化进行参数扫描分析,为了简化电路和仿真分析,可将它们组合成一个电路符号,并对三个电感和电容进行归一化处理。
1、画电路图:在SaberSketch中,将三个电感和电容接成如图1-1所示的电路。
图1-1、三相滤波电路图2、定义与外电路相连的接线端口和参数:在SABER的器件库界面下,利用关键词hierarchical查找,可以查找出四种接线端:Hierarchical Analog、Hierarchical Bidirection、Hierarchical Input、Hierarchical Output四个接线端口,它们均可放入电路图中与接线端相连,分别适用于模拟、双向、输入和输出端口。
Saber 软件简介Saber软件主要用于外围电路的仿真模拟,包括SaberSketch和SaberDesigner 两部分。
SaberSketch用于绘制电路图,而SaberDesigner用于对电路仿真模拟,模拟结果可在SaberScope和DesignProbe中查看。
Saber的特点归纳有以下几条:1.集成度高:从调用画图程序到仿真模拟,可以在一个环境中完成,不用四处切换工作环境。
2.完整的图形查看功能:Saber提供了SaberScope和DesignProbe来查看仿真结果,而SaberScope功能更加强大。
3.各种完整的高级仿真:可进行偏置点分析、DC分析、AC分析、瞬态分析、温度分析、参数分析、傅立叶分析、蒙特卡诺分析、噪声分析、应力分析、失真分析等。
4.模块化和层次化:可将一部分电路块创建成一个符号表示,用于层次设计,并可对子电路和整体电路仿真模拟。
5.模拟行为模型:对电路在实际应用中的可能遇到的情况,如温度变化及各部件参数漂移等,进行仿真模拟。
第一章用SaberSketch画电路图在SaberSketch的画图工具中包括了模拟电路、数字电路、机械等模拟技术库,也可以大致分成原有库和自定义库。
要调用库,在Parts Gallery中,通过对库的描述、符号名称、MAST模板名称等,进行搜索。
画完电路图后,在SaberSketch界面可以直接调用SaberGuide对电路进行模拟,SaberGuide 的所有功能在SaberSketch中都可以直接调用。
¾启动SaberSketchSaberSketch包含电路图和符号编辑器,在电路图编辑器中,可以创建电路图。
如果要把电路图作为一个更大系统的一部分,可以用SaberSketch将该电路图用一个符号表示,作为一个块电路使用。
启动SaberSketch:▲UNIX:在UNIX窗口中键入 Sketch▲Windows NT:在SaberDesigner程序组中双击SaberSketch图标下面是SaberSketch的用户界面及主要部分名称,见图1-1:退出SaberSketch用 File>Exit。
Saber仿真软件入门教程SABER讲义第一章使用Saber Designer创建设计本教材的第一部分介绍怎样用Saber Design创建一个包含负载电阻和电容的单级晶体管放大器。
有以下任务:*怎样使用Part Gallery来查找和放置符号*怎样使用Property Editor来修改属性值*怎样为设计连线*怎样查找一些常用模板在运行此教材前,要确认已正确装载Saber Designer并且准备好在你的系统上运行(找系统管理员)。
注:对于NT鼠标用户:两键鼠标上的左、右键应分别对应于本教材所述的左、右键鼠标功能。
如果教材定义了中键鼠标功能,还介绍了完成该任务的替代方法。
一、创建教材目录你需要创建两个目录来为你所建立的单级放大器电路编组数据。
1. 创建(如有必要的话)一个名为analogy_tutorial的目录,以创建教材实例。
2. 进入analogy_tutorial目录。
3. 创建一个名为amp的目录。
4. 进入amp目录。
二、使用Saber Sketch创建设计在这一部分中,你将使用Saber Sketch设计一个单级晶体管放大器。
1. 调用Saber Sketch(Sketch),将出现一个空白的原理图窗口。
2. 按以下方法为设计提供名称3) 通过选择File>Save As …菜单项,存储目前空白的设计。
此时将出现一个Save Schematic As对话框,如图1所示。
图 12) 在File Name字段输入名称Single_amp。
3) 单击OK。
3. 检查Saber Sketch工作面1)将光标置于某一图符上并保持在那里。
会显示一个文字窗口来识别该图符。
在工作面底部的Help字段也可查看有关图符的信息2)注意有一个名为Single_amp的Schematic窗口出现在工作面上。
三、放置部件在教材的这一部分你将按图2所示在原理框图上放置符号。
图中增加了如r1、r2等部件标号以便参照。
Saber软件的历史提到Saber软件的历史,就不得不提到几个公司Analogy,Avanti和Synopsys.Saber于1987年由Analogy公司推出,专用与混合信号和混合技术领域仿真验证.大家需要注意的一点是,1987年到现在已经20年了,也就是说Saber 这个软件产品从出生到现在已经活了20年.在非常注重商业效益的西方社会,一个软件产品在经历了20年的市场风雨以后,依然能够继续存在,只能说明一点,它确实有用,能够帮用户解决一些设计问题.到了90年中期,Avanti公司收购了Analogy 公司,Saber软件变成了Avanti公司的产品.在后来,到2000年左右的时候,Avanti 公司在那场EDA行业中最为惨烈专利战争中败给了当时的EDA行业巨头CADENCE,并为此要付出高额赔偿.当时EDA行业的另一巨头Synopsys抓住机会,将Avanti公司收购,而Saber软件也再次易主,成为Synopsys公司的产品.关于Synopsys公司和EDA行业,我不多说,有兴趣的网友可以上网查查.Saber软件的特点及应用领域Saber软件的特点我想主要有这么几个,一是集成度高,从调用绘制原理图到仿真分析,可以在一个环境中完成,不用切换工作环境.二是各种分析功能齐全,即可以进行DC、DT、AC、TR等这些基本功能分析,也能进行温度、参数灵敏度、蒙特卡诺、噪声、应力、失真等高级分析.三是强大的仿真数据后处理能力,运动SaberScope 工具,可以方便,自由的对仿真结果数据进行各种分析和比较乃至运算,同时,Saber 软件的交叉探针功能(crossprobe)可以很方便的在Sketch中观察仿真结果数据.Saber软件的工具环境Saber软件主要包括SaberGuide、SaberSketch、SaberScope三部分.SaberSketch主要用于绘制电路图,而SaberGuide用于仿真控制,仿真结果可在SaberScope查看.并且,目前Saber软件支持WindowsXP,Linux, UINX等多种平台.讨论SaberSketch的使用.如果我们采样基于原理图的仿真方式,那么Sketch是我们在整个仿真过程中主要操作的一个界面.先来看看要完成一次仿真,在Sketch中需要做些什么工作.1.启动Sketch,新建一个原理图设计;(呵呵,有点废话)2.选择和放置电路元件;3.设置元件参数;4.连线并设置网络节点名称;5.对混合信号以及混合技术的情况下,对接口部分进行处理;6.新建符号并添加到原理图中(如果需要)7.添加图框;(如果需要)8.保存设计,退出或启动SaberGuide界面,开始仿真设置.这几个步骤中,1和8我想不用介绍了,5和6我曾经在以前的博客文章中介绍过,7 做为可选项我不准备介绍,毕竟大家在PartGallery里找找就能找到包含图框的目录.着重介绍一些2、3、4.先来看看第二步选择和放置元件,关于如何放置元件,我想大家都会,在PartGalley里选中要放置的器件,双击鼠标左键就可以在原理图编辑界面中仿真一个符号了.新版的Saber中,支持鼠标的拖拽,即选中器件后,按住鼠标左键就可把元件拖入原理图编辑界面.下面主要介绍一下,如何在Sketch中找到需要的模型符号,在介绍这部分内容之前,先澄清几个概念,以便理解后面的一些过程.首先是符号和模型.对于仿真器而言,只能接受按固定语法描述的网表以及模型文件,无法理解符号以及由符号构成的原理图;而对于普通使用者而言,模型以及网表的语法过于抽象,不能直观的反映设计思想.为了解决这种矛盾,EDA工具中便有了符号和模型的概念.符号主要给人使用,用来编辑原理图;模型主要给仿真器(即计算机)用,用来建立数学方程.Saber中的符号和模型存在一一对应的关系,PartGallery中的每一个符号,都有一个模型与之对应.因此,用户在PartGellery中调用的符号就等于调用了模型,不过这种方式更为直观.需要注意的是,如果PartGallery中没有需要的模型符号,也就代表Saber的模型库中没有需要的模型,此时要想继续仿真,用户就必须自己提供(建模或者下载)模型并为模型建立相应的符号.另外,Saber软件中模型和网表问题的尾缀是一样的,都是*.sin,或许是因为它把网表也看成一个大的模型吧.另外两个需要了解的概念是模板(template)和器件(component).Saber里的模型就分这两类.简单的说,模板(template)是基于某一类器件的通用模型,它需要用户根据需要设置各种参数以达到使用要求;而器件(component)是某一或者某一系列商用元件(如LM324)的模型,它无须用户进行任何设置,可直接使用.另外,Saber的component 库分两种,DX库和SL库,后者比前者缺少容差和应力分析参数.来讨论一下如何在Sketch找到合适的器件.对一张原理图来讲,要完成对它的分析验证,首先是需要保证原理图中的各个元器件在Saber模型库中都有相应的模型;其次要保证在Sketch中绘制的原理图与原图的连接关系一致;再者就是根据目标系统的工作特点,设置并调整相应的分析参数.这三个条件都达到,应该能得到一个不错的分析结果.一张原理图中需要的模型涉及很多,但不管怎样,其所对应的模型正如我前面介绍的那样,只有template和component两种.对于需要设置参数template 模型,需要去PartGallery中寻找;而component模型则直接可以利用PartGallery 的search功能或者Parametric Search 工具进行进行查找.对于template对应的模型,由于template是某一类元件的通用模型,因此我们要在PartGallery里按照器件分类去寻找,而PartGallery的库组织结构也正是按照类来划分的.以下面的PartGallery为例(对应版本是Saber2006.06,以前的版本会有一些区别).在PartGallery中顶层目录按照大的应用领域和市场领域划分.比如Aerospace 目录下主要包含与宇航工业相关的一些模型;Automotive目录下主要包括与汽车行业相关的一些模型;Power System 目录下主要包括与电源系统设计相关的模型.这种分类方法的一个目地就是,如果你确定自己的目标系统属于其中的一个,就可以直接在该目录下查找所有需要的模型了.当然,还有一种分类方法,就是按照技术领域分类.个人认为,这种分类方法对于搞技术的人来说更加直观和方便.在上面的图中直接左键单击MAST Parts Library 目录,就可以得到如下图所示的展开.从上图中看,就可以更为直观的按照技术领域寻找需要的template模型了.比如,要找电机之类的模型,可在Electro-Mechanical目录下找,要找机械负载模型,可在Mechanical目录下找,各种激励源或者参考地可在Sources,Power,Ground目录下找.各种模拟数字电路可在Electronics目录下找.查找template模型的另一种方法是利用PartGalley的search功能.如下图所示:在search栏里输入需要查找的关键字符就按回车就可以了,利用这个功能需要对saber的template模型命名规则有一些了解.基本上,saber中template模型的名字都与其英文术语多少有些关系.比如,gnd 代表参考地,resistor 代表电阻,capacitor 代表电容, switch 代表开关之类的. 同时,还可以通过Search Object 和 Search Match去修改search的规则和范围,提高search 的效率.这些选项的具体含义看参考saber的帮助文档.需要注意的是,通常情况下,不用去改变这两个选项.在PartGallery里查找component的方法主要有两种,一种直接利用PartGallery 的search功能去搜索,只要清楚的知道所需模型的名称,就可以在search中输入查找,如果Saber的模型库中有该器件的模型,则会在下面显示出来.如果下图所示,是查找运算放大器NE5532的结果.需要注意的是,不同的尾缀主要是器件封装上的区别.但有一种例外,以_sl结尾的属于前面介绍过的SL库,这种模型没有MC和STRESS特性,但仿真速度很快.当用上述方法查找没有任何输出的时候,则表明Saber软件模型库中没有这个模型.这种情况下,可以去器件厂商的网站上找找,看看有没有提供该器件的模型,基于saber的或者基于spice都可以.如果是saber的,可直接为其建立符号并引用;如果是基于spice的,则需要用sketch中的Nspitos工具将其转换为saber模型以后在使用.但如果没法找到需要的模型,则需要对其进行建模,这是很多设计者不愿意做的事情.除了建模以外,我们还可以利用sketch中的parametric search工具来近似的完成任务.利用这个工具在PartGallery中查找指标参数和所需器件相近或者一样的模型来替代原图中的器件进行仿真,这样也能达到验证的目地.Parametric search工具如下图所示:首先选择器件类型,然后在后面出现的对话框中设置各种参数,缩小匹配器件的范围,如下图所示的运算放大器设置界面,在其中设置各种参数以后,单击finish按钮,可得到检索结果,在结果中选择一个可接受的,就可以作为替代模型使用了.1. 基本参数及其含义前面曾经介绍过Saber的模型库主要有两类模型,一类是component,不需要设置的任何参数,可以直接使用;另一类是template,需要根据目标器件的特点设置各种参数以达到使用要求.无论是哪一类模型,都含有最基本的两个参数,一个是primitive,另一个是ref.primitive参数表明符号对应的模型名称,而ref参数是该模型在原理图中的唯一标识符,我想这个概念用过其他原理图编辑软件的网友,都应该能了解.如下图所示:上图是sketch电阻模型的参数设置界面,可以通过在sketch中双击该器件符号启动该设置界面.图中primitive属性的值为r,表明该符号对应的模型名称为r,在saber安装目录的template目录下,会有一个r.sin文件,里面包含着名字为r的模型.图中ref参数的值为r1,这表明这个器件在该图中的唯一表示符是r1,即在同一张原理图上,不能再出现ref值为r1的电阻模型,否则sketch会报错.值得一提的是,这两个参数都是软件自动指定的,其中primitive参数一般不允许用户更改,所以为锁定状态(蓝色的锁表示锁定该属性),而ref参数可由用户修改,因此在修改ref参数的时候要注意,不要把该参数设置重复了.另外,框中黑点表示该属性名称及值在电路图中不可见,半绿半黑表示该属性的值在电路图中可见,全绿表示该属性名称及值在电路图中都可见.对于上图中的设置,则在电路图中有如下显示:2. 获取参数含义的基本方法至于模型中的其他参数,就需要用户根据自己的需要进行设置了,由于saber软件template非常多,而且每个template带的参数也不少,因此不可能一一介绍参数的含义.这里给出几种查找参数定义的方法:a. 在属性编辑器的下拉菜单中,选择Help>Help on Part,会启动Acrobat reader,并显示与模型相关的帮助文档.b. 选中属性,在属性编辑器左下角的Help处会显示该属性的含义.c. 在属性编辑器中选择Help>View Template,或者在电路图中,鼠标移至元件符号处,从右键快捷菜单中选择View Template,可以查看器件的MAST模板,在里面会有各种参数的解释.3. 关于全局变量的设置Saber软件提供了一种全局变量参数设置的方法.这种全局变量一旦设定以后,可以被整个原理图中所有元器件引用.该全局变量设置符号的名称为“Saber Include File”,可以利用它指定全局变量.有兴趣的网友可以去试试,但需要主要,元件的属性定义优先于全局变量定义的值.4. 关于变量的分层传递关于这个问题,我曾在我的博客文章《滤波器电路仿真》和《滤波器电路仿真续》中仔细介绍过,有兴趣的网友可以去查查看.来谈谈sketch中如何布线的问题,这个问题不太复杂,在这里只是对布线方法和过程做一个简单的总结.1. 如何开始一段布线?先来看看如何在sketch中开始一段布线,通常有四种途径可以在sketch中开始一段布线:a. 将鼠标移至元件管脚处,图标变成十字架,表示鼠标已在管脚处,点击左键即可开始画线;b. 快捷键方式-按W键开始画线;c. 点击图标栏中的布线按钮开始画线;d. 选择Schematic>Create>Wire,或者从右键快捷菜单中选择Create>Wire 命令开始画线;2.如何控制走线方向?要改变布线方向,在指定位置点击左键,然后可以继续画下一段线.在布线过程中,如果按Escape键可取消整个布线;如果双击鼠标左键,可完成这段布线;布线完成以后,如果左键单击选中这段线并Delete键,可删除这段布线.这里需要注意的是两个问题,一是sketch中默认的布线都是正交方式,如何绘制任意角度的线呢?二是在布线过程中,如果只想取消到上一个端点的布线而不是整根布线,该如何处理(注意:Escape键是取消整根布线)?布线时,在未结束布线前,点击鼠标右键,可弹出快捷菜单,菜单中的Any-Angle Segment命令可以实现任意角度布线,而Delete Previous Vertex命令可以删除先前的端点.3.如何给连线命名?画完连线后,可以给它命名,如果不命名,Sketch会自动为连线生成一个名字(如_n183).虽然这样,但对于连线比较多的目标系统,还是建议针对关键节点进行命名,以便在scope中观察结果.给连线命名的方法如下:a. 将光标移至连线上,高亮显示红色,单击鼠标右键,在弹出菜单中选择Attributes命令;b. 操作显示连线属性框,在Name栏更改连线的名字,在Display栏选择是否sketch中显示连线名字;c. 在连线属性框中的左下脚的Apply 按钮即可.需要注意的是,连线名称应用字母和数字构成切不能和Saber的命令或者MAST 模板的保留字同名.另外,如果多个连线连到同一个点,只需命名一条连线,Sketch会将此命名应用到与其相连的其它连线.4. 如何实现不直接连接但表示同一网络节点?有时候,由于要绘制的原理图比较复杂,各种线相互交杂,使得阅读原理图非常不方便,这就需要一种不直接连接,但能表示为同一网络的方法以简化原理图.Sketch 中只要两条连线名称相同,就被认为是相连的,因此可用命名相同连线名称的方法实现,但这种方法相对不够直观.另一种方法是使用页间连接器(Same Page Connector),其符号位于Parts Gallery的MAST Parts Library>Schematic Only>Connector,编辑其Name属性即可改变连线名称,通过页间连接器来定义连线名称,这样要更为直观一些.5. 如何绘制一组线?可以使用使用Bundle功能来绘制一组连线.在Sketch图标栏中选择bundle图标,如同画连线一样.要从bundle中添加或移走连线,仅连接或去除连到bundle上的连线即可.Sketch用附于bundle上的连线名来决定连线间的连接,连线名可以在电路图中直接编辑.要修改bundle的属性,高亮显示bundle,从右键快捷菜单中选择Attributes,或者双击bundle.在Sketch中完成电路图后,就可以对设计进行仿真了.在开始今天仿真设置之前,建议对所绘制的原理图进行一次简单的检查.这一步是很有用,因为有很多仿真中出现的问题,都跟原理图有关系.检查的内容主要包括以下几个方面:1. 原理图是否和目标系统一致,有没有连错线路,或者参数设置不对;2. 如果是混合技术混合信号系统,各种接口设置是否正确;3. 系统中有没有对地短路的节点;4. 系统中有没有悬空的节点;5. 如原理图分层次,确认当前的是不是顶层原理图.在完成检查之后,可以通过在sketch中通过Design/Netlist 命令为原理图自动产生网表(关于网表和原理图的关系,以前已讨论过).如果报错,则根据出错信息修改原理图,如果没有报错,则表明已生成网表,可继续调用 Design/Simulate将网表文件加载到仿真器当中,同时启动SaberGuide仿真环境设置界面(注意:此时仍在Sketch框架内,不过菜单和快捷按钮发生了变化).如果一切正常,则会在右上角的状态栏上显示 Saber Ready或者 Simulator Ready(不同版本的区别),如果出错,则要根据出错信息修改原理图,并重复上述过程直至能够正常加载网表文件为止.到了这里,就进入了SaberGuide工具的管辖界内,可以开始仿真了.仿真的过程操作相对简单,通过快捷按钮或Analysis菜单下的相应命令启动所需进行分析的设置界面,根据要求进行设置,单击OK或者Apply按钮就可以开始仿真了.仿真结束以后,可以通过scope后者sketch中的probe工具观察仿真结果.Saber软件提供的分析功能很多,每一种分析功能都有自己特定的应用领域.在这里不准备一一介绍,着重讨论一下4个基本也是最常用的分析功能,DC、DT、AC、TR.1. 如何开始DC分析a. 打开DC分析对话框(Analyses>Operating Point>DC Analysis)b. 设置DC分析面板的内容,大多数情况下,Saber用默认设置就可以制定工作点.c. 点击Apply按钮,执行DC分析.成功的DC分析会创建一个End Point File处指定的初始点文件,包含系统中每个节点的电压和电流.2. DC分析的一些有用设置.DC分析的设置界面如下图所示.在设置界面中有两个参数可用于调试DC分析以得到合理的分析结果.一个是Monitor Progress,如果设为0,Transcript将报告分析的整个执行时间;如果设为-1,Transcript将报告执行概要和时间;如果设为正数,Transcript将报告电路系统的总体信息、运算法则、CPU时间等.另一个是Debug,它对Saber计算的每个可能方案进行统计,该特点通常用于当Saber用默认设置不能找到工作点或者要知道设计在工作点上是否收敛.另外,在Input Output标签栏,还有两个参数比较常用.一个是Starting Initial Point File,它包含在DC分析开始时,所有设计变量的初始值.默认文件名(zero),设置所有连续时间变量(模拟)为0,如果在数字管脚上,事件驱动(数字)或者不定义或者为一个初始值.另一个是 Ending Initial Point File,它包含在DC分析完成处的节点值,用该文件作为其它Saber分析的初始点文件,如时域(瞬态)和小信号频域(ac).默认情况下,Saber为该文件命名dc.3. 如何查看DC分析的结果.在SaberGuide中有两种方法可以查看DC分析的结果,一种是通过DC分析报告查看,另一种是直接将DC分析结果反标到原理图上.在SaberGuide用户界面内,选择Results>Operation Point Report下拉菜单,可调出显示DC分析结果的设置对话框,采用默认设置,点击Apply按钮,则可在Report Tool中显示DC分析结果. 在SaberGuide用户界面内,选择Results>Back Annotation... 下拉菜单,可直接将DC分析结果反标到原理图上.4. DC分析的意义.DC分析的结果是一组数值,这些数值定义了在time=0时,非线性系统的稳定状态的值.DC分析遵循一下几个规则:a. 将所有随时间变化的参数以及它们的衍生物设置为0;b. 将所有噪声源设置为0;c. 将所有ac源设置为0;d. 将所有随时间变化的元件可以从电路中有效移走(如:电容器视为开路,电感视为短路);e. 将所有与时间有关的源有效移走;5. DC分析的作用DC分析在Saber软件中地位非常重要,可以说它是其它分析的基础.具体来说,它有两个基本作用:a. 它为其它分析的提供工作点,Saber用工作点作为时域分析的首个数据点.对小信号频率分析,Saber在工作点周围应用小正弦信号;c. 提供快速检查,以查出可能不正确的部件参数.虽然大多数电路图工具有电气规则检查来验证设计的连接性,但是这些工具不能查出来指定的元件参数,如:如果100kΩ的电阻器上忘记“k”,或者与DC电源连接反向了,设计将会通过检查,但是系统功能是不正确的.1. 如何开始DT分析a. 打开DT分析对话框(Analyses>Operating Point>DC Transfer)b. 设置DT分析面板的内容,Independence Source 和 Sweep range一定要设置,否则,就会出现lan_boy001网友在留言中提到的那种错误“Required Fields not Complete!!”c. 点击Apply按钮,执行DT分析.在默认情况下,成功的DT分析会创建一个与原理图文件同名尾缀为.dt.ai_pl的波形文件.2. DT分析的一些有用设置.DC分析的设置界面如下图所示.在设置界面中有两个参数一定要进行设置.一个是Independence Source,它用于制定DT分析所扫描的独立源,其输入可以是系统中的任何一个独立激励源,如电气上的电压源、电流源,后者电磁系统的磁通源和磁势源等,但一定要是独立源,受控源不能作为其输入,可以通过点击旁边的箭头选择Browse Design,通过弹出的对话框进行选择并指定.另一个必须设置的参数是Sweep Range,它用于制定所扫描变化独立源的变化规则以及内容.系统默认的是变化规则是step by 模式,即所谓的步进模式,即从一个起始值开始按照固定的步长进行变化,到结束值为止.选择这种模式,下面的from 后面设置起始值,to后面设置结束值,by 后面设置步长.下面在来看看DT分析和后面要介绍的其他几种分析所共有的几个设置参数.一个是上图中的Plot After Analysis, 改参数用于确定在分析接受一个是否自动在Scope中打开分析结果文件以及打开的方式,默认设置的NO,不打开;可改选为Yes或者其它参数.在来看看Input Output标签栏的几个参数,Input Output 标签栏如下图所示:其中常用的几个是Signal List,Include Signal Types以及Plot File和Data File 参数. Signal List栏用于设置分析结果文件中包含那些系统变量,它有一套固定的语法表达,这里就不仔细介绍了,只是简单看看它的设置菜单中的几个选项(单击旁边的箭头可弹出下拉菜单).a. All TopLevel Signals 表示所有顶层变量(默认值);b. All Signals 表示系统中的所有变量;c. Browse Design 可通过弹出的选择界面进行选择.Include Signal Types用于设置分析结果文件中包含那种类型的系统变量.其中a. Acoss Variables Only 只包含跨接变量;b. Throught Variables Only 只包含贯通变量;c. Acoss and Through Variables 包含跨接以及贯通变量;通常情况下,Signal List 和Include Signal Types 需要配合使用. Plot File 和Data File用于指定输出波形文件和数据文件的名字.关于这几个参数设置的定义以及使用,看参考我以前的博客文章《Saber中如何控制TR分析的仿真数据大小》.3. 如何查看DT分析的结果.在SaberGuide中有两种方法可以查看DT分析的结果,一种是通过SCOPE查看分析结果的波形文件,另一种是利用交叉探针(Probe)功能直接在原理图上查看分析结果波形.在SaberGuide用户界面内,选中一个系统节点并单击邮件,在弹出菜单中选择Probe即可显示改节点的波形.另外,在Scope中打开分析结果文件,选择需要观察的信号,并双击,也可在Scope中显示分析结果.4. DT分析的意义.DT分析的实际上是在用户指定的范围内,对独立电压(电流)源按照指定步长进行扫描变化,并计算系统的直流工作点.其基本功能还是计算系统的直流工作点.5. DT分析的作用DT分析常用于分析器件以及系统的各种直流特性,如BJT、MOSFET的转移特性等,如下图所示:功能的运算放大器》提到的例子.1. 如何开始AC分析a. 打开AC分析对话框(Analyses>Frequency>Small Signal AC...)b. 设置AC分析面板的内容,Start Frequency 和 End Frequency 一定要设置,否则,就无法进行仿真了,另外,进行AC分析之前,一定要将原理图中被当作AC激励源的模型的ac_mag参数修改为非零,否则AC分析无法得到正确的结果;c. 点击Apply按钮,执行AC分析.在默认情况下,成功的AC分析会创建一个与原理图文件同名尾缀为.ac.ai_pl的波形文件;2. AC分析的一些有用设置.AC分析的设置界面如下图所示.在设置界面中有两个参数一定要进行设置.一个是Start Frequency,它用于指定AC分析的起始频率点,单位为Hz,另一个是End Frequency, 它用于指定AC分析的结束频率点,单位和Start Frequency一致.一般情况下,要求End Frequency。
第一章SABER 的建模方法研究一、 前SABER 仿真软件中的器体模型库很丰富,各种器件模型多达1万个,但它们均是 一些通用的器件模型,可以满足大多数情况下的仿真需求。
但在下列三种情况下,就 要自己建立模型进行仿真。
1、 S ABER 提供的仿真模型不能满足一些特殊要求,如在进行参数扫描仿真分析时, 不能将儿个参数同时变化扫描进行仿真。
2、 在对控制策略和系统进行仿真时,对于特定的控制算法或调节器通用软件本身不会 提供现成的算法模型,此时就必须进行建模。
3、 S ABER 提供的模型本身存在缺陷,仿真不能真实地反映电路或系统的工作情况。
如果遇到上述情况之一,为了取得较好的仿真结果和现实指导意义,建立仿真模型 将不可避免。
通常建立仿真模型的方法有两种,一种是基于SABER 模型库中己有的模 型进行组合,将由多个器件组成的电路打包成一个器件,这种方法也称之为电路等级 建模法;另一种是用MAST 语言进行编写,对器件的行为进行描述,这在研究控制算 法中应用较多。
下面列举实例,从这两个方而进行具体介绍建模的操作方法和思路。
二、 基于电路基本器件的建模方法:电路等级建模法。
实例:在进行三相对称电路仿真时,在三相输入或输出的三根相线中串联三个电 抗器La 、Lb 、Lc 和并联三个电容进行滤波,并需要三个电抗器的电感值或三个电容值 同时变化进行参数扫描分析,为了简化电路和仿真分析,可将它们组合成一个电路符 号,并对三个电感和电容进行归一化处理。
1、画屯路图:在SabeiSketch 中,将三个电感和电容接成如图1-1所示的电路。
refilll:lfref 12 l:lf图1・1、三相滤波电路图ref:l3 l:lfref:c1 c:cfref:c2 ref:c3 c:cf c :cf 中2、定义与外电路相连的接线端□和参数:在SABER 的器件库界而下,利用关键词hierarchical 查找,可以查找出四种接线端: Hieiaichical Analogs Hieiaiclucal Bidiiection> Hierarchical Input 、Hieiarclucal Output0 个接线端曰,它们均可放入电路图中与接线端相连,分别适用于模拟、双向、输入和 输出端口。
Saber教程全Saber软件的历史提到Saber软件的历史,就不得不提到⼏个公司Analogy,Avanti和Synopsys.Saber于1987年由Analogy公司推出,专⽤与混合信号和混合技术领域仿真验证.⼤家需要注意的⼀点是,1987年到现在已经20年了,也就是说Saber 这个软件产品从出⽣到现在已经活了20年.在⾮常注重商业效益的西⽅社会,⼀个软件产品在经历了20年的市场风⾬以后,依然能够继续存在,只能说明⼀点,它确实有⽤,能够帮⽤户解决⼀些设计问题.到了90年中期,Avanti公司收购了Analogy 公司,Saber软件变成了Avanti公司的产品.在后来,到2000年左右的时候,Avanti 公司在那场EDA⾏业中最为惨烈专利战争中败给了当时的EDA⾏业巨头CADENCE,并为此要付出⾼额赔偿.当时EDA⾏业的另⼀巨头Synopsys抓住机会,将Avanti公司收购,⽽Saber软件也再次易主,成为Synopsys公司的产品.关于Synopsys公司和EDA⾏业,我不多说,有兴趣的⽹友可以上⽹查查.Saber软件的特点及应⽤领域Saber软件的特点我想主要有这么⼏个,⼀是集成度⾼,从调⽤绘制原理图到仿真分析,可以在⼀个环境中完成,不⽤切换⼯作环境.⼆是各种分析功能齐全,即可以进⾏DC、DT、AC、TR等这些基本功能分析,也能进⾏温度、参数灵敏度、蒙特卡诺、噪声、应⼒、失真等⾼级分析.三是强⼤的仿真数据后处理能⼒,运动SaberScope ⼯具,可以⽅便,⾃由的对仿真结果数据进⾏各种分析和⽐较乃⾄运算,同时,Saber 软件的交叉探针功能(crossprobe)可以很⽅便的在Sketch中观察仿真结果数据.Saber软件的⼯具环境Saber软件主要包括SaberGuide、SaberSketch、SaberScope三部分.SaberSketch主要⽤于绘制电路图,⽽SaberGuide⽤于仿真控制,仿真结果可在SaberScope查看.并且,⽬前Saber软件⽀持WindowsXP,Linux, UINX等多种平台.讨论SaberSketch的使⽤.如果我们采样基于原理图的仿真⽅式,那么Sketch是我们在整个仿真过程中主要操作的⼀个界⾯.先来看看要完成⼀次仿真,在Sketch中需要做些什么⼯作.1.启动Sketch,新建⼀个原理图设计;(呵呵,有点废话)2.选择和放置电路元件;3.设置元件参数;4.连线并设置⽹络节点名称;5.对混合信号以及混合技术的情况下,对接⼝部分进⾏处理;6.新建符号并添加到原理图中(如果需要)7.添加图框;(如果需要)8.保存设计,退出或启动SaberGuide界⾯,开始仿真设置.这⼏个步骤中,1和8我想不⽤介绍了,5和6我曾经在以前的博客⽂章中介绍过,7 做为可选项我不准备介绍,毕竟⼤家在PartGallery⾥找找就能找到包含图框的⽬录.着重介绍⼀些2、3、4.先来看看第⼆步选择和放置元件,关于如何放置元件,我想⼤家都会,在PartGalley⾥选中要放置的器件,双击⿏标左键就可以在原理图编辑界⾯中仿真⼀个符号了.新版的Saber中,⽀持⿏标的拖拽,即选中器件后,按住⿏标左键就可把元件拖⼊原理图编辑界⾯.下⾯主要介绍⼀下,如何在Sketch中找到需要的模型符号,在介绍这部分内容之前,先澄清⼏个概念,以便理解后⾯的⼀些过程.⾸先是符号和模型.对于仿真器⽽⾔,只能接受按固定语法描述的⽹表以及模型⽂件,⽆法理解符号以及由符号构成的原理图;⽽对于普通使⽤者⽽⾔,模型以及⽹表的语法过于抽象,不能直观的反映设计思想.为了解决这种⽭盾,EDA⼯具中便有了符号和模型的概念.符号主要给⼈使⽤,⽤来编辑原理图;模型主要给仿真器(即计算机)⽤,⽤来建⽴数学⽅程.Saber中的符号和模型存在⼀⼀对应的关系,PartGallery中的每⼀个符号,都有⼀个模型与之对应.因此,⽤户在PartGellery中调⽤的符号就等于调⽤了模型,不过这种⽅式更为直观.需要注意的是,如果PartGallery中没有需要的模型符号,也就代表Saber的模型库中没有需要的模型,此时要想继续仿真,⽤户就必须⾃⼰提供(建模或者下载)模型并为模型建⽴相应的符号.另外,Saber软件中模型和⽹表问题的尾缀是⼀样的,都是*.sin,或许是因为它把⽹表也看成⼀个⼤的模型吧.另外两个需要了解的概念是模板(template)和器件(component).Saber⾥的模型就分这两类.简单的说,模板(template)是基于某⼀类器件的通⽤模型,它需要⽤户根据需要设置各种参数以达到使⽤要求;⽽器件(component)是某⼀或者某⼀系列商⽤元件(如LM324)的模型,它⽆须⽤户进⾏任何设置,可直接使⽤.另外,Saber的component 库分两种,DX库和SL库,后者⽐前者缺少容差和应⼒分析参数.来讨论⼀下如何在Sketch找到合适的器件.对⼀张原理图来讲,要完成对它的分析验证,⾸先是需要保证原理图中的各个元器件在Saber模型库中都有相应的模型;其次要保证在Sketch中绘制的原理图与原图的连接关系⼀致;再者就是根据⽬标系统的⼯作特点,设置并调整相应的分析参数.这三个条件都达到,应该能得到⼀个不错的分析结果.⼀张原理图中需要的模型涉及很多,但不管怎样,其所对应的模型正如我前⾯介绍的那样,只有template和component两种.对于需要设置参数template 模型,需要去PartGallery中寻找;⽽component模型则直接可以利⽤PartGallery 的search功能或者Parametric Search ⼯具进⾏进⾏查找.对于template对应的模型,由于template是某⼀类元件的通⽤模型,因此我们要在PartGallery⾥按照器件分类去寻找,⽽PartGallery的库组织结构也正是按照类来划分的.以下⾯的PartGallery为例(对应版本是Saber2006.06,以前的版本会有⼀些区别).在PartGallery中顶层⽬录按照⼤的应⽤领域和市场领域划分.⽐如Aerospace ⽬录下主要包含与宇航⼯业相关的⼀些模型;Automotive⽬录下主要包括与汽车⾏业相关的⼀些模型;Power System ⽬录下主要包括与电源系统设计相关的模型.这种分类⽅法的⼀个⽬地就是,如果你确定⾃⼰的⽬标系统属于其中的⼀个,就可以直接在该⽬录下查找所有需要的模型了.当然,还有⼀种分类⽅法,就是按照技术领域分类.个⼈认为,这种分类⽅法对于搞技术的⼈来说更加直观和⽅便.在上⾯的图中直接左键单击MAST Parts Library ⽬录,就可以得到如下图所⽰的展开.从上图中看,就可以更为直观的按照技术领域寻找需要的template模型了.⽐如,要找电机之类的模型,可在Electro-Mechanical⽬录下找,要找机械负载模型,可在Mechanical⽬录下找,各种激励源或者参考地可在Sources,Power,Ground⽬录下找.各种模拟数字电路可在Electronics⽬录下找.查找template模型的另⼀种⽅法是利⽤PartGalley的search功能.如下图所⽰:在search栏⾥输⼊需要查找的关键字符就按回车就可以了,利⽤这个功能需要对saber的template模型命名规则有⼀些了解.基本上,saber中template模型的名字都与其英⽂术语多少有些关系.⽐如,gnd 代表参考地,resistor 代表电阻,capacitor 代表电容, switch 代表开关之类的. 同时,还可以通过Search Object 和 Search Match去修改search的规则和范围,提⾼search 的效率.这些选项的具体含义看参考saber的帮助⽂档.需要注意的是,通常情况下,不⽤去改变这两个选项.在PartGallery⾥查找component的⽅法主要有两种,⼀种直接利⽤PartGallery 的search功能去搜索,只要清楚的知道所需模型的名称,就可以在search中输⼊查找,如果Saber的模型库中有该器件的模型,则会在下⾯显⽰出来.如果下图所⽰,是查找运算放⼤器NE5532的结果.需要注意的是,不同的尾缀主要是器件封装上的区别.但有⼀种例外,以_sl结尾的属于前⾯介绍过的SL库,这种模型没有MC和STRESS特性,但仿真速度很快.当⽤上述⽅法查找没有任何输出的时候,则表明Saber软件模型库中没有这个模型.这种情况下,可以去器件⼚商的⽹站上找找,看看有没有提供该器件的模型,基于saber的或者基于spice都可以.如果是saber的,可直接为其建⽴符号并引⽤;如果是基于spice的,则需要⽤sketch中的Nspitos⼯具将其转换为saber模型以后在使⽤.但如果没法找到需要的模型,则需要对其进⾏建模,这是很多设计者不愿意做的事情.除了建模以外,我们还可以利⽤sketch中的parametric search⼯具来近似的完成任务.利⽤这个⼯具在PartGallery中查找指标参数和所需器件相近或者⼀样的模型来替代原图中的器件进⾏仿真,这样也能达到验证的⽬地.Parametric search⼯具如下图所⽰:⾸先选择器件类型,然后在后⾯出现的对话框中设置各种参数,缩⼩匹配器件的范围,如下图所⽰的运算放⼤器设置界⾯,在其中设置各种参数以后,单击finish按钮,可得到检索结果,在结果中选择⼀个可接受的,就可以作为替代模型使⽤了.1. 基本参数及其含义前⾯曾经介绍过Saber的模型库主要有两类模型,⼀类是component,不需要设置的任何参数,可以直接使⽤;另⼀类是template,需要根据⽬标器件的特点设置各种参数以达到使⽤要求.⽆论是哪⼀类模型,都含有最基本的两个参数,⼀个是primitive,另⼀个是ref.primitive参数表明符号对应的模型名称,⽽ref参数是该模型在原理图中的唯⼀标识符,我想这个概念⽤过其他原理图编辑软件的⽹友,都应该能了解.如下图所⽰:上图是sketch电阻模型的参数设置界⾯,可以通过在sketch中双击该器件符号启动该设置界⾯.图中primitive属性的值为r,表明该符号对应的模型名称为r,在saber安装⽬录的template⽬录下,会有⼀个r.sin⽂件,⾥⾯包含着名字为r的模型.图中ref参数的值为r1,这表明这个器件在该图中的唯⼀表⽰符是r1,即在同⼀张原理图上,不能再出现ref值为r1的电阻模型,否则sketch会报错.值得⼀提的是,这两个参数都是软件⾃动指定的,其中primitive参数⼀般不允许⽤户更改,所以为锁定状态(蓝⾊的锁表⽰锁定该属性),⽽ref参数可由⽤户修改,因此在修改ref参数的时候要注意,不要把该参数设置重复了.另外,框中⿊点表⽰该属性名称及值在电路图中不可见,半绿半⿊表⽰该属性的值在电路图中可见,全绿表⽰该属性名称及值在电路图中都可见.对于上图中的设置,则在电路图中有如下显⽰:2. 获取参数含义的基本⽅法⾄于模型中的其他参数,就需要⽤户根据⾃⼰的需要进⾏设置了,由于saber软件template⾮常多,⽽且每个template带的参数也不少,因此不可能⼀⼀介绍参数的含义.这⾥给出⼏种查找参数定义的⽅法:a. 在属性编辑器的下拉菜单中,选择Help>Help on Part,会启动Acrobat reader,并显⽰与模型相关的帮助⽂档.b. 选中属性,在属性编辑器左下⾓的Help处会显⽰该属性的含义.c. 在属性编辑器中选择Help>View Template,或者在电路图中,⿏标移⾄元件符号处,从右键快捷菜单中选择View Template,可以查看器件的MAST模板,在⾥⾯会有各种参数的解释.3. 关于全局变量的设置Saber软件提供了⼀种全局变量参数设置的⽅法.这种全局变量⼀旦设定以后,可以被整个原理图中所有元器件引⽤.该全局变量设置符号的名称为“Saber Include File”,可以利⽤它指定全局变量.有兴趣的⽹友可以去试试,但需要主要,元件的属性定义优先于全局变量定义的值.4. 关于变量的分层传递关于这个问题,我曾在我的博客⽂章《滤波器电路仿真》和《滤波器电路仿真续》中仔细介绍过,有兴趣的⽹友可以去查查看.来谈谈sketch中如何布线的问题,这个问题不太复杂,在这⾥只是对布线⽅法和过程做⼀个简单的总结.1. 如何开始⼀段布线?先来看看如何在sketch中开始⼀段布线,通常有四种途径可以在sketch中开始⼀段布线:a. 将⿏标移⾄元件管脚处,图标变成⼗字架,表⽰⿏标已在管脚处,点击左键即可开始画线;b. 快捷键⽅式-按W键开始画线;c. 点击图标栏中的布线按钮开始画线;d. 选择Schematic>Create>Wire,或者从右键快捷菜单中选择Create>Wire 命令开始画线;2.如何控制⾛线⽅向?要改变布线⽅向,在指定位置点击左键,然后可以继续画下⼀段线.在布线过程中,如果按Escape键可取消整个布线;如果双击⿏标左键,可完成这段布线;布线完成以后,如果左键单击选中这段线并Delete键,可删除这段布线.这⾥需要注意的是两个问题,⼀是sketch中默认的布线都是正交⽅式,如何绘制任意⾓度的线呢?⼆是在布线过程中,如果只想取消到上⼀个端点的布线⽽不是整根布线,该如何处理(注意:Escape键是取消整根布线)?布线时,在未结束布线前,点击⿏标右键,可弹出快捷菜单,菜单中的Any-Angle Segment命令可以实现任意⾓度布线,⽽Delete Previous Vertex命令可以删除先前的端点.3.如何给连线命名?画完连线后,可以给它命名,如果不命名,Sketch会⾃动为连线⽣成⼀个名字(如_n183).虽然这样,但对于连线⽐较多的⽬标系统,还是建议针对关键节点进⾏命名,以便在scope中观察结果.给连线命名的⽅法如下:a. 将光标移⾄连线上,⾼亮显⽰红⾊,单击⿏标右键,在弹出菜单中选择Attributes命令;b. 操作显⽰连线属性框,在Name栏更改连线的名字,在Display栏选择是否sketch中显⽰连线名字;c. 在连线属性框中的左下脚的Apply 按钮即可.需要注意的是,连线名称应⽤字母和数字构成切不能和Saber的命令或者MAST 模板的保留字同名.另外,如果多个连线连到同⼀个点,只需命名⼀条连线,Sketch会将此命名应⽤到与其相连的其它连线.4. 如何实现不直接连接但表⽰同⼀⽹络节点?有时候,由于要绘制的原理图⽐较复杂,各种线相互交杂,使得阅读原理图⾮常不⽅便,这就需要⼀种不直接连接,但能表⽰为同⼀⽹络的⽅法以简化原理图.Sketch 中只要两条连线名称相同,就被认为是相连的,因此可⽤命名相同连线名称的⽅法实现,但这种⽅法相对不够直观.另⼀种⽅法是使⽤页间连接器(Same Page Connector),其符号位于Parts Gallery的MAST PartsLibrary>Schematic Only>Connector,编辑其Name属性即可改变连线名称,通过页间连接器来定义连线名称,这样要更为直观⼀些.5. 如何绘制⼀组线?可以使⽤使⽤Bundle功能来绘制⼀组连线.在Sketch图标栏中选择bundle图标,如同画连线⼀样.要从bundle中添加或移⾛连线,仅连接或去除连到bundle上的连线即可.Sketch⽤附于bundle上的连线名来决定连线间的连接,连线名可以在电路图中直接编辑.要修改bundle的属性,⾼亮显⽰bundle,从右键快捷菜单中选择Attributes,或者双击bundle.在Sketch中完成电路图后,就可以对设计进⾏仿真了.在开始今天仿真设置之前,建议对所绘制的原理图进⾏⼀次简单的检查.这⼀步是很有⽤,因为有很多仿真中出现的问题,都跟原理图有关系.检查的内容主要包括以下⼏个⽅⾯:1. 原理图是否和⽬标系统⼀致,有没有连错线路,或者参数设置不对;2. 如果是混合技术混合信号系统,各种接⼝设置是否正确;3. 系统中有没有对地短路的节点;4. 系统中有没有悬空的节点;5. 如原理图分层次,确认当前的是不是顶层原理图.在完成检查之后,可以通过在sketch中通过Design/Netlist 命令为原理图⾃动产⽣⽹表(关于⽹表和原理图的关系,以前已讨论过).如果报错,则根据出错信息修改原理图,如果没有报错,则表明已⽣成⽹表,可继续调⽤ Design/Simulate将⽹表⽂件加载到仿真器当中,同时启动SaberGuide仿真环境设置界⾯(注意:此时仍在Sketch框架内,不过菜单和快捷按钮发⽣了变化).如果⼀切正常,则会在右上⾓的状态栏上显⽰ Saber Ready或者 Simulator Ready(不同版本的区别),如果出错,则要根据出错信息修改原理图,并重复上述过程直⾄能够正常加载⽹表⽂件为⽌.到了这⾥,就进⼊了SaberGuide⼯具的管辖界内,可以开始仿真了.仿真的过程操作相对简单,通过快捷按钮或Analysis菜单下的相应命令启动所需进⾏分析的设置界⾯,根据要求进⾏设置,单击OK或者Apply按钮就可以开始仿真了.仿真结束以后,可以通过scope后者sketch中的probe⼯具观察仿真结果.Saber软件提供的分析功能很多,每⼀种分析功能都有⾃⼰特定的应⽤领域.在这⾥不准备⼀⼀介绍,着重讨论⼀下4个基本也是最常⽤的分析功能,DC、DT、AC、TR.1. 如何开始DC分析a. 打开DC分析对话框(Analyses>Operating Point>DC Analysis)b. 设置DC分析⾯板的内容,⼤多数情况下,Saber⽤默认设置就可以制定⼯作点.c. 点击Apply按钮,执⾏DC分析.成功的DC分析会创建⼀个End Point File处指定的初始点⽂件,包含系统中每个节点的电压和电流.2. DC分析的⼀些有⽤设置.DC分析的设置界⾯如下图所⽰.在设置界⾯中有两个参数可⽤于调试DC分析以得到合理的分析结果.⼀个是Monitor Progress,如果设为0,Transcript将报告分析的整个执⾏时间;如果设为-1,Transcript将报告执⾏概要和时间;如果设为正数,Transcript将报告电路系统的总体信息、运算法则、CPU时间等.另⼀个是Debug,它对Saber计算的每个可能⽅案进⾏统计,该特点通常⽤于当Saber⽤默认设置不能找到⼯作点或者要知道设计在⼯作点上是否收敛.另外,在Input Output标签栏,还有两个参数⽐较常⽤.⼀个是Starting Initial Point File,它包含在DC分析开始时,所有设计变量的初始值.默认⽂件名(zero),设置所有连续时间变量(模拟)为0,如果在数字管脚上,事件驱动(数字)或者不定义或者为⼀个初始值.另⼀个是 Ending Initial Point File,它包含在DC分析完成处的节点值,⽤该⽂件作为其它Saber分析的初始点⽂件,如时域(瞬态)和⼩信号频域(ac).默认情况下,Saber 为该⽂件命名dc.3. 如何查看DC分析的结果.在SaberGuide中有两种⽅法可以查看DC分析的结果,⼀种是通过DC分析报告查看,另⼀种是直接将DC分析结果反标到原理图上.在SaberGuide⽤户界⾯内,选择Results>Operation Point Report下拉菜单,可调出显⽰DC分析结果的设置对话框,采⽤默认设置,点击Apply按钮,则可在Report Tool中显⽰DC分析结果. 在SaberGuide⽤户界⾯内,选择Results>Back Annotation... 下拉菜单,可直接将DC分析结果反标到原理图上.4. DC分析的意义.DC分析的结果是⼀组数值,这些数值定义了在time=0时,⾮线性系统的稳定状态的值.DC分析遵循⼀下⼏个规则:a. 将所有随时间变化的参数以及它们的衍⽣物设置为0;b. 将所有噪声源设置为0;c. 将所有ac源设置为0;d. 将所有随时间变化的元件可以从电路中有效移⾛(如:电容器视为开路,电感视为短路);e. 将所有与时间有关的源有效移⾛;5. DC分析的作⽤DC分析在Saber软件中地位⾮常重要,可以说它是其它分析的基础.具体来说,它有两个基本作⽤:a. 它为其它分析的提供⼯作点,Saber⽤⼯作点作为时域分析的⾸个数据点.对⼩信号频率分析,Saber在⼯作点周围应⽤⼩正弦信号;c. 提供快速检查,以查出可能不正确的部件参数.虽然⼤多数电路图⼯具有电⽓规则检查来验证设计的连接性,但是这些⼯具不能查出来指定的元件参数,如:如果100kΩ的电阻器上忘记“k”,或者与DC电源连接反向了,设计将会通过检查,但是系统功能是不正确的.1. 如何开始DT分析a. 打开DT分析对话框(Analyses>Operating Point>DC Transfer)b. 设置DT分析⾯板的内容,Independence Source 和 Sweep range⼀定要设置,否则,就会出现lan_boy001⽹友在留⾔中提到的那种错误“Required Fields not Complete!!”c. 点击Apply按钮,执⾏DT分析.在默认情况下,成功的DT分析会创建⼀个与原理图⽂件同名尾缀为.dt.ai_pl的波形⽂件.2. DT分析的⼀些有⽤设置.DC分析的设置界⾯如下图所⽰.在设置界⾯中有两个参数⼀定要进⾏设置.⼀个是Independence Source,它⽤于制定DT分析所扫描的独⽴源,其输⼊可以是系统中的任何⼀个独⽴激励源,如电⽓上的电压源、电流源,后者电磁系统的磁通源和磁势源等,但⼀定要是独⽴源,受控源不能作为其输⼊,可以通过点击旁边的箭头选择Browse Design,通过弹出的对话框进⾏选择并指定.另⼀个必须设置的参数是Sweep Range,它⽤于制定所扫描变化独⽴源的变化规则以及内容.系统默认的是变化规则是step by 模式,即所谓的步进模式,即从⼀个起始值开始按照固定的步长进⾏变化,到结束值为⽌.选择这种模式,下⾯的from 后⾯设置起始值,to后⾯设置结束值,by 后⾯设置步长.下⾯在来看看DT分析和后⾯要介绍的其他⼏种分析所共有的⼏个设置参数.⼀个是上图中的Plot After Analysis, 改参数⽤于确定在分析接受⼀个是否⾃动在Scope中打开分析结果⽂件以及打开的⽅式,默认设置的NO,不打开;可改选为Yes或者其它参数.在来看看Input Output标签栏的⼏个参数,Input Output 标签栏如下图所⽰:其中常⽤的⼏个是Signal List,Include Signal Types以及Plot File和Data File 参数. Signal List栏⽤于设置分析结果⽂件中包含那些系统变量,它有⼀套固定的语法表达,这⾥就不仔细介绍了,只是简单看看它的设置菜单中的⼏个选项(单击旁边的箭头可弹出下拉菜单).a. All TopLevel Signals 表⽰所有顶层变量(默认值);b. All Signals 表⽰系统中的所有变量;c. Browse Design 可通过弹出的选择界⾯进⾏选择.Include Signal Types⽤于设置分析结果⽂件中包含那种类型的系统变量.其中a. Acoss Variables Only 只包含跨接变量;b. Throught Variables Only 只包含贯通变量;c. Acoss and Through Variables 包含跨接以及贯通变量;通常情况下,Signal List 和Include Signal Types 需要配合使⽤. Plot File 和Data File⽤于指定输出波形⽂件和数据⽂件的名字.关于这⼏个参数设置的定义以及使⽤,看参考我以前的博客⽂章《Saber中如何控制TR分析的仿真数据⼤⼩》.3. 如何查看DT分析的结果.在SaberGuide中有两种⽅法可以查看DT分析的结果,⼀种是通过SCOPE查看分析结果的波形⽂件,另⼀种是利⽤交叉探针(Probe)功能直接在原理图上查看分析结果波形.在SaberGuide⽤户界⾯内,选中⼀个系统节点并单击邮件,在弹出菜单中选择Probe即可显⽰改节点的波形.另外,在Scope中打开分析结果⽂件,选择需要观察的信号,并双击,也可在Scope中显⽰分析结果.4. DT分析的意义.DT分析的实际上是在⽤户指定的范围内,对独⽴电压(电流)源按照指定步长进⾏扫描变化,并计算系统的直流⼯作点.其基本功能还是计算系统的直流⼯作点.5. DT分析的作⽤DT分析常⽤于分析器件以及系统的各种直流特性,如BJT、MOSFET的转移特性等,如下图所⽰:功能的运算放⼤器》提到的例⼦.。
saber-2004基础教程1fd6774 楼主发帖时间:2008-3-12 10:12:00 博客播客收藏回复加为好友发送消息建议删除该贴!! 选择和放置电路元件打开电路图编辑窗口后,就可以放置元件符号了。
在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所示,用A vailable Categories列表中的导航树,一层层往下查找。
第一章使用Saber Designer创建设计本教材的第一部分介绍怎样用Saber Design创建一个包含负载电阻和电容的单级晶体管放大器。
有以下任务:*怎样使用Part Gallery来查找和放置符号*怎样使用Property Editor来修改属性值*怎样为设计连线*怎样查找一些常用模板在运行此教材前,要确认已正确装载Saber Designer并且准备好在你的系统上运行(找系统管理员)。
注:对于NT鼠标用户:两键鼠标上的左、右键应分别对应于本教材所述的左、右键鼠标功能。
如果教材定义了中键鼠标功能,还介绍了完成该任务的替代方法。
一、创建教材目录你需要创建两个目录来为你所建立的单级放大器电路编组数据。
1. 创建(如有必要的话)一个名为analogy_tutorial的目录,以创建教材实例。
2. 进入analogy_tutorial目录。
3. 创建一个名为amp的目录。
4. 进入amp目录。
二、使用Saber Sketch创建设计在这一部分中,你将使用Saber Sketch设计一个单级晶体管放大器。
1. 调用Saber Sketch(Sketch),将出现一个空白的原理图窗口。
2. 按以下方法为设计提供名称3) 通过选择File>Save As …菜单项,存储目前空白的设计。
此时将出现一个Save Schematic As对话框,如图1所示。
图 12) 在File Name字段输入名称Single_amp。
3) 单击OK。
3. 检查Saber Sketch工作面1) 将光标置于某一图符上并保持在那里。
会显示一个文字窗口来识别该图符。
在工作面底部的Help字段也可查看有关图符的信息2) 注意有一个名为Single_amp的Schematic窗口出现在工作面上。
三、放置部件在教材的这一部分你将按图2所示在原理框图上放置符号。
图中增加了如r1、r2等部件标号以便参照。
图 2 单级晶体管放大器部件布局1. 按以下方式查找和放置npn晶体管符号:1) 单击Parts Gallery图符出现Parts Gallery对话框,如图3所示。
Saber电源仿真——基础篇下面仅以简单的实例,介绍一下saber的基本应用,供初学者参考。
在saber安装完成之后,点击进入saber sketch,然后选择file—> new—>schematic,进入原理图绘制画面,如下图所示:在进入原理图绘制界面之后,可以按照我们自己的需要来绘制电路原理图。
首先,我们来绘制一个简单的三极管共发射极电路。
第一步,添加元器件,在空白处点击鼠标右键菜单get part—>part gallery有两个选择器件的方法,上面的左图是search画面,可以在搜索框中键入关键字来检索,右图是borwse画面,可以在相关的文件目录下查找自己需要的器件。
通常情况下,选择search方式更为快捷,根据关键字可以快速定位到自己想要的器件。
如下图所示,输入双极型晶体管的缩写bjt,回车确定,列表中显示所有含有关键字bjt的器件,我们选择第三个选择项,这是一个理想的NPN型三极管,双击之后,在原理图中就添加了该器件。
依照此方法,我们先后输入voltage source查找电压源,并选择voltage source general purpose添加到原理图。
输入resistor,选择resistor[I]添加到原理图(添加2个)。
输入GND,选择ground(saber node 0)添加到原理图,ground(saber node 0)是必须的,否则saber仿真将因为没有参考地而无法进行。
然后按下键盘的W键,光标变成了一个十字星,即表示可绘制wire(连线),将所有的器件连接起来。
如下图所示:其中电压源为12V,基极电阻为10k,集电极电阻为1k,共发射极连接。
选择分析方法,由于这是一个大信号系统,我们寻找的是一个静态直流工作点,因此我们选择下图所示的DC operating point,将basic中的display after analysis项选择Yes,完成后点击OK。
直流工作点仿真结果如下:三极管的基极电压为0.8422V,集电极电压为0.06869V,即深度饱和时,Vbe约为0.84V,Vce约为0.069V。
还有一种更为直观的方法,如同示波器一样观测每个节点的电压波形,如下图所示:选择分析图标栏的第五项operating point / transient,弹出窗口,进行参数设定。
在上图中的basic栏中,End Time指的是仿真结束的时间,这个时间指的是电路运行的时间跨度,而不是仿真软件工作的时间,在本示例中,由于在系统中没有时变量和电容器,所以选择1us就足够了,默认单位为s,所以输入1u。
Time Step指的是仿真软件计算步进,即从这个工作点到下一个工作点的时间跨度,在本示例中,由于没有瞬变量,选择100ns就可以了,输入100n。
Monitor Progress采用默认设置,Plot Analysis选择下拉框中的Yes-replace Plot,表示每一次仿真之后,所有的仿真结果都更新为最新值。
在上图中,input/output一栏里,waveform at pins选择下拉框中的Across and Through Variables,表示仿真结果同时含有电压和电流值,这样你既可以看电压波形,也可以看电流波形。
在右图的Transient选项栏里,Data File的输入框中输入_ ,即下划线,表示仿真结果不以文件的形式输出(只保存在虚拟内存中),一旦关闭仿真软件,仿真结果将会丢失。
记住,这里一定要输入下划线,否则你的硬盘很容易被仿真结果文件填满,一个小的仿真结果文件都有几百M,稍大一点的都有几个G,还是节省一点吧,不要以文件形式保存在硬盘中了。
还需要设置integration control栏中的Max Time Step和Min Time Step选项,这两个会影响仿真的速度,一个是最大步进,一个是最小步进,仿真的步进将在这两个值之间,这两个值取的越大,仿真软件的运行速度越快,但同样的会降低仿真的精度,导致结果可能失真。
同时,有一点必须注意,Min Time Step必须小于Basic中设置的Time Step,否则仿真软件会因为错误而终止仿真进程。
在本示例中,我们选择Max Time Step为200ns,Min Time Step为99ns(小于Time Step设定的100ns)。
以上参数设置完成之后,其他参数均保持默认值,点击OK,saber会运行仿真进程。
仿真结束之后,程序会打开cosmoscope界面,让我们可以观察所有节点的电压和电流波形。
如上图所示,在cosmoscope界面里,有两个对话框,第一个是signal manager,其中显示所有可供选择的仿真结果文件,此文件保存在虚拟内存中,软件关闭后即丢失。
第二个对话框显示所选中的仿真结果文件中所有可供观察的节点,我们点击三极管q_3p.q_3p1的可选项,选择b和c,即基极b和集电极c的电压,分别双击,其波形显示如下:选择测量选项,分别测得Vc为0.06869V,Vb为0.8422V,与DC operating point中分析的结果一致。
以上是一个简单的示例,下面我们再仿真一个稍微复杂一点的电路,用TL431和三极管共同构成的一个线性直流稳压电源,如下图所示:添加TL431的方法与上面添加其他器件的一样,在空白处点击鼠标右键—>get part—>parts gallery,然后输入tl431进行关键字检索,在搜索到的器件列表中选择tl431c,双击添加到原理图中。
这里还有两个简单的原理图绘制技巧,如果想添加某个器件,原理图中已有类似器件,比如说电阻,那么不必再去检索了,鼠标左键单击已有的电阻,这时器件颜色为绿色,表示已选中,然后用ctrl+C复制,鼠标左键再点击空白处,键盘ctrl+V 粘贴,器件就添加完成了,修改其参数即可。
第二个就是旋转器件的角度,鼠标左键点击选中器件,鼠标右键点击弹出菜单栏,其中的rotate选项可以按照角度旋转器件,flip选项可以上下或左右翻转器件。
在本示例中,我们想做一个10V 0.5A的线性电源。
输入电压12V,用TL431来控制输出电压值,反馈比例为1k/(1k+3k)=1/4,输出电压即为2.5V*4=10V,负载电阻为20Ω,输出电流为10V/20Ω=0.5A,假定三极管的Vbe为0.8V,那么TL431阴极电压为10V+0.8V=10.8V,TL431的工作电流在1mA~100mA之间,这里我们选择三极管集电极和基极之间的跨接电阻为50Ω,则流过该电阻的电流为(12V-10.8V)/50Ω=24mA,假定三极管的放大倍数为100,那么流入三极管基极的电流为5mA,流入TL431阴极的电流为19mA,满足TL431工作电流的取值范围。
首先来看一下DC operating point的分析结果:n_9即为输出电压,其值为9.998V,与我们设计的10V输出电压吻合。
接下来用operating point / transient来看一下各节点的电压波形:接下来,我们的仿真工作要进入开关电源的领域了,先从最简单的BUCK电路开始吧,脑子里面不能立即勾画出BUCK电路的请举手,您可以从大学一年级重新开始学习啦。
仿真之前,先做简单的设定和计算:输入电压20V,输出电压10V,那么稳态占空比是0.5。
输出电流10A,那么负载电阻是1Ω。
设定电流纹波系数为0.4,纹波电流峰峰值为10A*0.4=4A。
设定开关频率为100kHz,开关周期为10us,那么电感量为:L=(20V-10V)*(10us*0.5)/4A=12.5uH。
电容根据经验值取100uF,电容的大小将决定输出电压纹波的大小,取的大一点,输出电压纹波小一点,大家可以自由选取,观察输出电压纹波的大小。
仿真的优点就是你可以随心所欲的选取你的参数,来观察不同的仿真结果,而不用劳心劳力的去焊板子调试,示波器观测。
参数计算完成之后,下面要在saber中添加元器件,绘制原理图了:首先,我们要添加一个开关管,你可以添加一个真实的MOSFET,也可以用一个模拟开关替代,由于本示例仅仅是验证BUCK 电路的原理,所以选择了模拟开关。
在search检索栏中输入关键字switch确认,在检索结果中选择switch,analog SPST w/logicEnbl,双击添加到原理图中。
在原理图中双击该器件,打开属性栏,需要设置一些关键参数,ron即开关导通时的阻抗,此处保持默认值0.001Ω,roof 即开关管关闭时的阻抗,此处保持默认值1megΩ(1兆欧),如果你想改变导通和关断阻抗也是可以的,还是那句话,随心所欲。
ton和toff是两个关键参数,即开关管的开通时间和关断时间,表示开关管的开关速度,理论上我们希望开关速度越快越好,比如你可以设置为1ns(注意,必须大于0,所以不能设置为0),但是这两个值影响到saber仿真的时间步进,即saber仿真参数中的Min Time Step必须小于ron和roff,否则仿真进程会因为错误而无法进行。
所以如果ron和roff设置的太小,仿真参数中的Min Time Step也必须设置很小,导致仿真速度很慢,需要等待很长时间才能结束仿真进程,尤其是在大型的系统仿真中,由于电路结构复杂,元器件多,saber的计算量很大,如果时间步进再设置的很小,可能需要几十分钟的时间来仿真一个几十毫秒的仿真进程。
当然,您也可以泡一杯咖啡或一杯茶,悠闲的等待。
在本示例中,为了节约时间,设置ron和roff为100ns。
添加了开关管之后,还需要添加一个驱动信号,由于我们使用的模拟开关是逻辑使能的,所以需要一个逻辑时钟信号来驱动它。
在器件搜索栏中输入logic clock,双击搜索结果,添加到原理图中。
然后再双击原理图中的器件,打开属性栏设置参数,有两个关键参数,一个是freq,即频率,此处输入100k,默认单位是Hz,所以不需要画蛇添足的输入单位。
此处再说明一下,saber的参数设置中,所有的参数都是有默认单位的,频率是Hz,时间是s,电压是V,电流是A,功率是W,以此类推,并不需要我们输入单位符号。
第二个参数是duty,即占空比,此处输入0.5。
接下来,依次添加电感(关键字inductor搜索),电容(关键字capacitor搜索),二极管(关键字diode搜索)到原理图中,diode检索后选择diode,ideal,即理想二极管。
添加完成之后,修改必要的参数,电感修改参数栏的l值,输入12.5u,电容修改参数栏的c值,输入100u,二极管修改参数栏的V on值,输入0.3V(肖特基二极管的导通压降)。