第二章仿真模拟前序在SaberSketch中画完电路图后,就可以对设计进行仿真了指定顶级电路图要用Saber对设计进行模拟,必须让SaberSketch知道设计中哪个电路图是最上层的,因为Saber在打开时只能有一个网表,所以在SaberSketch中只能指定一个顶级电路图。如果电路图不包含层次设计,SaberSketch会默认打开的电路图为顶级电路图,可以略过此步,否则,要用SaberSketch中DesignUseDesign_name来指定顶级电路图。当指定顶级电路图后,SaberSketch在用户界面右下角显示设计名称,同时创建一个包含其它模拟信息和层次管理的文件(Design.ai_dsn)。如果电路图是层次的,SaberSketch会增加一个DesignTool(选择ToolsDesignTool或者点击工具栏中的DesignTool图标),如图2-1所示,可以用DesignTool来打开、保存、关闭层次图中的电路图,也可以在各个层次间浏览。虽然只指定一个顶级图,但仍可以打开、浏览层次图以外的其它电路图。图2-1DesignTool网表由于Saber不能直接读取电路图,必须通过网表器产生的网表来进行模拟。产生的网表器是一个ASCII文件,包含元件名、连接点和所有非默认的元件参数。要进行模拟时,只要网表中的连接不同于设计中的,SaberSketch会自动对设计进行网表化。例如:如果增加或修改一条连线,下次分析时,SaberSketch会自动对设计进行网表化并重新调入到Saber中。如果改变连线的颜色,再去进行分析,Saber将使用原有的网表,因为设计的连接没有改变。如果改变属性,SaberSketch会自动发送一条Alter命令到Saber中,改变内存网表,因而减少了重新网表化的需要。设定网表器和Saber实施选项只有第一次运行分析时,Saber才会创建网表并运行,在SaberGuide中进行分析之前,应验证网表器和Saber实施选项。1、在SaberGuide中验证网表器(EditSaber/NetlisterSetting),网表器用下面的选项创建网表,网表包含了电路的所有特性,如图2-2:图2-2网表器设置●Hypermodels:使模拟信号与数字信号匹配,如果没有制定Hypermodel,网表器将使用默认的理想的Hypermodel,其表现特点类似于CMOS技术,输出的默认理想的Hypermodel的表现类似于理想的电压源,其参考电压定义于Netlister/Basic标签的Powernetname和Groundnetname。●MapFiles:使符号与它们相应的MAST模板匹配,MAST是能够被Saber模拟器读取的模型语言。已提供的模拟元件的MapFiles能够自动调入网表器中,提供的MapFiles必须位于saber_home/bin目录中,在Saber/NetlisterSetting框中的MapFiles中具体制定的匹配文件必须位于SABER_DATA_PATH环境变量制定的目录中。2、设定Saber实施选项(EditSaberGuidePreferences),如图2-3所示。图2-3Saber实施选项对设计进行模拟在验证完网表器和Saber实施选项后,下一步将进行模拟,一般情况下,先要验证设计的功能。由于设计的电路是工作在理论条件下,所以要调节设计的参数,以减少设计成本和提高电路的可靠性。Saber软件包含了多种分析,在验证前选择合适的分析类型,分析前,SaberSketch会决定是否有必要重新生成网表,如果有必要,它将会重新生成网表。如果没有制定顶级电路就进行分析,将会提示制定顶级电路图或者取消分析,除非所设计的电路图是单层的。●验证设计功能对所设计的功能,可在时域和频域上进行验证,Saber提供了以下的分析方法:▲要验证设计在时域上的规范,可用瞬态分析来看系统在时间上的响应。傅立叶分析(Fourieranalysis)和快速傅立叶分析(FFTanalysis)将时域上的波形转变成频谱。▲要验证设计在频域上的规范,用交流分析(ACanalysis)来决定系统小信号频率响应,iFFT分析将频域的波形转换成时域上的波形。▲直流传输分析(DCTransferanalysis)来扫描独立源和计算每个操作点的扫描值。●调节设计参数Saber用下列方法来调节设计参数,如设计中的元件数值及容限等:▲Vary:用Vary可以对设计或元件的一系列设定的参数进行描述,对每个参数都进行一系列的分析。▲MonteCarlo:用蒙特卡诺分析对设计或元件参数随机变化,进行各种分析,对模拟结果进行评估。▲Sensitivity:对不同设计或元件的参数的改变,性能测量的敏感度。▲Stress:在精确的DC、DC传输或瞬态分析中,分析元件是否会过应力。●检查Saber脚本点击SaberDesigner用户界面右上角的SaberTranscript图标(cmd)来查看Saber运行的信息,Saber将信息存在与网表相同的目录,名称为design.out的文件。查看分析的波形SaberSketch提供两种查看波形的方法,一种是用SaberScope波形分析器,另一种是用SaberSketch中的DesignProbes。下面将介绍怎样在信号列表中加入节点,怎样查看模板的内部信号,怎样使用SaberSketch中的DesignProbes:●具体制定SaberSketch中的节点或管角来创建波形Saber用信号列表来决定哪个信号加入到画图文件中,可用SaberScope或DesignProbes来查看存于画图文件中的信号的波形。默认情况下,Saber为设计的根目录中的所有节点都会创建波形,可以手动添加或创建节点或管教到信号列表,也可以通过下面的方法:1、确定设计中有.ai_grm文件,如果没有,可以对设计进行网表化即可生成(DesignNetlistdesignname)。2、选择要分析的连线,然后选择所需的分析类型(如瞬态分析)。3、在Input/Output标签中,点击Select按钮创建或修改信号列表,从弹出的菜单中使用其中的一项:▲AllToplevelSignals:分析顶级设计中的所有信号▲AllSignals:分析设计中所有的信号▲GetSelectedSignals:分析已选的节点或管脚名称▲AppendSelectedSignals:在目前的信号列表中追加已选的信号4、在IncludeSignalTypes处,选择下面其中一种:▲AcrossVariablesOnly:仅分析变量两端▲ThroughVariablesOnly:仅分析通过变量的数据▲AllVariables:都分析5、验证分析框中的其它参数设置,点击OK按钮即可运行分析,分析完成后,可用SaberScope或DesignProbes查看节点或管脚的波形。●在连线或管脚上添加DesignProbes,查看波形Probe是SaberSkech中仅有的有波形查看功能的图形窗口,可以在任意一点添加Probe,和SaberScope一样,SaberSketch中的Probe用信号管理器(SignalManager)控制DesignProbes需要调用和查看的画图文件(PlotFiles)。当运行分析时,会覆盖目前的画图文件,SaberSketch会在Probe中刷新波形,如果要保留波形,可以指定一个不同的画图文件名称。1、在设计中添加Probe:将鼠标光标移到连线或管脚处,点击右键,在快捷菜单中选择Probe。要为元件具体管脚添加Probe,将鼠标移到元件符号处,从右键快捷菜单中选Probe,会出现SelectPort对话框,如图2-4所示,从中选择要添加的管脚。图2-4选择元件符号的管脚2、在已有的Probe窗口中探测不同点的波形:将Probe箭头指向连线或管脚即可查看相应的波形,只要相应的信号在画图文件中,就可指向该管脚或连线。(注:本人在用的过程中,如图2-4的情况,选择信号后,可能在Probe中显示不出来,只要把Probe的箭头移到其它地方,再移回来就可以了)3、指定Probe要使用的画图文件:用Probe的信号管理器指定要调用的画图文件(ProbeProbeSignalManager),或者在Probe上的快捷菜单中选择DisplayPlotfiles,可以控制要调用的画图文件。例:图2-5是在一个电路图中改变r6的参数时,两次波形的比较,操作方法如上所述,r6=10k时,选择的画图文件是tr,如图2-6中a所示;r6=20k时,选择的画图文件是tr1,如图2-6中b所示。图2-5在Probe中显示波形示例图2-6修改PlotFile处可以在Probe中显示不同的波形改变设计当分析结束后,如果分析的结果不满足要求,可以改变相应的设计,再进行仿真模拟,知道结果符合要求。●在SaberSketch中改变属性值当在设计中改变属性值时,Saber会发送一条Alter命令将内存网表修改成新值,该方法允许在SaberSketch中修改属性并模拟而不必重新网表化。●在Saber中改变属性值用EditList/Alter菜单项可以查看元件名称、连接点和参数值等。该菜单显示List/AlterDesign框,该框允许改变的参数用于分析中,但是改变的属性不能传回到SaberSketch设计中。▲Netlist:如图2-7所示,面板中列出了设计中的元件及其相应的连接的节点和自变量,可以用Filter来约束HierarchicalInstanceList中陈列出的元件。例如:如果在Filter处键入r.*,表格将只显示设计中的电阻元件。除列出元件外,也可以改变元件参数,选择元件,点击Edit按钮,该操作显示AlterComponents对话框,在Value处键入新的参数值,点击Apply或OK按钮使改变生效。图2-7Netlist面板内容▲Parameters:如图2-8所示,通过该面板也可以改变设计参数,在Parameter栏中指定参数名称,在Value栏中指定数值。例如:要将设计温度改为34℃,可以在Parameter栏中查找或键入temp,在Value栏中键入34,点击Ok或Apply按钮使改变生效。图2-8Parameters面板内容▲History:如图2-9所示,在该面板那,允许重新应用已改变的的参数,调用和保存改变命令(Alter)到命令文件(.scs)。从历史列表中整理和删除先前执行的改变命令。图2-9History面板内容●保留SaberSketch设计中的DC分析数值在执行完DC分析后,可以用DesignBack-annotationPlaceValues下拉菜单保留设计中的每个节点的DC分析数值,当执行该菜单项时,默认情况下,Saber读取命名为dc的初始点文件,然后将DC数值放入名为back的保留注释文件中,SaberSketch将DC数值放入连线左下端以文字表示。如果从dc外的初始点文件查阅DC数值,显示BackAnnotation框(ResultsBackAnnotation),键入初始点文件名称,将PlaceonSchematic处设为yes,点击OK按钮就可以了。若DC数值改变(如重新进行DC分析或者编辑初始点文件),SaberSketch不会更新设计中的DC值,必须按上面的步骤重新放置。退出Saber完成设计后,可以选择FileCloseActive下拉菜单项关闭设计,在退出前,如果在SaveBeforeClosing对话框中设置为yes,Saber将把模拟的状况保存到Design.tbl文件中,这样可以使下次模拟继续使用这次的结果。所有发给Saber的命令及Transcript窗口中的报告信息都将保存在Design.out文件中。