欢迎来到天天文库
浏览记录
ID:49651338
大小:149.50 KB
页数:26页
时间:2020-03-03
《MAST建模讲义.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MAST建模讲义一、引言所谓仿真,就是描述一个实际系统的数学模型的特征,对仿真器而言,系统的模型无非就是一系列的代数或微分方程(组)。MAST语言主要是用来创建模拟、数字或系统模型的,而用MAST语言建模实际上就是指定要被仿真的模型,它实际上就是要建立一系列的方程,因此用MAST语言建模的核心就是用线性(或非线性)的代数、微分方程(组)来描述对象的特征。它包括电、机械、光和流体等。从上面的定义可以看出,Saber仿真器并不是单纯的一个电路模型仿真器,从理论上讲如果你能用MAST语言建立任何建模,通过Saber仿真器就能进行仿真,但在实际情况是它讲受系统
2、硬件的限制。仿真器实际上要作的工作就是解方程。既然Saber仿真器的主要工作就是解方程,那么可不可以将描述系统特征的数学方程用MATLAB来求解呢?因该说是可以的。但是有时建立一个系统的模型非常困难,特别是一些结构复杂的系统。用MAST建模时可以首先建立系统中元件的模型,然后将各个元件按照一定的要求连接起来就构成系统模型,因此在这种情况下描述系统模型方程由仿真器自动完成。正如上所述,只要能写出描述对象特征的方程就能用MAST语言建模,因此MAST语言不仅可以建立模拟元件的模型,还可以建立数字元件的模型,对于数字模型是用元件在各离散时刻的离散值来描述的。
3、在MAST语言中,被Saber仿真器使用的最核心的单元就是模板(template),在创建模型中,模板是分层结构的。所谓分层结构就是在创建模板中可以引用其它模板。这样的结构有几个好处:1)在你创建模板的过程中可以直接调用Saber库中元件模型,这样将大大的减少你编写模板的工作量。2)对于你经常使用到的电路结构(该结构中可以包括其它电路结构),可以将其构成一个子系统,而其它模板可以调用这个子模板。3)可以建立一个顶层模板,在该模板中调用系统中的其它所有模板,它只反映各模板之间的连接及各模板所需要传递的参数。该模板通常叫网表。这样在仿真中修改参数就很方便。
4、模板的命名。在这个问题上有两点需要注意,1、模板的扩展名必须是.sin,即templatename.sin。2、模板名必须以字母开头。如果是用SPICE语言写的模板,Saber仿真器也可以对它进行仿真,但之前必须把它转换为Saber格式,用spitos来转换。根据仿真对象的不同,所建模板的表现形式也不同,描述模板程序不同,构成模板的复杂程度不同,但作为模板它们都有一些共同的特征,首先它们都是由MAST语言写成的(Saber的模型可以由其它语言写,如VHDL,但那不是本课程的内容),其次是模板的结构具有相似性。与此相对应,在本部分内容中应注意MAST语言
5、本身的特征以及模板的一些结构特征。/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////二、模板的结构一个模板可能有部分以下的一个或几个部分,也可能有以下的全部UnitsdefinitionsConnectionpointdefinitionsTemplateheaderHeaderdeclarations26{localdec
6、larationsParameterssectionsWhenstatementsValuessectionControlsectionEquationssection}图1一个差分放大器的原理图在编写模板时,没有上面顺序的限制,可以按任意顺序编写,但有两点需特别注意,在使用一个量之前必须首先定义这个量,你定义的量的位置就决定了它是全局的或是局部的。如果你要在模板中引用文件,你可以在任何地方引用文件,关于文件的引用将在后面作简单介绍。但是为了增加程序的可读性,建议编写模板程序时采用上述顺序。另外,如果要调用程序,如果该文件为全局调用,建议调用句放在he
7、aderdeclarations部分,如果该文件为局部调用,建议放在localdeclarations部分。你的模板可能只有以上的某些部分,至于那些部分是你需要的则是根据你模型的需要。例如,顶层模板就不包括模板头,头定义以及函数体{}。下面将分别介绍在模板中各部分的情况。如下例:c.c2p:vccm:out1=c=normal(5000p,0.2)c.c3p:vccm:out2=c=normal(5000p,0.2)c.c1p:n4m:n6=c=normal(1000p,0.2)r.r1p:out3m:n8=rnom=normal(10k,0.1)r.
8、r4p:n4m:out3=rnom=normal(100k,0.1)r.r3p:vinm:n4
此文档下载收益归作者所有